Я хочу, чтобы Cmake установил для меня правила установки, которые также автоматически устанавливают конфигурацию и другие вещи. Я посмотрел на this question, но добавив:Установка CMake: установка файлов конфигурации
add_executable(solshare_stats.conf solshare_stats.conf)
в мой файл CMakeLists.txt только дал мне предупреждения и ошибки:
CMake Error: CMake can not determine linker language for target:solshare_stats.conf
CMake Error: Cannot determine link language for target "solshare_stats.conf".
...
make[2]: *** No rule to make target `CMakeFiles/solshare_stats.conf.dir/build'. Stop.
make[1]: *** [CMakeFiles/solshare_stats.conf.dir/all] Error 2
make: *** [all] Error 2
Как добавить конфигурации, инициализации и/или логах для CMake установить правила?
Вот мой полный CMakeLists.txt файл:
project(solshare_stats)
cmake_minimum_required(VERSION 2.8)
aux_source_directory(. SRC_LIST)
add_executable(${PROJECT_NAME} ${SRC_LIST})
add_executable(solshare_stats.conf solshare_stats.conf)
target_link_libraries(solshare_stats mysqlcppconn)
target_link_libraries(solshare_stats wiringPi)
if(UNIX)
if(CMAKE_COMPILER_IS_GNUCXX)
SET(CMAKE_EXE_LINKER_FLAGS "-s")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall -std=c++0x")
endif()
install(TARGETS solshare_stats DESTINATION /usr/bin COMPONENT binaries)
install(TARGETS solshare_stats.conf DESTINATION /etc/solshare_stats COMPONENT config)
endif()
И что я должен изменить на вызовы install() для этого? Потому что с текущими командами install() я получаю эту ошибку: 'install TARGETS заданную цель" solshare_stats.conf ", которая не существует в этом каталоге.' – Cheiron
Извините - я просто добавлю это! – Fraser
Готово. Кстати, обычно принято относительный путь как аргумент «DESTINATION», так что соблюдается 'CMAKE_INSTALL_PREFIX'. – Fraser