CMake系列讲解(入门篇)1.4 基础命令CMake-add_executable()


基础命令add_executable()

〓〓〓〓〓〓〓〓踏实学CMake总目录〓〓〓〓〓〓〓〓〓〓


4. add_executable

使用指定的源文件创建出一个可执行文件

4.1 普通可执行文件

4.1.1 命令形式(普通)

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

添加一个可执行文件目标,此目标:

  1. 由source列出的文件构建而来
  2. 名字为name

4.1.2 命令参数(普通)

  • name:生成可执行文件的名字,必须在工程内全局唯一
  • WIN32:有此参数时,WIN32_EXECUTABLE属性会被置为true,此时在windows环境下创建的可执行文件将以WinMain函数代替main函数作为程序入口,构建而成的可执行文件为GUI应用程序而不是控制台应用程序
  • MACOSX_BUNDLE: 有此参数时,MACOSX_BUNDLE属性会被置为true,此时在macOS或者iOS上构建可执行文件目标时,目标会成为一个从Finder启动的GUI可执行程序
  • EXCLUDE_FROM_ALL:有此参数时,此目标就会被排除在all target列表之外,即在执行默认的make时,不会构造此目标,需要构造此目标的时候,需要手动构建,如:
add_executable(test EXCLUDE_FROM_ALL test.cpp)
// test加了EXCLUDE_FROM_ALL属性,在默认编译的时候,
//不会被编译,如果要编译它,需要手动编译, 
//比如make test指定编译名为test
make test
  • 可以使用target_sources()继续为构建可执行文件目标添加源文件,但是target_sources()指令必须在add_executableadd_library之后调用。

4.1.3 示例程序(普通)

# 设置最低Cmake版本要求
cmake_minimum_required(VERSION 3.5)
# 制定项目名
project(hello_cmake)
# 生成可执行文件
add_executable(hello_cmake main.cpp)

4.2 导入的可执行文件

将工程外部的可执行目标文件导入进来,不会有任何构建可执行目标文件的动作发生

4.2.1 命令形式(导入)

add_executable(<name> IMPORTED [GLOBAL])

4.2.2 命令参数(导入)

  • name:导入可执行文件目标的名字
  • IMPORTED:导入的目标文件需指定IMPORTED属性,IMPORTED属性指定后,目标文件的属性IMPORTED被置为true,在工程内构建生成的可执行文件的IMPORTED属性会被置为false

4.3 别名可执行文件

为目标文件取一个别名,以便后续继续使用。

4.3.1 命令形式

add_executable(<name> ALIAS <target>)

为目标创建别名之后,可以使用别名读取目标的属性,但不能修改目标属性。


附:返回总目录的传送门如下:

〓〓〓〓〓〓〓〓踏实学CMake总目录〓〓〓〓〓〓〓〓〓〓

  • 0
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在下马农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值