一、CMakeLists.txt 文件示例

# 设置CMake版本最低要求
cmake_minimum_required(VERSION 3.10)

# 设置项目名称和版本
project(Tutorial VERSION 1.0)

# 添加源码文件和生成的目标文件的名称
add_executable(Tutorial main.cpp)

二、CMake 相关命令

  1. cmake .. 含有 CMakeLists.txt 文件的路径,根据 CMakeLists.txt 文件构建对应的工程;

  2. cmake .. -DUSE_MYMATH=OFFCMake 编译选项 USE_MYMATH 设置为关闭状态,并构建工程

  3. cmake .. -DCMAKE_BUILD_TYPE=ReleaseLinux中设定 Release 版本,可设置的类型有 Debug、MinSizeRel、Release、RelWithDebInfo

  4. 指定编译工具为 MSVC(不同的 CMake 版本,命令写法不同):

    cmake -G "Visual Studio 14 2015 Win64"
    cmake -G "Visual Studio 16 2019" -A x64
    cmake -G "Visual Studio 16 2019" -A Win32
    
  5. Windows 中使用 MinGW

    cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_SYSROOT=D:/msys64/ucrt64/bin ..
    cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..
    cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug ..
    
  6. cmake --install . --prefix "E:/VSCode-Projects/CMake/Install" 指定安装路径,在 Windows 中,如果不指定 --prefix 参数,64位默认会安装到 C:\Program Files

  7. cpack --config CPackSourceConfig.cmake:创建完整源代码树和 build 的压缩包

Windows

  1. cmake --build . 在当前目录编译成二进制文件,默认是 Debug
  2. cmake --build . --config Release 编译 Release
  3. ctest -C Release -VV 参数 -VV 输出详细信息,可不加。对于多配置生成器(例如Visual Studio),配置类型必须用 -C <mode> 标志来指定
  4. cpack -G ZIP -C Debug:要指定生成器,请使用 -G 选项。对于多配置构建,使用 -C 来指定配置
  5. ctest [-VV] -C Debug -D Experimental:向仪表板提交测试结果

Linux

  1. make 进行编译
  2. ctest -Nctest -VV 测试
  3. cpack
  4. ctest [-VV] -D Experimental:向仪表板提交测试结果