CMake系统包括搜索路径

bki*_*man 4 cmake

我想知道如何将一个包含目录添加到CMake项目的系统搜索路径中.特别是,我有一些消息来源,我正在尝试为其构建一个CMake项目.

来源不是我的,所以我真的不想修改它.

源具有以下include指令:

#include <foo/bar.h>
Run Code Online (Sandbox Code Playgroud)

所以我需要将包含foo的目录添加到我的搜索路径中.这是我可以在CMakeLists.txt中设置的吗?

use*_*078 10

你可以使用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})
Run Code Online (Sandbox Code Playgroud)