cpack cmake windows" ABSOLUTE path INSTALL DESTINATION禁止"

时间:2017-12-11 09:39:17

标签: cmake nsis cpack

我正在尝试使用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)部分(我使用命令消息来查看它的去向)。

您对如何解决此问题有任何想法吗?

1 个答案:

答案 0 :(得分:0)

将变量CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION设置为OFF无法禁用NSIS CPack生成器的检查:

  

一些CPack生成器,如NSIS,在内部强制执行。

使用NSIS生成器,除了使用相对安装路径之外别无他法。

仅当您将if(pack)变量明确传递给pack时,构建cmake才有效。 CMakeLists.txt没有隐式方法可以检测它是否在CPack下运行。