install
假设生成了以下几个文件:静态库target1,动态库target2,可执行文件target3
1.安装文件至指定位置
#只安装静态库 install(TARGETS target1 LIBRARY DESTINATION lib ) #安装静态库,动态库,可执行文件 install(TARGETS target1 target2 target3 LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin
)
2.安装文件夹至指定位置
假设头文件文件夹位于CMakeList.txt同路径下include/${PROJECT_NAME}和test,安装至指定位置下的include文件夹
install(DIRECTORY include/${PROJECT_NAME}/ test/ DESTINATION include/${PROJECT_NAME} FILES_MATCHING PATTERN "*.h" # 匹配.h文件 PATTERN "*.hpp" # 匹配.hpp文件 PATTERN ".svn" EXCLUDE # 排除.svn文件 )
默认情况下上述所有文件会安装至/usr/local下,如果要修改安装位置需要在install前
set(CMAKE_INSTALL_PREFIX "/home/test/xxx")
使用install
sudo make install
uninstall
在CMakeList.txt同路径下执行,会删除所有安装的文件,但是空文件夹会保留
cat install_manifest.txt | sudo xargs rm
要求build文件夹存在且install_manifest.txt文件夹还在
如果没有需要先编译安装后再卸载
原文链接:https://www.cnblogs.com/umichan0621/p/16805541.html
标签:CMakeLists,txt,DESTINATION,---,文件夹,install,include,安装 From: https://www.cnblogs.com/linxisuo/p/17444312.html