CMake入门实践之语法(2)

续文章 CMake入门实践之语法(1)

8. 变量 EXECUTABLE_OUTPUT_PATH, LIBRARY_OUTPUT_PATH

EXECUTABLE_OUTPUT_PATH 为生成可执行文件路径, LIBRARY_OUTPUT_PATH为生成库文件路径。我们可以通过 SET 指令对其进行设置最终目标二进制的位置,即最终生成的工程可执行文件与最终的共享库,而不会包含生成的中间文件。

命令如下:

SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)

9. LINK_DIRECTORIES

格式:

LINK_DIRECTORIES(directory1 directory2 ...)
# 该指令用于添加外部库的搜索路径

10. TARGET_LINK_LIBARRIES

格式:

TARGET_LINK_LIBRARIES(target library1 <debug | optimized> library2 ..)

# target:目标文件
# library1, ... , library N :链接外部库文件
# 指定链接目标文件时需要 链接的外部库,效果类似 gcc 编译参数 -L ,解决外部库依赖的问题。

11. MESSAGE

向终端输出用户定义的信息和变量值,格式:

MESSAGE([SEND_ERROR | STATUS | FATAL_ERROR] “message to display” …)

# SEND_ERROR : 产生错误,生成过程被跳过
# STATUS : 输出前缀为 - 的信息
# FATAL_ERROR : 立即终止所有 cmake 过程

12. SET_TARGET_PROPERTIES

设置目标的某些属性,改变它们的构建方式。格式:

SET_TARGET_PROPERTIES(target1 target2 ...
            PROPERTIES prop1 value1 prop2 value2 ...)

该指令为一个目标设置属性,语法是列出所有用户想要变更的文件,然后提供想要设置的值。用户可以使用任何想用的属性与对应的值,并在随后的代码中调用 GET_TARGET_PROPERTY 命令取出属性的值。

影响目标输出文件按的属性 PROPERTY 详述如下:

-- PREFIX, SUFFIX :PREFIX 覆盖了默认的目标名前缀(如lib); SUFFIX 覆盖了默认的目标名后缀(如 .so)。

-- IMPORT_PREFIX,IMPORT_SUFFIX:与 PREFIX, SUFFIX是等价的属性,但针对的是 DL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值