常见CMake预定义变量

写在之前

CMake预定义变量可以在外部用户空间通过传参指定: cmake .. -DCMAKE_CXX_STANDARD=17 外部传参必须加上 -D 开头

亦可以通过在CMakeLists.txt中设定变量:SET(CMAKE_CXX_STANDARD 17)

编译器相关变量

  • CMAKE_C_COMPILER: C编译器的路径。

  • CMAKE_CXX_COMPILER: C++编译器的路径。

  • CMAKE_C_FLAGS: C编译器的编译选项。

  • CMAKE_CXX_FLAGS: C++编译器的编译选项。

  • CMAKE_BUILD_TYPE: 构建类型(如DebugReleaseRelWithDebInfoMinSizeRel)。

  • CMAKE_CXX_STANDARD : (常用)指定使用C++版本

安装相关变量

  • CMAKE_INSTALL_PREFIX: (常用)安装路径的前缀(默认通常是/usr/local

  • CMAKE_INSTALL_BINDIR: 可执行文件的安装目录。

  • CMAKE_INSTALL_LIBDIR: 库文件的安装目录。

  • CMAKE_INSTALL_INCLUDEDIR: 头文件的安装目录

注意问题

  • 在使用CMake编译链接现成的库时,注意编译库文件时的CXX版本必须和当前程序使用统一版本的CXX,否则极易会出现找不到函数等链接错误

山和山不相遇,人与人要相逢