# Notice name prefix of this variable, set by CMake according
# to value given with "project()" in the root CMakeLists.txt.
include_directories(${MyProject_SOURCE_DIR}/LibProject/inc)
add_library(LibProject test.cpp)
MainProject/src/CMakeLists.txt的内容:
include_directories(${MyProject_SOURCE_DIR}/MainProject/inc)
# I assume you want to use LibProject as a library in MainProject.
include_directories(${MyProject_SOURCE_DIR}/LibProject/inc)
link_directories(${MyProject_SOURCE_DIR}/LibProject/src)
add_executable(MainProject main.cpp)
target_link_libraries(MainProject LibProject)
然后使用以下配置和构建:
$ cd root
$ mkdir build
$ cd build
$ cmake ..
$ make
3条答案
按热度按时间ajsxfq5m1#
每个源目录都需要一个
CMakeLists.txt
。你的结构应该看起来像这样:root/CMakeLists.txt
的内容:LibProject/CMakeLists.txt
和MainProject/CMakeLists.txt
的含量:LibProject/src/CMakeLists.txt
的内容:MainProject/src/CMakeLists.txt
的内容:然后使用以下配置和构建:
ua4mk5z42#
你可以通过以下方式来做到这一点:
weylhg0b3#
在我的例子中,我想用一个单个CMakeList来做。对我很有效。我添加我的解决方案,以防它适用于任何人。
这就是我在我的案例中所做的:
我的CMakeLists.txt有主要部分:
^允许.cpp文件在include文件夹中添加头文件。
^只要添加这些文件夹中的任何内容即可。
^从所有源列表中构建目标
PS:如果你想看到完整的CMakeLists.txt去项目链接NEGU93/ForbiddenDesert .