CMake is a cross-platform, open-source build system generator
https://github.com/Kitware/CMake| Installer Source| Releases (json) (tab)
CMake is a cross-platform, open-source build system generator
https://github.com/Kitware/CMake| Installer Source| Releases (json) (tab)
To update or switch versions, run webi cmake@stable
(or @v2
, @beta
, etc).
These are the files / directories that are created and/or modified with this install:
~/.config/envman/PATH.env
~/.local/bin/cmake
~/.local/opt/cmake
CMake is a cross-platform alternative to autoconf that works on Windows, Mac, and Linux
A project structure looks like this:
my-project/
├── build/
├── CMakeLists.txt
├── hello-world*
└── hello-world.cpp
And can be built my running cmake
from the build
directory:
pushd ./build/
cmake ../
make
Lets create a hello world program in C++ and build it with CMake.
Create a project directory
mkdir ./my-project/
pushd ./my-project/
Create a Hello World C++ file named hello-world.cpp
hello-world.cpp
:
#include <iostream>
int main(int argc, char** argv) {
std::cout << "Hello World!" << std::endl;
return 0;
}
Create a CMakeLists.txt
to compile our code CMakeLists.txt
:
project{hello-world}
cmake_minimum_required(VERSION 3.10)
add_executable(hello-world hello-world.cpp)
Create a build directory and build the binary
mkdir ./build/
pushd ./build/
cmake ../
make
Test the built binary:
./hello-world