CMake中常用的预定义变量

CMake中常用的预定义变量

在这里插入图片描述
PROJECT_NAME: 通过PROJECT指定的项目名称

project(Demo)

PROJECT_SOURCE_DIR: 工程的根目录,上图中的Demo目录
PROJECT_BINARY_DIR: 执行cmake命令的目录,一般是在build目录,在此目录执行cmake ..
CMAKE_CURRENT_SOURCE_DIR: 当前CMakeLists.txt文件所在目录
CMAKE_CURRENT_BINARY_DIR: 编译目录,可使用ADD_SUBDIRECTORY来修改此变量

# 添加cmake执行子目录
ADD_SUBDIRECTORY(example)

EXECUTABLE_OUTPUT_PATH: 二进制可执行文件输出位置

# 设置可执行文件的输出路径为 build/bin
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)

LIBRARY_OUTPUT_PATH: 库文件输出位置

set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)

常用系统信息变量
CMAKE_MAJOR_VERSION: cmake的主版本号cmake version 3.11.2中的3
CMAKE_MINOR_VERSION: cmake的次版本号cmake version 3.11.2中的11
CMAKE_PATCH_VERSION: cmake的补丁等级cmake version 3.11.2中的2
在这里插入图片描述
CMAKE_SYSTEM: 系统名称,带版本号
CMAKE_SYSTEM_NAME: 系统名称,不带版本号
CMAKE_SYSTEM_VERSION: 系统版本号
CMAKE_SYSTEM_PROCESSOR: 处理器名称

编译选项
BUILD_SHARED_LIBS: 默认的库编译方式(shared or static),默认为static,一般在ADD_LIBRARY时直接指定编译库的类型
CMAKE_C_FLAGS: 设置C编译选项
CMAKE_CXX_FLAGS: 设置C++编译选项

  • CMAKE_CXX_FLAGS_DEBUG: 设置编译类型为Debug时的编译选项
  • CMAKE_CXX_FLAGS_RELEASE: 设置编译类型为Release时的编译选项

CMAKE_CXX_COMPILER: 设置C++编译器

# 设置C++编译器为g++
set(CMAKE_CXX_COMPILER "g++")
# 设置标准库版本为c++17 并开启警告
set(CMAKE_CXX_FLAGS "-std=c++17 -Wall")
# 设置Debug模式下,不开启优化,开启调试,生成更详细的gdb调试信息
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb")
# 设置Release模式下,开启最高级优化
set(CMAKE_CXX_FLAGS_RELEASE "-O3")

猜你喜欢

转载自blog.csdn.net/u012086173/article/details/86480886
今日推荐