44 lines
1.8 KiB
CMake
44 lines
1.8 KiB
CMake
message(STATUS "Creating Win Installer")
|
|
|
|
include(CMakePrintHelpers)
|
|
|
|
file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}/deploy/windows" QGC_INSTALLER_SOURCE)
|
|
file(TO_NATIVE_PATH "${QGC_INSTALLER_SOURCE}/WindowsQGC.ico" QGC_INSTALLER_ICON)
|
|
file(TO_NATIVE_PATH "${QGC_INSTALLER_SOURCE}/installheader.bmp" QGC_INSTALLER_HEADER_BITMAP)
|
|
file(TO_NATIVE_PATH "${QGC_INSTALLER_SOURCE}/driver.msi" QGC_INSTALLER_DRIVER_MSI)
|
|
file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}/QGroundControl-installer.exe" QGC_INSTALLER_OUT)
|
|
cmake_print_variables(QGC_INSTALLER_SOURCE QGC_INSTALLER_ICON QGC_INSTALLER_HEADER_BITMAP QGC_INSTALLER_DRIVER_MSI)
|
|
|
|
file(TO_NATIVE_PATH "${QGC_INSTALLER_SOURCE}/nullsoft_installer.nsi" QGC_NSIS_INSTALLER_SCRIPT)
|
|
set(_PF86 "PROGRAMFILES(x86)")
|
|
find_program(QGC_NSIS_INSTALLER_CMD makensis
|
|
PATHS "$ENV{PROGRAMFILES}/NSIS" "$ENV{${_PF86}}/NSIS" "$ENV{PROGRAMW6432}/NSIS"
|
|
DOC "Path to the makensis utility."
|
|
)
|
|
cmake_print_variables(QGC_NSIS_INSTALLER_SCRIPT QGC_NSIS_INSTALLER_CMD)
|
|
|
|
set(QGC_NSIS_INSTALLER_PARAMETERS
|
|
/DDRIVER_MSI=${QGC_INSTALLER_DRIVER_MSI}
|
|
/DINSTALLER_ICON=${QGC_INSTALLER_ICON}
|
|
/DHEADER_BITMAP=${QGC_INSTALLER_HEADER_BITMAP}
|
|
/DAPPNAME=QGroundControl
|
|
/DEXENAME=QGroundControl
|
|
/DORGNAME=org.mavlink.qgroundcontrol
|
|
/DDESTDIR=${CMAKE_BINARY_DIR}/staging
|
|
/NOCD
|
|
"/XOutFile ${QGC_INSTALLER_OUT}"
|
|
${QGC_NSIS_INSTALLER_SCRIPT}
|
|
)
|
|
cmake_print_variables(QGC_NSIS_INSTALLER_PARAMETERS)
|
|
|
|
message(STATUS "Win Installer Command: \"${QGC_NSIS_INSTALLER_CMD} ${QGC_NSIS_INSTALLER_PARAMETERS}\"")
|
|
|
|
execute_process(
|
|
COMMAND ${QGC_NSIS_INSTALLER_CMD} ${QGC_NSIS_INSTALLER_PARAMETERS}
|
|
RESULT_VARIABLE NSIS_RESULT
|
|
OUTPUT_VARIABLE NSIS_OUTPUT
|
|
ERROR_VARIABLE NSIS_ERROR
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
cmake_print_variables(NSIS_RESULT NSIS_OUTPUT NSIS_ERROR)
|