У меня есть проект с несколькими подкаталогами, который генерирует несколько исполняемых файлов:
./CMakeLists.txt
./subproject_1/
./subproject_1/CMakeLists.txt
./subproject_2/
./subproject_2/CMakeLists.txt
...
./subproject_N
./subproject_N/CMakeLists.txt
В настоящее время CMakeLists.txt верхнего уровня устанавливает EXECUTABLE_OUTPUT_PATH
в software_project/build/bin
вДомашний каталог пользователя.
Теперь я хотел бы установить исполняемое содержимое в настоящее время в build/bin/
- /opt/
через $ sudo make install
. Точно так же у меня есть файлы конфигурации по умолчанию, которые я хотел бы развернуть в /etc/
.
Я пытался использовать install(TARGETS...
, но CMakeLists верхнего уровня ничего не знает о целях подпроекта (через add_subdirectory
). install(DIRECTORY...
просто копирует все файлы, а не исполняемые файлы