我想知道如何将包含目录添加到 CMake 项目的系统搜索路径中。特别是,我有一些我正在尝试为其构建 CMake 项目的资源。
源不是我的,所以我真的不想修改它。
源具有以下包含指令:
#include <foo/bar.h>
所以我需要将包含 foo 的目录添加到我的搜索路径中。这是我可以在 CMakeLists.txt 中设置的吗?
我想知道如何将包含目录添加到 CMake 项目的系统搜索路径中。特别是,我有一些我正在尝试为其构建 CMake 项目的资源。
源不是我的,所以我真的不想修改它。
源具有以下包含指令:
#include <foo/bar.h>
所以我需要将包含 foo 的目录添加到我的搜索路径中。这是我可以在 CMakeLists.txt 中设置的吗?
您可以使用 include_directories(..) 设置将用于所有目标的目录,或者使用 or 仅将包含目录添加到特定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})