cmake 系列文章目录
前言
在cmake中,会遇到一些问题需要处理。如自定义安装目录、保留文件权限等。
一、自定义配置 /usr 安装目录
编译build目录中,采用默认 cmake …/ 之后会将相关内容局部安装到/usr/local/include和/usr/local/lib上。如果想在开发验证时,自定义全局安装到指定目录,则需要按以下方式执行:
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
make
sudo make install
二、保留脚本文件运行权限
在 CMakeLists.txt 中,直接使用 install 会导致文件权限丢失,这时需要使用 USE_SOURCE_PERMISSIONS 保留文件权限。
# 安装 trigger 脚本,并保留权限
# References: https://cmake.org/cmake/help/v2.8.10/cmake.html#command%3ainstall
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/shells
USE_SOURCE_PERMISSIONS # cmake版本 3.25.1在此处。不同cmake版本,位置不一样,有的是在PATTERN之后
DESTINATION /usr/share/apps/
FILES_MATCHING PATTERN "*.trigger"
)