From bb6d3e72d83933d246484275b1ea227db3fbac81 Mon Sep 17 00:00:00 2001 From: Anton Karmanov Date: Mon, 18 Jan 2021 16:07:14 +0500 Subject: [PATCH] cmake: update page Actualise examples and improve description. --- pages/common/cmake.md | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/pages/common/cmake.md b/pages/common/cmake.md index 73d8bc626..372784100 100644 --- a/pages/common/cmake.md +++ b/pages/common/cmake.md @@ -1,13 +1,22 @@ # cmake -> Cross-platform build system generator. -> It generates Makefiles, Visual Studio projects or others, depending on the target system. +> Cross-platform build, testing and packaging automation system. +> CMake uses own syntax inspired by shell and generates recipes for build +> systems like Make, Ninja and Microsoft Visual Studio. > More information: . -- Generate a Makefile and use it to compile a project in the same directory as the source: +- Generate a build recipe in the current directory with CMakeLists.txt from a project directory: -`cmake && make` +`cmake {{path/to/project_dir/}}` -- Generate a Makefile and use it to compile a project in a separate "build" directory (out-of-source build): +- Build with the generated recipe in build_dir (artifacts go to build_dir): -`cmake -H. -B {{build}} && make -C {{build}}` +`cmake --build {{path/to/build_dir/}}` + +- Install the project: + +`cmake --install {{path/to/build_dir/}}` + +- Run a custom build target: + +`cmake --build {{path/to/build_dir/}} --target {{target_name}}`