https://github.com/x1nto/acmake
A cargo-like tool for managing CMake projects
https://github.com/x1nto/acmake
c cargo cmake cpp cxx project-generation project-generator
Last synced: 7 months ago
JSON representation
A cargo-like tool for managing CMake projects
- Host: GitHub
- URL: https://github.com/x1nto/acmake
- Owner: X1nto
- Created: 2023-03-11T13:06:39.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-03-11T16:57:50.000Z (over 2 years ago)
- Last Synced: 2025-03-27T01:41:08.872Z (7 months ago)
- Topics: c, cargo, cmake, cpp, cxx, project-generation, project-generator
- Language: Rust
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ACMake
Advanced CMake - A command-line tool to manage CMake projects, almost like Rust's cargo!
## Geting started
Install acmake using cargo:
```
cargo install acmake
```### Creating new projects
Create a new CMake C++ binary project:
```
acmake new -l c++ my-new-project
```
This will create the following tree structure:
```
├── my-new-project
│ ├── CMakeLists.txt
│ └── main.cpp
```
If you want to customize the root folder name, pass the `-f` flag:
```
acmake new -l c++ -f our-new-project my-new-project
```
And the output will be:
```
├── our-new-project
│ ├── CMakeLists.txt
│ └── main.cpp
```
Note: the `-f` flag only affects the folder name.
The project name inside CMakeLists is the last argument passed to `acmake`.
In this example, it will be `my-new-project`.### Program parameters
#### Language
The `-l` flag specifies the language.
You can create a C++ project using any of the following language flags: `-l c++`, `-l cpp`, `-l cxx`.
To create a C project, use `-l c`.#### Language standard version
By default, ACMake generates C++17 and C11 projects.
In order to specify the language standard, append a colon to the passed `-l` language, followed by the standard version.
For example, the following command creates a C++23 project:
```
acmake new -l cpp:23 my-new-project
```