cpack cmake Windows "ABSOLUTE path INSTALL DESTINATION forbidden"



我正在尝试将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错误(由呼叫者):

(这就是为什么我尝试的原因:set(cpack_error_on_absolute_install_destination off),但它没有更改任何内容)。我也试图以管理员的身份运行。

我还在这里尝试了解决方案:CPACK NSIS,为Windows生成安装程序

,如果(pack)似乎不起作用。它进入其他(pack)部分(我使用命令消息来查看它的去向)。

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

设置变量cpack_error_on_absolute_install_destination to Off无法禁用检查NSIS CPACK GENTATOR:

一些CPACK发电机,例如NSIS,内部强制执行此功能。

使用NSIS Generator,您别无他法。

使用相对安装路径。

构建if(pack)仅在将pack变量明确传递给cmake时才能工作。CMakeLists.txt没有隐含的方法检测,它是否是在CPACK下运行的。

最新更新