Что такое cmake_install.cmake
Я написал очень простую программу HelloWorld.c и запустил Cmake. Он создал файл cmake_install.cmake
в моем каталоге сборки. Может кто-нибудь объяснить мне, почему CMake сгенерировал файл cmake_install.cmake? Что это за цель и как я могу ее использовать?
CMakelists.txt:
cmake_minimum_required(VERSION 3.0)
PROJECT(FirstExample)
add_executable(prog first.c)
Спасибо!
Ответы
Ответ 1
Вы не используете cmake_install.cmake напрямую. Он содержит инструкции, которые cmake использует для установки вашей программы.
С вашим текущим CMakeLists.txt сгенерированный файл мало что делает. Чтобы создать полезную установку, вам нужно добавить больше команд INSTALL
в ваш CMakeLists.txt
используя синтаксис ниже.
INSTALL(TARGETS targets... [EXPORT <export-name>]
[[ARCHIVE|LIBRARY|RUNTIME|FRAMEWORK|BUNDLE|
PRIVATE_HEADER|PUBLIC_HEADER|RESOURCE]
[DESTINATION <dir>]
[INCLUDES DESTINATION [<dir> ...]]
[PERMISSIONS permissions...]
[CONFIGURATIONS [Debug|Release|...]]
[COMPONENT <component>]
[OPTIONAL] [NAMELINK_ONLY|NAMELINK_SKIP]
] [...])
Для дальнейшего чтения этой команды, ознакомьтесь с документацией сайта и вики.
Ответ 2
Чтобы уточнить ответ на jmstoker:
Обычно CMake создает соответствующие цели в созданном Makefile, так что вы можете, после выполнения mkdir build && cd build && cmake..
и, возможно, make
, запустить make install
, make uninstall
и т.д.
Затем он снова вызовет CMake, используя упомянутые вами файлы .cmake.
Ответ 3
Как и в предыдущем ответе, cmake_install.cmake
содержит команды, сгенерированные командой install из вашего CMakeLists.txt
.
Вы можете выполнить его с помощью cmake -P cmake_install.cmake
и он выполнит установку вашего проекта даже в Windows.
https://cmake.org/pipermail/cmake/2007-April/013657.html