我正在尝试将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下运行的。