我想安装一个文件
/etc/init.d 目录
我已经写了代码
INSTALL(FILES ${CMAKE_SOURCE_DIR}/app/script/appd DESTINATION /etc/init.d/appd)
但是当我使用 cmake 运行打包代码时出现错误
CMake Error at /home/vivek/workspace/app/build/standalone/cmake_install.cmake:54 (FILE):
file cannot create directory: /etc/init.d/appd. Maybe need
administrative privileges.
如何设置 cmake 在 /etc/init.d 目录中安装文件?
您可以这样做,但您可能需要显式设置:
set(CPACK_SET_DESTDIR ON)
之前:
include(CPack)
在您的 CMakeLists.txt 文件中。 (您只需要对 CMake/CPack 上 2.8.3 之前的旧版本执行此操作)
您需要执行此操作的原因是您正在指定完整路径名作为已安装文件之一的目标。为了在打包阶段正确执行此操作,CPack 需要在其“make install”调用中使用 DESTDIR 环境变量。
出于向后兼容性的原因,我们默认情况下不会自动执行此操作。
但是,这个错误在 2.8.3 版本中得到了修复,以便可以通过使用完整路径名的安装规则透明且自动地完成:
http://public.kitware.com/Bug/view.php?id=7000 http://public.kitware.com/Bug/view.php?id=7000
希望您可以对 rpm 包使用 CPACK_SET_DESTDIR 为 ON,或者使用包含自动修复的更新版本的 CMake/CPack。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)