我写了一个非常简单的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) 谢谢!
发布于 2014-09-05 04:57:40
您通常不会直接使用cmake_install.cmake。从v3.12 page中,它声明:
()命令在构建目录中生成文件cmake_install.cmake,生成的安装目标和CPack在内部使用该文件。
使用当前的CMakeLists.txt,生成的文件不会做太多事情。要创建有用的安装,您需要使用以下语法向CMakeLists.txt添加更多INSTALL命令。
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]
] [...])有关此命令的更多信息,请查看documentation site和wiki。
如果需要手动执行脚本,如Nic30g所述,3.12页说明cmake -P接受以下变量:
组件
设置此变量可仅安装单个CPack组件,而不是安装所有组件。例如,如果只想安装Development组件,请运行
cmake -DCOMPONENT=Development -P cmake_install.cmakeBUILD_TYPE
如果使用多配置生成器,请设置此变量以更改生成类型。例如,要使用Debug配置进行安装,请运行
cmake -DBUILD_TYPE=Debug -P cmake_install.cmake.设备目录
这是一个环境变量,而不是CMake变量。它允许您更改UNIX系统上的安装前缀。详情请参见DESTDIR。
发布于 2019-05-17 04:22:08
正如前面的回答所述,cmake_install.cmake包含由CMakeLists.txt中的install命令生成的命令。
你可以通过cmake -P cmake_install.cmake来执行它,它甚至可以在windows上安装你的项目。
https://stackoverflow.com/questions/25669919
复制相似问题