CMake项目组织

时间:2018-05-14 12:24:59

标签: c++ cmake build-tools

我有不同的项目(可执行文件和库)使用相同的内部库。每个项目和内部库文件夹都位于同一个基本文件夹中。

假设我有一个名为shelltool1shelltool2的shell工具使用lib1。它们位于

/path/to/base/shelltool1
/path/to/base/shelltool2
/path/to/base/lib1

我是否在相应的文件夹中构建可执行文件/库,并将它们链接到/ path / to / base中的CMakeLists.txt?

所以我的想法是

base:CMakeLists.txt

add_subdirectory(shelltool1)
add_subdirectory(shelltool2)
add_subdirectory(lib1)

target_link_libraries(shelltool1 lib1)
target_link_libraries(shelltool2 lib1)

shelltool1:CMakeLists.txt

add_executable(shelltool1 ${SRC})

shelltool2:CMakeLists.txt

add_executable(shelltool2 ${SRC})

lib1:CMakeLists.txt

add_library(lib1 ${SRC})

这是明智的,还是会遇到麻烦?

0 个答案:

没有答案