一. 简介
前面几篇文章学习了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!")