Cmake 常用命令列表
Cmake 常用命令列表

Cmake 常用命令列表

  • PROJECT
    PROJECT(projectname [CXX] [C] [Java])
    指定工程名称,并可指定工程支持的语言。支持语言列表可忽略,默认支持所有语言
  • SET
    SET(VAR [VALUE] [CACHE TYPE DOCSTRING [FORCE]])
    定义变量(可以定义多个VALUE,如SET(SRC_LIST main.c util.c reactor.c))
  • MESSAGE
    MESSAGE([SEND_ERROR | STATUS | FATAL_ERROR] “message to display” …)
    向终端输出用户定义的信息或变量的值
    SEND_ERROR, 产生错误,生成过程被跳过
    STATUS, 输出前缀为—的信息
    FATAL_ERROR, 立即终止所有cmake过程
  • ADD_EXECUTABLE
    ADD_EXECUTABLE(bin_file_name ${SRC_LIST})
    生成可执行文件
  • ADD_LIBRARY
    ADD_LIBRARY(libname [SHARED | STATIC | MODULE] [EXCLUDE_FROM_ALL] SRC_LIST)
    生成动态库或静态库
    SHARED 动态库
    STATIC 静态库
    MODULE 在使用dyld的系统有效,若不支持dyld,等同于SHARED
    EXCLUDE_FROM_ALL 表示该库不会被默认构建
  • SET_TARGET_PROPERTIES
    设置输出的名称,设置动态库的版本和API版本
  • CMAKE_MINIMUM_REQUIRED
    CMAKE_MINIMUM_REQUIRED(VERSION version_number [FATAL_ERROR])
    声明CMake的版本要求
  • ADD_SUBDIRECTORY
    ADD_SUBDIRECTORY(src_dir [binary_dir] [EXCLUDE_FROM_ALL])
    向当前工程添加存放源文件的子目录,并可以指定中间二进制和目标二进制的存放位置
    EXCLUDE_FROM_ALL含义:将这个目录从编译过程中排除
  • SUBDIRS
    deprecated,不再推荐使用
    (hello sample)相当于分别写ADD_SUBDIRECTORY(hello),ADD_SUBDIRECTORY(sample)
  • INCLUDE_DIRECTORIES
    INCLUDE_DIRECTORIES([AFTER | BEFORE] [SYSTEM] dir1 dir2 … )
    向工程添加多个特定的头文件搜索路径,路径之间用空格分隔,如果路径包含空格,可以使用双引号将它括起来,默认的行为为追加到当前头文件搜索路径的后面。有如下两种方式可以控制搜索路径添加的位置:
    • CMAKE_INCLUDE_DIRECTORIES_BEFORE,通过SET这个cmake变量为on,可以将添加的头文件搜索路径放在已有路径的前面
    • 通过AFTER或BEFORE参数,也可以控制是追加还是置前
  • LINK_DIRECTORIES
    LINK_DIRECTORIES(dir1 dir2 …)
    添加非标准的共享库搜索路径
  • TARGET_LINK_LIBRARIES
    TARGET_LINK_LIBRARIES(target lib1 lib2 …)
    为target添加需要链接的共享库
  • ADD_DEFINITIONS
    向C/C++编译器添加-D定义
    ADD_DEFINITIONS(-DENABLE_DEBUG -DABC),参数之间用空格分隔
  • ADD_DEPENDENCIES
    ADD_DEPENDENCIES(target-name depend-target1 depend-target2 …)
    定义target依赖的其他target,确保target在构建之前,其依赖的target已经构建完毕
  • AUX_SOURCE_DIRECTORY
    AUX_SOURCE_DIRECTORY(dir VAR)
    发现一个目录下所有的源代码文件并将列表存储在一个变量中
    把当前目录下的所有源码文件名赋给变量DIR_HELLO_SRCS
  • EXEC_PROGRAM
    EXEC_PROGRAM(Executable [dir where to run] [ARGS <args>][OUTPUT_VARIABLE <var>] [RETURN_VALUE <value>])
    用于在指定目录运行某个程序(默认为当前CMakeLists.txt所在目录),通过ARGS添加参数,通过OUTPUT_VARIABLE和RETURN_VALUE获取输出和返回值,如下示例

搬运链接: https://blog.csdn.net/QTVLC/article/details/82380413

发表评论

您的电子邮箱地址不会被公开。