CMake проектная организация

У меня есть разные проекты (исполняемые файлы и библиотеки), которые используют одни и те же внутренние библиотеки. Каждый проект и внутренняя папка библиотеки расположены в одной базовой папке.

Допустим, у меня есть инструмент оболочки с именем shelltool1 а также shelltool2 это использование lib1, Они расположены в

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

Собрать ли исполняемый файл / библиотеку в соответствующих папках и связать их в CMakeLists.txt внутри / path / to / 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

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …