来自官方文档的引用:
"指定在安装时运行的规则."
什么是安装时间?
问题在于我:我在Linux上,软件是从只是依赖关系和数据的软件包安装的.没有CMake可以在这里做任何事情.因此,软件的安装时间超出了CMake的范围.那究竟是什么意思呢?
我想扩展一下 ComicSansMS 给你的答案。
正如他所提到的 - CMake 会生成一个额外的目标来调用install该make工具(当您使用基于 Makefile 的生成器时)。
您可能看起来很奇怪,因为 Linux 使用的是软件包系统。然而,install目标仍然有用甚至是必要的:
/usr目录中;你可以使用你的/home.构建CMake项目大致可以分为三个阶段:
cmake自身时发生的所有事情。此阶段涉及检查主机系统的某些属性,并在所选配置下为该平台生成特定的构建文件。cmake --build或时make)。这是所有实际编译和链接的地方,因此在构建阶段结束时,您有了可用的二进制文件。INSTALLCMake生成的目标时发生的所有事情(例如运行时cmake --build --target install或make install)。这需要将生成到构建树中的二进制文件复制到另一个目录。请注意,如果您只对运行二进制文件感兴趣,则构建树中包含很多不再需要的内容。示例包括所有中间构建工件,例如在配置阶段生成的构建文件或在构建阶段创建的中间目标文件。此外,安装阶段可能包括其他步骤,以确保在构建过程中生成的二进制文件是可移植的。例如,在Linux系统上,您可能要从二进制文件的共享库搜索路径中删除构建目录,并用可移植的等效目录替换。因此,安装阶段可能不仅仅将所有重要文件复制到新目录中。请注意,最后一个阶段是可选的。如果您不想支持调用make install,但更喜欢另一种部署机制,你根本就没有使用该install命令在你的CMake的脚本,没有INSTALL目标将产生。
| 归档时间: |
|
| 查看次数: |
2222 次 |
| 最近记录: |