From a12b0f1b193024b71583b9150aeead33d364d189 Mon Sep 17 00:00:00 2001 From: Nils Gladitz Date: Sun, 7 Feb 2016 20:25:56 +0100 Subject: 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. --- CMakeCPack.cmake | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'CMakeCPack.cmake') 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" -- cgit v1.2.1