cmake的install命令学习
转自:https://blog.csdn.net/qq_38410730/article/details/102837401
1.install命令
install用于指定在安装时运行的规则。它可以用来安装很多内容,可以包括目标二进制、动态库、静态库以及文件、目录、脚本等:
install(TARGETS <target>... [...]) install(DIRECTORY <dir>... [...])
通过,设置CMAKE_INSTALL_PREFIX变量,可以指定cmake install时的相对地址前缀。
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR})
2. 目标文件安装target
例子:
INSTALL(TARGETS myrun mylib mystaticlib
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
可执行二进制myrun
安装到${CMAKE_INSTALL_BINDIR}
目录,动态库libmylib.so
安装到${CMAKE_INSTALL_LIBDIR}
目录,静态库libmystaticlib.a
安装到${CMAKE_INSTALL_LIBDIR}
目录。
其中runtime、library、archive如下:
例如:
install(TARGETS ${BIN_NAME} RUNTIME DESTINATION output/bin)
将二进制可执行文件,添加到output/bin目录下。
//所以这里的“安装”,install这个说法,倒觉得有点不是很准确,倒是和复制比较类似。
3.目录安装
install(DIRECTORY conf/ DESTINATION output/conf)
将conf/目录安装到output/conf目录,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
2018-08-28 1107 Social Clusters[并查集][难]
2018-08-28 PAT 1102 Invert a Binary Tree[比较简单]
2018-08-28 1124 Raffle for Weibo Followers[简单]
2018-08-28 PAT 1112 Stucked Keyboard[比较]