target_include_directories([SYSTEM][BEFORE])

target_include_directories([SYSTEM][BEFORE][items1...]  [[items2...]...]>)
作用:
编译给定目标文件时,指定要包含的文件(一般为头文件)以及目标文件所在目录路径。
参数
1. target目标文件必须已经存在(由命令add_executable()或add_library()所创建),并且不能被IMPORTED修饰。
2.若使用BEFORE,则它修饰的内容会被添加到属性前面。
3.关键字INTERFACE,PUBLIC和PRIVATE指定它后面参数的作用域。 PRIVATE和PUBLIC项会填充targe目标文件的INCLUDE_DIRECTORIES属性。PUBLIC和INTERFACE项会填充target目标文件的INTERFACE_INCLUDE_DIRECTORIES属性。随后的参数指定包含目录。

指定的包含目录可能是绝对路径也可能是相对路径。对同一个target目标文件的重复调用会按命令的调用顺序进行。如果指定标志为SYSTEM,则是告诉编译器在一些平台上该目录表示系统包含目录(表示这个设置可能取得效果比如跳过警告,或者这些固定的安装系统文件在依赖计算中不被考虑-参考编译文档)。如果SYSTEM和PUBLIC和INTERFACE同时使用,则目标文件属性INTERFACE_SYSTEM_INCLUDE_DIRECTORIES会被填充到指定目录。

你可能感兴趣的:(CMAKE)