如何通过CMake的/ CPack设置NSIS向导图像?(How to set wizard ima

2019-09-26 13:56发布

我看到没有CPACK_xxx可变用于改变在NSIS向导图像(一个或多个)(如CPACK_PACKAGE_ICON)。 所以我复制了NSIS.template.in和修改它。 我可以这样做:

!定义MUI_WELCOMEFINISHPAGE_BITMAP “C:\工作\项目\ IMG \ wizardInstall.bmp” 定义MUI_UNWELCOMEFINISHPAGE_BITMAP! “C:\工作\项目\ IMG \ wizardUninstall.bmp”

它会工作。 但是,源代码都在许多开发商colaborate存储库,它是不是真的好主意,让绝对路径存在。 我试图找到一些办法让我的源路径,并以某种方式创建一个图像路径,但无济于事。

所以,如果有人知道我如何在NSIS设置向导图像,或通过源代码目录(和它创造的路径),以我的模板文件,请让我知道。

Answer 1:

你不需要编译整个NSIS使用/改变这些图像。

它们存在每个具有安装在NSIS机上$ {NSISDIR} \的Contrib \图形\向导\ win.bmp

使用!define MUI_WELCOMEFINISHPAGE_BITMAP bmp_file在.nsi脚本来改变它们。



Answer 2:

既然你已经定制NSIS.template.in文件,据推测是与CONFIGURE_FILE()命令配置模板,为什么不把您的NSIS.template.in如下:

!define MUI_WELCOMEFINISHPAGE_BITMAP "@MY_CPACK_MUI_WELCOMEFINISHPAGE_BITMAP@"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "@MY_CPACK_MUI_UNWELCOMEFINISHPAGE_BITMAP@"

然后,在您设置其他CPACK变量您的CMakeLists.txt文件,添加类似:

SET(MY_CPACK_MUI_WELCOMEFINISHPAGE_BITMAP
    "${CMAKE_SOURCE_DIR)/path/to/wizardInstall.bmp")
SET(MY_CPACK_MUI_UNWELCOMEFINISHPAGE_BITMAP
    "${CMAKE_SOURCE_DIR)/path/to/wizardUninstall.bmp")


文章来源: How to set wizard images in NSIS through CMake/CPack?
标签: cmake nsis cpack