Skip to content

A C/C++ project configuration tool which abstracts over CMake

Notifications You must be signed in to change notification settings

scupit/gcmake-rust

Repository files navigation

gcmake-rust

gcmake-rust is a C/C++ project configuration tool which acts as an abstraction layer over CMake.

Example GIF

Documentation

Documentation is found in docs/Docs_Home.md.

About

This project uses CPM.cmake v0.38.7 for dependency management.

Among other things, this tool is able to:

  • Generate full CMake configurations for an entire project tree.
  • Generate new C/C++ projects, subprojects, and test projects.
  • Generate header, source, and template-impl files in-tree.

Project Overview

The project overview is part of the documentation, and is found in docs/overview.md.

Build Requirements

Usage Requirements

  • Git 1.6.5 or higher must be installed on the system
  • CMake 3.25 or higher

Installation

For common use cases, see the project overview docs page.

  1. Clone the repository: git clone --recurse-submodules [email protected]:scupit/gcmake-rust.git
  2. cd into the cloned repository.
  3. Switch to the desired branch or release tag: git checkout v1.6.8.
  4. Run cargo install --path . to create an optimized build and install the resulting gcmake-rust executable to $HOME/.cargo/bin (or %USERPROFILE%\.cargo\bin on Windows).
  5. Optionally, alias gcmake-rust to just gcmake.
  6. Run the executable: gcmake-rust dep-config update to install the external dependency compatibility configuration repository

The tool is now fully installed and ready to go.

To get started, try creating a new project with gcmake-rust new root-project 'your-project-name'. After stepping through the initializer, you will have a fully functioning CMake-compatible project.

Getting Started

After building and installing GCMake, step through the project initializer with gcmake-rust new root-project 'your-project-name'. Once it finishes, you'll have a fully working, fully CMake compatible project.

After making any change to cmake_data.yaml in your project, run gcmake-rust to regenerate the CMakeLists.txt and Config.cmake.in files and re-run all validation checks.

GCMake Repository Links

About

A C/C++ project configuration tool which abstracts over CMake

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages