CMake基础命令

发布时间 2023-08-31 17:28:45作者: IPlayGenji6

基础命令

文档

  • 设置CMake的最低版本要求
cmake_minimum_required(VERSION <min>[...<policy_max>] [FATAL_ERROR])

cmake_minimum_required(VERSION 3.15)

  • 设置项目名称
project(<PROJECT-NAME> [<language-name>...])

设置后,项目名称存储在变量PROJECT_NAME中。当从顶层调用时, CMakeLists.txt还会将项目名称存储在CMAKE_PROJECT_NAME变量中,并且还会设置变量:

PROJECT_SOURCE_DIR, <PROJECT-NAME>_SOURCE_DIR
项目源目录的绝对路径。

PROJECT_BINARY_DIR, <PROJECT-NAME>_BINARY_DIR
项目二进制目录的绝对路径。

PROJECT_IS_TOP_LEVEL, <PROJECT-NAME>_IS_TOP_LEVEL
项目是否顶级的布尔值

project(<PROJECT-NAME>
        [VERSION <major>[.<minor>[.<patch>[.<tweak>]]]]
        [DESCRIPTION <project-description-string>]
        [HOMEPAGE_URL <url-string>]
        [LANGUAGES <language-name>...])

选项说明参考官网

project(MyProject
        VERSION 1.0.0
        DESCRIPTION "A CMake Example Project"
        HOMEPAGE_URL "https://www.example.com/myproject"
        LANGUAGES CXX)
  • 使用指定的源文件将可执行文件添加到项目中
add_executable(<name> [WIN32] [MACOSX_BUNDLE]
               [EXCLUDE_FROM_ALL]
               [source1] [source2 ...])

add_executable(Tutorial tutorial.cpp)

添加库

add_library()

  • 添加普通库,构建 lib<name>.a<name>.lib
add_library(<name> [STATIC | SHARED | MODULE]
            [EXCLUDE_FROM_ALL]
            [<source>...])
  • 添加接口库
add_library(<name> INTERFACE)

生成器表达式

文档:生成器表达式

安装和测试

文档:安装和测试