CMake常用变量和命令(待补充)

预定义变量

  • PROJECT_NAME:通过project()指定的项目名称

  • PROJECT_SOURCE_DIR:工程的目录

  • PROJECT_BINARY_DIR执行cmake命令的目录

  • CMAKE_CURRENT_SOURCE_DIR: 当前 CMakeLists.txt 文件所在目录

  • CMAKE_CURRENT_BINARY_DIR : 编译目录,可使用 add_subdirectory 来修改

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

  • LIBRARY_OUTPUT_PATH : 文件输出位置

  • BUILD_SHARED_LIBS : 默认的库编译方式 ( sharedstatic ) ,默认为 static

  • CMAKE_C_FLAGS : 设置 C 编译器

  • CMAKE_CXX_FLAGS : 设置 C++ 编译器

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

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

  • CMAKE_GENERATOR : 编译器名称

  • CMAKE_COMMAND : CMake 可执行文件本身的全路径

  • CMAKE_BUILD_TYPE : 工程编译生成的版本, Debug / Release

命令

设置项目名称 project

project(name)

name: 项目名

note:命令执行完将 预定义变量 PROJECT_NAME 设置为 name

设置变量(包括 预定义变量set

set(<variable> <value>... [PARENT_SCOPE]) #设置普通变量
 
set(<variable> <value>... CACHE <type> <docstring> [FORCE]) #设置缓存条目
 
set(ENV{<variable>} [<value>]) #设置环境变量

添加目录 add_subdirectory

add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL])

source_dir:拥有CMakeLists.txt的子目录

命令执行将会跳到子目录执行里层CMakeLists.txt

设置生成程序 add_executable

add_executable(<name> [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] [source1] [source2 ...])

name可执行程序名
[WIN32]程序运行的平台
source构建程序的源文件

生成链接库 add_library

add_library(<name> [STATIC | SHARED | MODULE] [EXCLUDE_FROM_ALL] [<source>...])

name库名
[STATIC | SHARED | MODULE]生成库的类型
source构建库的源文件

posted @ 2023-03-16 16:36  _神奇海螺  阅读(90)  评论(0编辑  收藏  举报