Size: 993
Comment:
|
Size: 1150
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
'''`cmake(1)`''' is a build system generator. It is used alongside/over build systems including [[Make|make(1)]] and [[Ninja|ninja(1)]]. |
|
Line 11: | Line 13: |
Most operating systems offer a `cmake` package. | All [[Linux]] and [[BSD]] distributions offer a `cmake` package. |
CMake
cmake(1) is a build system generator. It is used alongside/over build systems including make(1) and ninja(1).
Contents
Installation
All Linux and BSD distributions offer a cmake package.
Usage
Using a CMakeLists File
The CMakeLists.txt file defines targets to be built.
First, create a build folder to run cmake(1) within. A large number of cache, header, and build files will be created. Generally the build folder is used for this.
Second, try:
cmake ..
If there are multiple targets, there may be additional arguments required.
Finally, run the generated build pipeline. For Linux this will typically be a Make.
Options
It is common to see the -DCMAKE_BUILD_TYPE=Release option in use. This can have unintended consequences on the compilation step. Operating systems such as Arch Linux prescribe specific C and C+ build flags that will be overridden by this option.