Пожалуйста, обратите внимание на следующую структуру:CMake сгенерированный файл проекта в список внешнего источника
dev_root/
\__ common/
\__ inc/
\__ src/
\__ CMakeLists.txt
\__ project1/
\__ inc/
\__ src/
\__ CMakeLists.txt
\__ project2/
\__ inc/
\__ src/
\__ CMakeLists.txt
Project1 и Проект2 отделенные проекты. Они оба используют общий код. Я хочу перечислить (выборочно) некоторые общие исходные файлы в файл проекта визуальной студии каждого проекта, чтобы я мог редактировать их в среде IDE.
Мне не нужна отдельная библиотека для общего кода.
Сейчас я использовать относительные пути, например, в файле Cmake project1 в:
set(_hdr
inc/proj1.h
../common/inc/common1.h
)
set(_src
src/proj1.cxx
../common/src/common1a.cxx
../common/src/common1b.cxx
)
source_group("common\\inc" FILES
../common/inc/common1.h
)
source_group("common\\src" FILES
../common/src/common1a.cxx
../common/src/common1b.cxx
)
source_group("inc" FILES inc/proj1.h)
source_group("src" FILES src/proj1.cxx)
add_executable(project1 ${_src} ${_hdr})
Это не является гибким - если когда-нибудь я хочу, чтобы переместить папки вокруг, все CMakeLists.txt должны быть пересмотрены и изменены. Есть ли более элегантный способ де-пары зависимостей, или что является лучшим способом борьбы с общими исходными файлами?
Любые предложения приветствуются. Большое спасибо.