我正在尝试使用cpack和cmake和nsis来生成一个安装程序,它将生成的.exe文件添加到环境变量中。
我有一个主要的cmakelist.txt
其中我添加子目录add_subdirectory(
每个子目录都有一个cmakelist.txt。
在最后的主子目录中,我现在添加了:
SET(CPACK_NSIS_MODIFY_PATH ON)
SET(CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION OFF)
INCLUDE(CPack)
并在每个" sub" cmakelist.txt中
我补充说:
SET(CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION OFF)
INCLUDE(CPack)
我有这个错误:
CPack:使用NSIS创建包 CPack:安装项目 CPack: - 安装项目:MIALSRTK D的CMake错误:... ABSOLUTE路径禁止安装目的地(由来电者):
(这就是我尝试的原因:SET(CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION OFF)但它没有改变任何东西)。 我也尝试以管理员身份运行。
我也在这里尝试了解决方案:CPack NSIS, generate installer for Windows
但如果(包)似乎没有效果。它进入了else(pack)部分(我使用命令消息来查看它的去向)。
您对如何解决此问题有任何想法吗?
答案 0 :(得分:0)
将变量CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION设置为OFF无法禁用NSIS CPack生成器的检查:
一些CPack生成器,如NSIS,在内部强制执行。
使用NSIS生成器,除了使用相对安装路径之外别无他法。
仅当您将if(pack)
变量明确传递给pack
时,构建cmake
才有效。 CMakeLists.txt
没有隐式方法可以检测它是否在CPack下运行。