使用cmake为每个可执行文件配置include目录

BAK*_*BAK 1 cmake

我用cmake开始了一个项目,由两个可执行文件组成.两个可执行文件使用了大量代码.

现在,我需要为每个可执行文件配置不同的包含目录.如果我使用include_directories它,它为所有可执行文件添加我的目录.

可以为可执行文件独立配置include目录吗?

这是我的目录:

.
??? CMakeCache.txt
??? CMakeFiles
?   [...]
??? cmake_install.cmake
??? CMakeLists.txt
??? includes
?   ??? client
?   ?   ??? main.hpp
?   ??? server
?   ?   ??? main.hpp
?   ??? shared
??? Makefile
??? sources
    ??? client
    ?   ??? main.cpp
    ??? shared
    ?   ??? lib.cpp
    ??? server
        ??? main.cpp
Run Code Online (Sandbox Code Playgroud)

arr*_*owd 5

您应该为他们的dirs(sources\client\CMakeLists.txtsources\server\CMakeLists.txt)中的两个可执行文件创建CMakeLists.txt .在那里你可以include_directories(),这不会干扰其他目标.

不要忘记add_subdirectory()在你的根CMakeLists.txt中做.