/ CMakeModules / BuildInstaller.cmake
BuildInstaller.cmake
 1  # To use this as a script, make sure you pass in the variables BASE_DIR, SRC_DIR, BUILD_DIR, and TARGET_FILE
 2  cmake_minimum_required(VERSION 3.15)
 3  
 4  if(WIN32)
 5      set(PLATFORM "windows")
 6  elseif(APPLE)
 7      set(PLATFORM "mac")
 8  elseif(UNIX)
 9      set(PLATFORM "linux")
10  else()
11      message(FATAL_ERROR "Cannot build installer for this unsupported platform")
12  endif()
13  
14  list(APPEND CMAKE_MODULE_PATH "${BASE_DIR}/CMakeModules")
15  include(DownloadExternals)
16  download_qt(tools_ifw)
17  get_external_prefix(qt QT_PREFIX)
18  
19  file(GLOB_RECURSE INSTALLER_BASE "${QT_PREFIX}/**/installerbase*")
20  file(GLOB_RECURSE BINARY_CREATOR "${QT_PREFIX}/**/binarycreator*")
21  
22  set(CONFIG_FILE "${SRC_DIR}/config/config_${PLATFORM}.xml")
23  set(PACKAGES_DIR "${BUILD_DIR}/packages")
24  file(MAKE_DIRECTORY ${PACKAGES_DIR})
25  
26  execute_process(COMMAND ${BINARY_CREATOR} -t ${INSTALLER_BASE} -n -c ${CONFIG_FILE} -p ${PACKAGES_DIR} ${TARGET_FILE})