Files
CMake/Modules/Internal/CPack/CPackWIX.cmake
Brad King 614100dbf6 CPack/WiX: Restore default (missing) InstallScope from 3.28 and lower
In commit 60661f6770 (CPack/WiX: Make InstallScope configurable,
2023-11-07, v3.29.0-rc1~413^2) the `CPACK_WIX_INSTALL_SCOPE` default was
set to `perMachine`.  While installers created with `perMachine` have
better behavior on their own than installers created without any
`InstallScope`, they do not cleanly convert existing installations on
updates.

Fixes: #26029
2024-06-05 14:01:14 -04:00

35 lines
1.1 KiB
CMake

# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
if(NOT CPACK_WIX_ROOT)
string(REPLACE "\\" "/" CPACK_WIX_ROOT "$ENV{WIX}")
endif()
if(CPACK_WIX_VERSION VERSION_GREATER_EQUAL 4)
find_program(CPACK_WIX_EXECUTABLE NAMES wix
PATHS "${CPACK_WIX_ROOT}" PATH_SUFFIXES "bin")
if(NOT CPACK_WIX_EXECUTABLE)
message(FATAL_ERROR "Could not find the 'wix' executable.")
endif()
if(NOT DEFINED CPACK_WIX_INSTALL_SCOPE)
set(CPACK_WIX_INSTALL_SCOPE "perMachine")
endif()
else()
find_program(CPACK_WIX_CANDLE_EXECUTABLE candle
PATHS "${CPACK_WIX_ROOT}" PATH_SUFFIXES "bin")
if(NOT CPACK_WIX_CANDLE_EXECUTABLE)
message(FATAL_ERROR "Could not find the WiX candle executable.")
endif()
find_program(CPACK_WIX_LIGHT_EXECUTABLE light
PATHS "${CPACK_WIX_ROOT}" PATH_SUFFIXES "bin")
if(NOT CPACK_WIX_LIGHT_EXECUTABLE)
message(FATAL_ERROR "Could not find the WiX light executable.")
endif()
if(NOT DEFINED CPACK_WIX_INSTALL_SCOPE)
set(CPACK_WIX_INSTALL_SCOPE "NONE")
endif()
endif()