У меня есть разные проекты (исполняемые файлы и библиотеки), которые используют одни и те же внутренние библиотеки. Каждый проект и внутренняя папка библиотеки расположены в одной базовой папке.
Допустим, у меня есть инструмент оболочки с именем 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})
Это разумно, или у меня будут проблемы?
Задача ещё не решена.
Других решений пока нет …