cmake常用命令

  通常在 CMakeLists.txt 文件中,使用最多的是命令。命令的使用方式有点类似于 C 语言中的函数,因为命令后面需要提供一对括号,并且通常需要参数,多个参数使用空格分隔。命令的语法格式如下所示:

command(参数 1 参数 2 参数 3 ...)

  make 提 供 了 很 多 命 令 ,参考文档为:https://cmake.org/cmake/help/v3.5/manual/cmake-commands.7.html

一、一些基本的命令

  add_executable 可执行程序目标
  add_library 库文件目标
  add_subdirectory 去指定目录中寻找新的 CMakeLists.txt 文件
  aux_source_directory 收集目录中的文件名并赋值给变量
  cmake_minimum_required 设置 cmake 的最低版本号要求
  get_target_property 获取目标的属性
  include_directories 设置所有目标头文件的搜索路径,相当于 gcc 的-I 选项
  link_directories 设置所有目标库文件的搜索路径,相当于 gcc 的-L 选项
  link_libraries 设置所有目标需要链接的库
  list 列表相关的操作
  message 用于打印、输出信息
  project 设置工程名字
  set 设置变量
  set_target_properties 设置目标属性
  target_include_directories 设置指定目标头文件的搜索路径
  target_link_libraries 设置指定目标库文件的搜索路径
  target_sources 设置指定目标所需的源文件

二、基本命令介绍

2.1、add_executable

  add_executable 命令用于添加一个可执行程序目标,并设置目标所需的源文件,譬如:

#生成可执行文件 hello
add_executable(hello 1.c 2.c 3.c)

  定义了一个可执行程序目标 hello,生成该目标文件所需的源文件为 1.c、 2.c 和 3.c。 需要注意的是,源文件路径既可以使用相对路径、也可以使用绝对路径,相对路径被解释为相对于当前源码路径(注意,这里源码指的是 CMakeLists.txt 文件,因为 CMakeLists.txt 被称为 cmake 的源码 )

2.2、add_library

  add_library 命令用于添加一个库文件目标,并设置目标所需的源文件,该命令定义如下所示:

dd_library(<name> [STATIC | SHARED | MODULE]
[EXCLUDE_FROM_ALL]
source1 [source2 ...])

  第一个参数 name 指定目标的名字, 参数 source1…source2 对应源文件列表; add_library 命令默认生成的库文件是静态库文件,通过 SHARED 选项可使其生成动态库文件,具体的使用方法如下:

#生成静态库文件 libmylib.a
add_library(mylib STATIC 1.c 2.c 3.c)
#生成动态库文件 libmylib.so
add_library(mylib SHARED 1.c 2.c 3.c)

2.3、add_subdirectory

  add_subdirectory 命令告诉 cmake 去指定的目录中寻找源码并执行它, 有点像 Makefile 的 include, 其定义如下所示:

add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL])

  参数 source_dir 指定一个目录, 告诉cmake 去该目录下寻找 CMakeLists.txt文件并执行它;参数binary_dir指定了一个路径,该路径作为子源码(调用 add_subdirectory 命令的源码称为当前源码或父源码,被执行的源码称为子源码)的输出文件(cmake 命令所产生的中间文件) 目录, binary_dir 参数是一个可选参数,如果没有显式指定,则会使用一个默认的输出文件目录

2.4、aux_source_directory

  aux_source_directory 命令会查找目录中的所有源文件,其命令定义如下:

aux_source_directory(<dir> <variable>)

  从指定的目录中查找所有源文件,并将扫描到的源文件路径信息存放到变量中

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值