首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是cmake_install.cmake

什么是cmake_install.cmake
EN

Stack Overflow用户
提问于 2014-09-04 23:53:38
回答 2查看 29.5K关注 0票数 35

我写了一个非常简单的HelloWorld.c程序并运行Cmake。它在我的构建目录中创建了一个cmake_install.cmake文件。有人能给我解释一下为什么CMake会生成cmake_install.cmake文件吗?它的用途是什么?我如何使用它?

CMakelists.txt:

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.0)
PROJECT(FirstExample)
add_executable(prog first.c) 

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2014-09-05 04:57:40

您通常不会直接使用cmake_install.cmake。从v3.12 page中,它声明:

()命令在构建目录中生成文件cmake_install.cmake,生成的安装目标和CPack在内部使用该文件。

使用当前的CMakeLists.txt,生成的文件不会做太多事情。要创建有用的安装,您需要使用以下语法向CMakeLists.txt添加更多INSTALL命令。

代码语言:javascript
复制
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 sitewiki

如果需要手动执行脚本,如Nic30g所述,3.12页说明cmake -P接受以下变量:

组件

设置此变量可仅安装单个CPack组件,而不是安装所有组件。例如,如果只想安装Development组件,请运行

代码语言:javascript
复制
 cmake -DCOMPONENT=Development -P cmake_install.cmake

BUILD_TYPE

如果使用多配置生成器,请设置此变量以更改生成类型。例如,要使用Debug配置进行安装,请运行

代码语言:javascript
复制
 cmake -DBUILD_TYPE=Debug -P cmake_install.cmake.

设备目录

这是一个环境变量,而不是CMake变量。它允许您更改UNIX系统上的安装前缀。详情请参见DESTDIR

票数 18
EN

Stack Overflow用户

发布于 2019-05-17 04:22:08

正如前面的回答所述,cmake_install.cmake包含由CMakeLists.txt中的install命令生成的命令。

你可以通过cmake -P cmake_install.cmake来执行它,它甚至可以在windows上安装你的项目。

https://cmake.org/pipermail/cmake/2007-April/013657.html

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25669919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档