以前一直不清楚install的具体作用,现在明白了,其实就是把你的文件(生成的二进制,源代码或者任意)给复制(也可以说安装)到指定路径。

将二进制安装到Bin文件夹

比如我生成了一个test程序,一般来说你是把构建文件都写在了Build文件夹下面。然后make后,test也是在build下面,现在我想把test安装到项目目录的bin文件夹下面。
那么你可以这么些cmakelist

cmake_minimum_required(VERSION 3.0.0)
project(static-lib VERSION 0.1.0 LANGUAGES C CXX)

add_executable(test main.cpp)

install(TARGETS test  DESTINATION bin)

DESTINATION指定了安装的目录,如果是相对目录,则需要注意CMAKE_INSTALL_PREFIX这个变量,可以在cmakelist中用set指定,也可以在使用cmake命令是用-D指令
具体执行命令

1.生成构建树,假设现在在build目录
cmake ..
2.编译
make
3. 安装
make install

现在test程序到了bin文件夹下面。 基本就是这么个用法,跟复制文件差不多,但是能设置权限种种。
下面再举个例子,如果是Debug编译就把程序放在bin/debug,release就在bin/release

将debug和release程序分开安装

cmake_minimum_required(VERSION 3.0.0)
project(static-lib VERSION 0.1.0 LANGUAGES C CXX)

add_executable(test main.cpp)

install(TARGETS test CONFIGURATIONS Debug DESTINATION bin/debug)
install(TARGETS test CONFIGURATIONS Release DESTINATION bin/release)

就是指定了CONFIGURATIONS 这个参数,还有一些其他参数,具体可见文档https://cmake.org/cmake/help/book/mastering-cmake/chapter/Install.html

https://developer.aliyun.com/article/1465170 这篇文章也不错

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部