summaryrefslogtreecommitdiff
path: root/CMakeCPack.cmake
diff options
context:
space:
mode:
authorNils Gladitz <nilsgladitz@gmail.com>2016-02-07 20:25:56 +0100
committerBrad King <brad.king@kitware.com>2016-02-09 10:28:57 -0500
commita12b0f1b193024b71583b9150aeead33d364d189 (patch)
treef94b0230c6bfdb8e72b1572877fcadcb0d6d2a72 /CMakeCPack.cmake
parenta5a5a6857241c21d306661d723b749839f4c6e1a (diff)
downloadcmake-a12b0f1b193024b71583b9150aeead33d364d189.tar.gz
CMake: Prevent WiX installations over existing NSIS installations
Use a custom action to look for Uninstall.exe in the user selected installation prefix. Its presence indicates a previous NSIS installation. Inform the user and request manual resolution of the issue.
Diffstat (limited to 'CMakeCPack.cmake')
-rw-r--r--CMakeCPack.cmake11
1 files changed, 11 insertions, 0 deletions
diff --git a/CMakeCPack.cmake b/CMakeCPack.cmake
index a0aadcc9f0..3203279994 100644
--- a/CMakeCPack.cmake
+++ b/CMakeCPack.cmake
@@ -198,6 +198,17 @@ if(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
set(CPACK_WIX_UPGRADE_GUID "8ffd1d72-b7f1-11e2-8ee5-00238bca4991")
+ if(MSVC AND NOT "$ENV{WIX}" STREQUAL "")
+ set(WIX_CUSTOM_ACTION_ENABLED TRUE)
+ if(CMAKE_CONFIGURATION_TYPES)
+ set(WIX_CUSTOM_ACTION_MULTI_CONFIG TRUE)
+ else()
+ set(WIX_CUSTOM_ACTION_MULTI_CONFIG FALSE)
+ endif()
+ else()
+ set(WIX_CUSTOM_ACTION_ENABLED FALSE)
+ endif()
+
# Set the options file that needs to be included inside CMakeCPackOptions.cmake
set(QT_DIALOG_CPACK_OPTIONS_FILE ${CMake_BINARY_DIR}/Source/QtDialog/QtDialogCPack.cmake)
configure_file("${CMake_SOURCE_DIR}/CMakeCPackOptions.cmake.in"