一. 简介
前面几篇文章学习了CMakeLists.txt语法中前面几篇文章学习了CMakeLists.txt语法中部分常用命令。文章如下:
CMakeLists.txt语法规则:部分常用命令说明一-CSDN博客
CMakeLists.txt语法规则:部分常用命令说明二-CSDN博客
CMakeLists.txt语法规则:部分常用命令说明三-CSDN博客
本文继续学习 CMakeLists.txt语法中部分常用命令。
二. CMakeLists.txt语法规则:部分常用命令
1. target_include_directories命令 和 target_link_libraries命令
target_include_directories
命令为指定目标设置头文件搜索路径。
target_link_libraries
命令为指定目标设置链接库文件。
这听起来跟
include_directories
和
link_libraries
命令有着相同的作用,确实如此,它们的
功能的确相同,但是在一些细节方面却有不同。
target_include_directories
和
target_link_libraries
命令定义如下所示:
target_include_directories(<target> [SYSTEM] [BEFORE]
<INTERFACE|PUBLIC|PRIVATE> [items1...]
[<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
target_link_libraries(<target>
<PRIVATE|PUBLIC|INTERFACE> <item>...
[<PRIVATE|PUBLIC|INTERFACE> <item>...]...)
这俩命令都有一个相同的参数
<target>
目标,这个目标指的就是譬如
add_executable
、
add_library
命令所创建的目标。
首 先 对 于
target_include_directories
命 令 来 说 ,
SYSTEM
、
BEFORE
这 两 个 选 项 与
include_directories
命令中
SYSTEM
、
BEFORE
选项的意义相同。
2. message 命令
message 命令用于打印、输出信息,类似于 Linux 的 echo 命令,命令定义如下所示:
message([<mode>] "message to display" ...)
可选的 mode 关键字用于确定消息的类型,如下:
mode | 说明 |
none
(无)
| 重要信息、普通信息 |
STATUS
| 附带信息 |
WARNING
| CMake 警告,继续处理 |
AUTHOR_WARNING
| CMake 警告(开发),继续处理 |
SEND_ERROR
| CMake 错误,继续处理,但跳过生成 |
FATAL_ERROR
| CMake 错误,停止处理和生成 |
DEPRECATION
|
如 果 变 量CMAKE_ERROR_DEPRECATED
或
CMAKE_WARN_DEPRECATED
分别启用,则
CMake
弃用错
误或警告,否则没有消息。
|
所以可以使用这个命令作为
CMakeLists.txt
源码中的输出打印语句,譬如:
# 打印"Hello World"
message("Hello World!")