我想知道如何为CMake项目添加一个包含目录到系统搜索路径中。特别地,我正在尝试为一些源代码构建CMake项目。这些源代码不是我的,因此我不想修改它们。这些源代码有以下包含指令:
#include <foo/bar.h>
所以我需要将包含foo的目录添加到我的搜索路径中。这是我可以在CMakeLists.txt中设置的吗?
#include <foo/bar.h>
所以我需要将包含foo的目录添加到我的搜索路径中。这是我可以在CMakeLists.txt中设置的吗?
您可以使用 include_directories(..) 设置将用于所有目标的目录,或者使用 target_include_directories
或 set_property
仅向特定目标添加包含目录:
set(foo_INCLUDE_DIRS
${CMAKE_SOURCE_DIR}/foo
${CMAKE_SOURCE_DIR}/whatever)
set_property(TARGET YourTarget PROPERTY INCLUDE_DIRECTORIES ${foo_INCLUDE_DIRS})
target_include_directories(<target> [SYSTEM] [BEFORE <INTERFACE|PUBLIC|PRIVATE> [items1...]
#or
include_directories([AFTER|BEFORE] [SYSTEM] ${foo_INCLUDE_DIRS})