文章目录
参考教程
cmake官网:https://cmake.org/cmake/help/latest/index.html
一些实践例子: https://cliutils.gitlab.io/modern-cmake/
中文版cmake教程,翻译的CMake Cookbook:https://www.bookstack.cn/read/CMake-Cookbook/README.md
cmake指定用 MinGW 编译
第一种写法:
cmake.exe -G "MinGW Makefiles" ..
第二种:用下面命令可以编译,俺也不知道 CMAKE_SH 干嘛用的。
cmake -G "MinGW Makefiles" -DCMAKE_SH="CMAKE_SH-NOTFOUND" .
cmake指定gcc和g++
设置两个环境变量的值就行
SET(CMAKE_C_COMPILER "C:\\msys64\\mingw64\\bin\\gcc.exe")
SET(CMAKE_CXX_COMPILER "C:\\msys64\\mingw64\\bin\\g++.exe")
linux指定g++,gcc
export CC=路径
export CXX=路径
cmake ..
构建和运行:
构建:cmake .
编译/链接 cmake --build .
指定构建目:
cd build //转到构建目录
cmake .. //执行构建,是.. , 别写成 cmake ../ ,这是错的
安装
安装目录指定:
注意后面有两点 …
cmake -DCMAKE_INSTALL_PREFIX=<你想要安装的路径> ..
cmake -DCMAKE_INSTALL_PREFIX=D:\Download\zlib\zlib-1.2.11\build\ins ..
cmake 中.h.in文件的作用
需求:将一部分说明文档以txt的方式放在项目目录中,可以在编译出的可执行文件中查看。
cmake实现步骤:
- .h中添加 #define README_TXT @README_CONTENT@
- 将.h rename为.h.in
- 在cmakelists.txt中用file read读到变量README_CONTENT中
- 使用configure_file将.h.in configure.h