【cmake】和 target_include_directories


include_directories

给源文件添加头文件搜索路径:将指定目录添加到编译器的头文件搜索路径之下,指定的目录被解释成当前源码路径的相对路径。

1. include_directories:当前CMakeList.txt中的所有目标以及所有在其调用点之后添加的子目录中的所有目标将具有此头文件搜索路径

2. target_include_directories:指定目标包含的头文件路径。

include_directories 语法

include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 …])

 例句:

include_directories(/usr1/dirs)

 target_include_directories 语法

target_include_directories( [SYSTEM] [AFTER|BEFORE]  [items1…])

 例句:

target_include_directories(target_so PUBLIC /usr1/dirs)

 

2.3、使用依据:
INTERFACE:target对应的头文件使用
PRIVATE:target对应的源文件使用
PUBLIC:target对应的头文件、源文件都使用

参考资料

1. include_directories和target_include_directories