CMake:从子目录(又名库)中将目录包含到父目录中

CMake: include a directory into parent from within a subdirectory (aka library)

我有一个具有这种结构的小项目:

myproject/
    mylib/
        include/
        src/
    myprog/
        include/
        src/

我在 myproject 中添加了一个 CmakeLists.txt 文件并添加了子目录 mylibmyprog。子目录也有一个 CMakeLists。现在,当我 运行 cmake 时,两个模块都正确构建,除非我想在我的程序中使用 mylib。我找到了全局 CmakeLists 定义 include_directories 的解决方案。但我更愿意在 mylib 中定义它,以便将 mylib/include 添加到项目的包含路径中。我想要一个子模块项目,其中每个子模块定义它的来源和包含,并且项目的 CMakeLists 只将模块连接在一起。我怎样才能做到这一点?这是我试图达到的目标吗? (cmake 新手)

你想要target_include_directories。参见 http://www.cmake.org/cmake/help/v3.0/manual/cmake-buildsystem.7.html