@@ -41,6 +41,16 @@ if(WIN32)
4141 "${QT_BASEDIR} /plugins/tls/qcertonlybackend${QT_LIB_SUFFIX} .dll"
4242 "${QT_BASEDIR} /plugins/tls/qschannelbackend${QT_LIB_SUFFIX} .dll"
4343 DESTINATION tls)
44+
45+ # NSIS install commands
46+ configure_file (
47+ "${CMAKE_CURRENT_LIST_DIR} /win/InstallCommands.nsh.in"
48+ "${CMAKE_CURRENT_LIST_DIR} /win/generated/InstallCommands.nsh" )
49+
50+ # NSIS uninstall commands
51+ configure_file (
52+ "${CMAKE_CURRENT_LIST_DIR} /win/UninstallCommands.nsh.in"
53+ "${CMAKE_CURRENT_LIST_DIR} /win/generated/UninstallCommands.nsh" )
4454elseif (UNIX )
4555 if (DEFINED QT_BASEDIR)
4656 # If this is a custom install, we've copied the Qt libraries to the build directory and done special fixups
@@ -131,47 +141,8 @@ if(WIN32)
131141 set (CPACK_NSIS_INSTALLED_ICON_NAME "${PROJECT_NAME} .exe" )
132142 set (CPACK_NSIS_URL_INFO_ABOUT "${CMAKE_PROJECT_HOMEPAGE_URL} " )
133143 set (CPACK_NSIS_MANIFEST_DPI_AWARE ON )
134- set (HELP_QUOTE "\" " ) # CMake is shit
135- set (CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
136- WriteRegStr HKCR '.007' '' '${PROJECT_NAME_PRETTY} '
137- WriteRegStr HKCR '.bmz' '' '${PROJECT_NAME_PRETTY} '
138- WriteRegStr HKCR '.bsp' '' '${PROJECT_NAME_PRETTY} '
139- WriteRegStr HKCR '.fpx' '' '${PROJECT_NAME_PRETTY} '
140- WriteRegStr HKCR '.gcf' '' '${PROJECT_NAME_PRETTY} '
141- WriteRegStr HKCR '.gma' '' '${PROJECT_NAME_PRETTY} '
142- WriteRegStr HKCR '.ol' '' '${PROJECT_NAME_PRETTY} '
143- WriteRegStr HKCR '.ore' '' '${PROJECT_NAME_PRETTY} '
144- WriteRegStr HKCR '.pak' '' '${PROJECT_NAME_PRETTY} '
145- WriteRegStr HKCR '.pck' '' '${PROJECT_NAME_PRETTY} '
146- WriteRegStr HKCR '.vpk' '' '${PROJECT_NAME_PRETTY} '
147- WriteRegStr HKCR '.dmx' '' '${PROJECT_NAME_PRETTY} '
148- WriteRegStr HKCR '.pcf' '' '${PROJECT_NAME_PRETTY} '
149- WriteRegStr HKCR '.ppl' '' '${PROJECT_NAME_PRETTY} '
150- WriteRegStr HKCR '.mdl' '' '${PROJECT_NAME_PRETTY} '
151- WriteRegStr HKCR '${PROJECT_NAME_PRETTY} ' '' 'VPKEdit Pack File'
152- WriteRegStr HKCR '${PROJECT_NAME_PRETTY} \\\\ shell' '' 'open'
153- WriteRegStr HKCR '${PROJECT_NAME_PRETTY} \\\\ DefaultIcon' '' '$INSTDIR\\\\ ${PROJECT_NAME} .exe,0'
154- WriteRegStr HKCR '${PROJECT_NAME_PRETTY} \\\\ shell\\\\ open\\\\ command' '' '$INSTDIR\\\\ ${PROJECT_NAME} .exe \\ ${HELP_QUOTE} %1\\ ${HELP_QUOTE} '
155- System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)'
156- " )
157- set (CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "
158- DeleteRegKey HKCR '.007'
159- DeleteRegKey HKCR '.bmz'
160- DeleteRegKey HKCR '.bsp'
161- DeleteRegKey HKCR '.fpx'
162- DeleteRegKey HKCR '.gcf'
163- DeleteRegKey HKCR '.gma'
164- DeleteRegKey HKCR '.ol'
165- DeleteRegKey HKCR '.ore'
166- DeleteRegKey HKCR '.pak'
167- DeleteRegKey HKCR '.pck'
168- DeleteRegKey HKCR '.vpk'
169- DeleteRegKey HKCR '.dmx'
170- DeleteRegKey HKCR '.pcf'
171- DeleteRegKey HKCR '.ppl'
172- DeleteRegKey HKCR '.mdl'
173- DeleteRegKey HKCR '${PROJECT_NAME_PRETTY} '
174- " )
144+ file (READ "${CMAKE_CURRENT_LIST_DIR} /win/generated/InstallCommands.nsh" CPACK_NSIS_EXTRA_INSTALL_COMMANDS)
145+ file (READ "${CMAKE_CURRENT_LIST_DIR} /win/generated/UninstallCommands.nsh" CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS)
175146else ()
176147 if (NOT (CPACK_GENERATOR STREQUAL "DEB" ))
177148 message (WARNING "CPack generator must be DEB! Setting generator to DEB..." )
0 commit comments