# SPDX-FileCopyrightText: 2024 Chris Rizzitello # SPDX-License-Identifier: MIT # HACK This is set when the files is included so its the real path # calling CMAKE_CURRENT_LIST_DIR after include would return the wrong scope var set(MY_DIR ${CMAKE_CURRENT_LIST_DIR}) install(CODE "execute_process( COMMAND ${DEPLOYQT} --no-compiler-runtime --no-system-d3d-compiler --no-quick-import -network \"\${CMAKE_INSTALL_PREFIX}/deskflow.exe\" )") # Setup OS_STRING if(CMAKE_SYSTEM_PROCESSOR MATCHES AMD64) set(OS_STRING "win-x64") elseif(CMAKE_SYSTEM_PROCESSOR MATCHES ARM64) set(OS_STRING "win-arm64") else() set(OS_STRING "win-${CMAKE_SYSTEM_PROCESSOR}") endif() # If Wix4+ is installed make a package find_program(WIX_APP wix) if (NOT "${WIX_APP}" STREQUAL "") set(CPACK_WIX_VERSION 4) list(APPEND CPACK_GENERATOR "WIX") endif() set(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_PROPER_NAME}") # Menu Entry set(CPACK_WIX_PROGRAM_MENU_FOLDER "${CMAKE_PROJECT_PROPER_NAME}") set(CPACK_PACKAGE_EXECUTABLES "deskflow" "${CMAKE_PROJECT_PROPER_NAME}") # Default Install Path set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CMAKE_PROJECT_PROPER_NAME}") # Wix Specific Values set(CPACK_WIX_UPGRADE_GUID "027D1C8A-E7A5-4754-BB93-B2D45BFDBDC8") set(CPACK_WIX_UI_BANNER "${MY_DIR}/wix-banner.png") set(CPACK_WIX_UI_DIALOG "${MY_DIR}/wix-dialog.png") # Required Extra Extenstions list(APPEND CPACK_WIX_EXTENSIONS "WixToolset.Util.wixext" "WixToolset.Firewall.wixext") # Make sure to also put the xmlns for the ext into the wix block on generated files list(APPEND CPACK_WIX_CUSTOM_XMLNS "util=http://wixtoolset.org/schemas/v4/wxs/util" "firewall=http://wixtoolset.org/schemas/v4/wxs/firewall") # The patch has to know the full path of our msm file set(CPACK_WIX_MSM_FILE "${MY_DIR}/Microsoft_VC142_CRT_x64.msm") configure_file( ${MY_DIR}/wix-patch.xml.in ${CMAKE_CURRENT_BINARY_DIR}/wix-patch.xml @ONLY ) # This patch set ups filewall rules, the service and msm module set(CPACK_WIX_PATCH_FILE "${CMAKE_CURRENT_BINARY_DIR}/wix-patch.xml")