1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-01 09:24:10 +01:00
LibrePilot/package/winx86/gcs.nsi
Philippe Renon 955eecf33d Merge remote-tracking branch 'upstream/next' into filnet/LP-29_osgearth_integration
Conflicts:
	ground/gcs/gcs.pri
	ground/gcs/gcs.pro
	ground/gcs/openpilotgcs.pri
	ground/gcs/openpilotgcs.pro
	ground/gcs/src/app/gcs.icns
	ground/gcs/src/app/gcs.ico
	ground/gcs/src/app/librepilotgcs.icns
	ground/gcs/src/app/librepilotgcs.ico
	ground/gcs/src/app/librepilotgcs.rc
	ground/gcs/src/app/openpilotgcs.icns
	ground/gcs/src/library.pri
	ground/gcs/src/openpilotgcslibrary.pri
	ground/gcs/src/openpilotgcsplugin.pri
	ground/gcs/src/plugin.pri
	ground/gcs/src/plugins/config/airframe.ui
	ground/gcs/src/plugins/config/images/calibration/board-dwn.png
	ground/gcs/src/plugins/config/images/calibration/board-enu.png
	ground/gcs/src/plugins/config/images/calibration/board-ned.png
	ground/gcs/src/plugins/config/images/calibration/board-suw.png
	ground/gcs/src/plugins/config/images/calibration/board-swd.png
	ground/gcs/src/plugins/config/images/calibration/board-use.png
	ground/gcs/src/plugins/config/images/calibration/board-wds.png
	ground/gcs/src/plugins/config/images/calibration/empty.png
	ground/gcs/src/plugins/config/images/calibration/plane-dwn.png
	ground/gcs/src/plugins/config/images/calibration/plane-enu.png
	ground/gcs/src/plugins/config/images/calibration/plane-horizontal-rotated.png
	ground/gcs/src/plugins/config/images/calibration/plane-ned.png
	ground/gcs/src/plugins/config/images/calibration/plane-suw.png
	ground/gcs/src/plugins/config/images/calibration/plane-swd.png
	ground/gcs/src/plugins/config/images/calibration/plane-use.png
	ground/gcs/src/plugins/config/images/calibration/plane-wds.png
	ground/gcs/src/plugins/setupwizard/vehicletemplateselectorwidget.ui
	ground/gcs/src/plugins/systemhealth/html/GPS-Error.html
	ground/gcs/src/plugins/systemhealth/html/fr/GPS-Error.html
	ground/gcs/src/share/cloudconfig/custom/whats_this.txt
	ground/gcs/src/share/cloudconfig/fixedwing/SoniModelMako-FixedWing-Elevon-7134e8ae5ce.optmpl
	ground/gcs/src/share/cloudconfig/fixedwing/Toro900-VoilureFixe-Elevon-d4a58d2cd50.optmpl
	ground/gcs/src/share/cloudconfig/fixedwing/whats_this.txt
	ground/gcs/src/share/cloudconfig/helicopter/whats_this.txt
	ground/gcs/src/share/cloudconfig/multirotor/(RACE)FPV260HobbyKin-Multirotor-QuadrocopterX-0482b7a25f7.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/(STOCK)HobbyKingFPV2-Multirotor-QuadrocopterX-0bb44b68883.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/ARRISX-SPEEDFPV250-Unsupported-2cbaaa14a01.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/BlackOutB330-Multirotor-QuadrocopterX-e9980c55302.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/BlackOutMiniH-Multirotor-QuadrocopterX-d415c242154.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/DJIF450-Multirotor-QuadrocopterX-cfa8ec67993.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/DroneframesDRQ250-cf-rc5 Multirotor-QuadrocopterX-425b90123f1.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/DroneframesDRQ430G-revo-rc5Multirotor-QuadrocopterX-fae90503b3f.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/EmaxNighthawk-Multirotor-QuadrocopterX-9a3aa9d9726.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/FlipFPVPro-Multirotor-QuadrocopterX-9eb7b719244.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/FlipFpvPro-Multirotor-QuadrocopterX-c117d151f95.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/FlipSport-Multirotor-QuadrocopterX-c27ae7b79ca.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/FlyingCinemaCinetan-Multirotor-QuadrocopterX-2c3f9181872.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/FlyingCinemaTankitoM-Multirotor-QuadrocopterX-385d9ac9ae1.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/GenericHexa-Multirotor-Hexacopter+-c50a904f4a3.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/GenericHexaH-Multirotor-HexacopterH-6cc3fed9073.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/GenericHexaX-Multirotor-HexacopterX-b3b8c1d2f3c.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/GenericHexaY6-Multirotor-HexacopterY6-0b5dc6bae4f.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/GenericQuad+-Multirotor-Quadrocopter+-a87a4226820.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/GenericQuadX-Multirotor-QuadrocopterX-5fce7315a5b.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/GenericTricopter-Multirotor-Tricopter-5f46bc37c31.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/GuerrillaDronesToadQ-Multirotor-QuadrocopterX-8f838e43432.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/HKingDYS250CarbonFib-Multirotor-QuadrocopterX-969354c51c1.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/HKingDYS320CarbonFib-Multirotor-QuadrocopterX-0b41edda68f.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/HoverThingsFLIPFPV-Multirotor-QuadrocopterX-32bf14a10fc.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/InventorsSparrowRace-Multirotor-QuadrocopterX-314fff867fd.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/QAV250-Multirotor-QuadrocopterX-181dab0df01.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/QAV400-Multirotor-QuadrocopterX-90a90b9fb50.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/QAV500-Multirotor-QuadrocopterX-6da440c4d7c.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/QUADI250-Multirotor-QuadrocopterX-c6c6cfc4cf9.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/RCExplorerV3Tricopte-Multirotor-Tricopter-dcbce3f069c.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/RD290MiniHexfpv-Multirotor-HexacopterX-6587232be1a.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/XhoverMXP230Elite-Multirotor-QuadrocopterX-3b169a4fd1b.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/ZMR250( Attitude mode)-ChineseQAV250-Multirotor-QuadrocopterX-5d318c0526c (1).optmpl
	ground/gcs/src/share/cloudconfig/multirotor/ZMR250(4s race)-Multirotor-QuadrocopterX-fac61e7adb8.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/ZMR250(Race acro +)-Multirotor-QuadrocopterX-895b222d670.optmpl
	ground/gcs/src/share/cloudconfig/multirotor/whats_this.txt
	ground/gcs/src/share/cloudconfig/surface/whats_this.txt
	ground/gcs/src/share/translations/gcs_de.ts
	ground/gcs/src/share/translations/gcs_es.ts
	ground/gcs/src/share/translations/gcs_fr.ts
	ground/gcs/src/share/translations/gcs_ru.ts
	ground/gcs/src/share/translations/gcs_zh_CN.ts
	ground/gcs/src/share/translations/openpilotgcs_de.ts
	ground/gcs/src/share/translations/openpilotgcs_es.ts
	ground/gcs/src/share/translations/openpilotgcs_fr.ts
	ground/gcs/src/share/translations/openpilotgcs_ru.ts
	ground/gcs/src/share/translations/openpilotgcs_zh_CN.ts
	ground/gcs/src/share/vehicletemplates/custom/whats_this.txt
	ground/gcs/src/share/vehicletemplates/fixedwing/SoniModelMako-FixedWing-Elevon-7134e8ae5ce.optmpl
	ground/gcs/src/share/vehicletemplates/fixedwing/Toro900-VoilureFixe-Elevon-d4a58d2cd50.optmpl
	ground/gcs/src/share/vehicletemplates/fixedwing/whats_this.txt
	ground/gcs/src/share/vehicletemplates/helicopter/whats_this.txt
	ground/gcs/src/share/vehicletemplates/multirotor/(RACE)FPV260HobbyKin-Multirotor-QuadrocopterX-0482b7a25f7.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/(STOCK)HobbyKingFPV2-Multirotor-QuadrocopterX-0bb44b68883.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/ARRISX-SPEEDFPV250-Unsupported-2cbaaa14a01.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/BlackOutB330-Multirotor-QuadrocopterX-e9980c55302.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/BlackOutMiniH-Multirotor-QuadrocopterX-d415c242154.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/DJIF450-Multirotor-QuadrocopterX-cfa8ec67993.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/DroneframesDRQ250-cf-rc5 Multirotor-QuadrocopterX-425b90123f1.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/DroneframesDRQ430G-revo-rc5Multirotor-QuadrocopterX-fae90503b3f.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/EmaxNighthawk-Multirotor-QuadrocopterX-9a3aa9d9726.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/FlipFPVPro-Multirotor-QuadrocopterX-9eb7b719244.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/FlipFpvPro-Multirotor-QuadrocopterX-c117d151f95.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/FlipSport-Multirotor-QuadrocopterX-c27ae7b79ca.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/FlyingCinemaCinetan-Multirotor-QuadrocopterX-2c3f9181872.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/FlyingCinemaTankitoM-Multirotor-QuadrocopterX-385d9ac9ae1.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/GenericHexa-Multirotor-Hexacopter+-c50a904f4a3.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/GenericHexaH-Multirotor-HexacopterH-6cc3fed9073.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/GenericHexaX-Multirotor-HexacopterX-b3b8c1d2f3c.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/GenericHexaY6-Multirotor-HexacopterY6-0b5dc6bae4f.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/GenericQuad+-Multirotor-Quadrocopter+-a87a4226820.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/GenericQuadX-Multirotor-QuadrocopterX-5fce7315a5b.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/GenericTricopter-Multirotor-Tricopter-5f46bc37c31.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/GuerrillaDronesToadQ-Multirotor-QuadrocopterX-8f838e43432.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/HKingDYS250CarbonFib-Multirotor-QuadrocopterX-969354c51c1.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/HKingDYS320CarbonFib-Multirotor-QuadrocopterX-0b41edda68f.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/HoverThingsFLIPFPV-Multirotor-QuadrocopterX-32bf14a10fc.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/InventorsSparrowRace-Multirotor-QuadrocopterX-314fff867fd.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/QAV250-Multirotor-QuadrocopterX-181dab0df01.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/QAV400-Multirotor-QuadrocopterX-90a90b9fb50.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/QAV500-Multirotor-QuadrocopterX-6da440c4d7c.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/QUADI250-Multirotor-QuadrocopterX-c6c6cfc4cf9.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/RCExplorerV3Tricopte-Multirotor-Tricopter-dcbce3f069c.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/RD290MiniHexfpv-Multirotor-HexacopterX-6587232be1a.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/XhoverMXP230Elite-Multirotor-QuadrocopterX-3b169a4fd1b.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/ZMR250( Attitude mode)-ChineseQAV250-Multirotor-QuadrocopterX-5d318c0526c (1).optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/ZMR250(4s race)-Multirotor-QuadrocopterX-fac61e7adb8.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/ZMR250(Race acro +)-Multirotor-QuadrocopterX-895b222d670.optmpl
	ground/gcs/src/share/vehicletemplates/multirotor/whats_this.txt
	ground/openpilotgcs/openpilotgcs.pri
	ground/openpilotgcs/openpilotgcs.pro
	ground/openpilotgcs/src/app/librepilotgcs.icns
	ground/openpilotgcs/src/app/librepilotgcs.ico
	ground/openpilotgcs/src/openpilotgcslibrary.pri
	ground/openpilotgcs/src/openpilotgcsplugin.pri
	ground/openpilotgcs/src/share/cloudconfig/custom/whats_this.txt
	ground/openpilotgcs/src/share/cloudconfig/fixedwing/SoniModelMako-FixedWing-Elevon-7134e8ae5ce.optmpl
	ground/openpilotgcs/src/share/cloudconfig/fixedwing/Toro900-VoilureFixe-Elevon-d4a58d2cd50.optmpl
	ground/openpilotgcs/src/share/cloudconfig/fixedwing/whats_this.txt
	ground/openpilotgcs/src/share/cloudconfig/helicopter/whats_this.txt
	ground/openpilotgcs/src/share/cloudconfig/multirotor/(RACE)FPV260HobbyKin-Multirotor-QuadrocopterX-0482b7a25f7.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/(STOCK)HobbyKingFPV2-Multirotor-QuadrocopterX-0bb44b68883.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/ARRISX-SPEEDFPV250-Unsupported-2cbaaa14a01.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/BlackOutB330-Multirotor-QuadrocopterX-e9980c55302.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/BlackOutMiniH-Multirotor-QuadrocopterX-d415c242154.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/DJIF450-Multirotor-QuadrocopterX-cfa8ec67993.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/DroneframesDRQ250-cf-rc5 Multirotor-QuadrocopterX-425b90123f1.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/DroneframesDRQ430G-revo-rc5Multirotor-QuadrocopterX-fae90503b3f.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/EmaxNighthawk-Multirotor-QuadrocopterX-9a3aa9d9726.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/FlipFPVPro-Multirotor-QuadrocopterX-9eb7b719244.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/FlipFpvPro-Multirotor-QuadrocopterX-c117d151f95.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/FlipSport-Multirotor-QuadrocopterX-c27ae7b79ca.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/FlyingCinemaCinetan-Multirotor-QuadrocopterX-2c3f9181872.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/FlyingCinemaTankitoM-Multirotor-QuadrocopterX-385d9ac9ae1.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/GenericHexa-Multirotor-Hexacopter+-c50a904f4a3.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/GenericHexaH-Multirotor-HexacopterH-6cc3fed9073.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/GenericHexaX-Multirotor-HexacopterX-b3b8c1d2f3c.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/GenericHexaY6-Multirotor-HexacopterY6-0b5dc6bae4f.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/GenericQuad+-Multirotor-Quadrocopter+-a87a4226820.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/GenericQuadX-Multirotor-QuadrocopterX-5fce7315a5b.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/GenericTricopter-Multirotor-Tricopter-5f46bc37c31.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/GuerrillaDronesToadQ-Multirotor-QuadrocopterX-8f838e43432.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/HKingDYS250CarbonFib-Multirotor-QuadrocopterX-969354c51c1.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/HKingDYS320CarbonFib-Multirotor-QuadrocopterX-0b41edda68f.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/HoverThingsFLIPFPV-Multirotor-QuadrocopterX-32bf14a10fc.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/InventorsSparrowRace-Multirotor-QuadrocopterX-314fff867fd.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/QAV250-Multirotor-QuadrocopterX-181dab0df01.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/QAV400-Multirotor-QuadrocopterX-90a90b9fb50.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/QAV500-Multirotor-QuadrocopterX-6da440c4d7c.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/QUADI250-Multirotor-QuadrocopterX-c6c6cfc4cf9.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/RCExplorerV3Tricopte-Multirotor-Tricopter-dcbce3f069c.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/RD290MiniHexfpv-Multirotor-HexacopterX-6587232be1a.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/XhoverMXP230Elite-Multirotor-QuadrocopterX-3b169a4fd1b.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/ZMR250( Attitude mode)-ChineseQAV250-Multirotor-QuadrocopterX-5d318c0526c (1).optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/ZMR250(4s race)-Multirotor-QuadrocopterX-fac61e7adb8.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/ZMR250(Race acro +)-Multirotor-QuadrocopterX-895b222d670.optmpl
	ground/openpilotgcs/src/share/cloudconfig/multirotor/whats_this.txt
	ground/openpilotgcs/src/share/translations/openpilotgcs_de.ts
	ground/openpilotgcs/src/share/translations/openpilotgcs_es.ts
	ground/openpilotgcs/src/share/translations/openpilotgcs_fr.ts
	ground/openpilotgcs/src/share/translations/openpilotgcs_ru.ts
	ground/openpilotgcs/src/share/translations/openpilotgcs_zh_CN.ts
	make/tools.mk
2015-08-29 17:03:48 +02:00

382 lines
14 KiB
Plaintext

#
# Project: OpenPilot
# NSIS configuration file for OpenPilot GCS
# The OpenPilot Team, http://www.openpilot.org, Copyright (C) 2010-2015.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# This script requires Unicode NSIS 2.46 or higher:
# http://www.scratchpaper.com/
# TODO:
# - install only built/used modules, not a whole directory.
# - remove only installed files, not a whole directory.
;--------------------------------
; Includes
!include "x64.nsh"
!include "..\..\build\gcs-synthetics\gcs.nsh"
;--------------------------------
; Paths
; Tree root locations (relative to this script location)
!define PROJECT_ROOT "..\.."
!define NSIS_DATA_TREE "."
!define GCS_BUILD_TREE "..\..\build\${GCS_SMALL_NAME}_release"
!define UAVO_SYNTH_TREE "..\..\build\uavobject-synthetics"
!define AEROSIMRC_TREE "${GCS_BUILD_TREE}\misc\AeroSIM-RC"
; Default installation folder
InstallDir "$PROGRAMFILES\${ORG_BIG_NAME}"
; Get installation folder from registry if available
InstallDirRegKey HKLM "Software\${ORG_BIG_NAME}" "Install Location"
;--------------------------------
; Version information
; Program name and installer file
!define PRODUCT_NAME "${GCS_BIG_NAME}"
!define INSTALLER_NAME "${GCS_BIG_NAME} Installer"
Name "${PRODUCT_NAME}"
OutFile "${PACKAGE_DIR}\..\${OUT_FILE}"
VIProductVersion ${PRODUCT_VERSION}
VIAddVersionKey "ProductName" "${INSTALLER_NAME}"
VIAddVersionKey "FileVersion" "${FILE_VERSION}"
VIAddVersionKey "Comments" "${INSTALLER_NAME}. ${BUILD_DESCRIPTION}"
VIAddVersionKey "CompanyName" "The LibrePilot Team, http://www.librepilot.org"
VIAddVersionKey "LegalTrademarks" "${PRODUCT_NAME} is a trademark of The LibrePilot Team"
VIAddVersionKey "LegalCopyright" "© 2015 The LibrePilot Team"
VIAddVersionKey "FileDescription" "${INSTALLER_NAME}"
;--------------------------------
; Installer interface and base settings
!include "MUI2.nsh"
!define MUI_ABORTWARNING
; Adds an XP manifest to the installer
XPStyle on
; Request application privileges for Windows Vista/7
RequestExecutionLevel admin
; Compression level
SetCompressor /solid lzma
;--------------------------------
; Branding
BrandingText "© 2015 The LibrePilot Team, http://www.librepilot.org"
!define MUI_ICON "${NSIS_DATA_TREE}\resources\installer_icon.ico"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "${NSIS_DATA_TREE}\resources\header.bmp"
!define MUI_WELCOMEFINISHPAGE_BITMAP "${NSIS_DATA_TREE}\resources\welcome.bmp"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSIS_DATA_TREE}\resources\welcome.bmp"
!define HEADER_BGCOLOR "0x8C8C8C"
!define HEADER_FGCOLOR "0x343434"
!macro SetHeaderColors un
Function ${un}SetHeaderColors
GetDlgItem $r3 $HWNDPARENT 1034
SetCtlColors $r3 ${HEADER_BGCOLOR} ${HEADER_FGCOLOR}
GetDlgItem $r3 $HWNDPARENT 1037
SetCtlColors $r3 ${HEADER_BGCOLOR} ${HEADER_FGCOLOR}
GetDlgItem $r3 $HWNDPARENT 1038
SetCtlColors $r3 ${HEADER_BGCOLOR} ${HEADER_FGCOLOR}
FunctionEnd
!macroend
!insertmacro SetHeaderColors ""
!insertmacro SetHeaderColors "un."
;--------------------------------
; Language selection dialog settings
; Remember the installer language
!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
!define MUI_LANGDLL_REGISTRY_KEY "Software\${ORG_BIG_NAME}"
!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
!define MUI_LANGDLL_ALWAYSSHOW
;--------------------------------
; Settings for MUI_PAGE_FINISH
!define MUI_FINISHPAGE_RUN
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\WHATSNEW.txt"
!define MUI_FINISHPAGE_RUN_FUNCTION "RunApplication"
;--------------------------------
; Pages
!define MUI_PAGE_CUSTOMFUNCTION_PRE "SetHeaderColors"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "$(LicenseFile)"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!define MUI_PAGE_CUSTOMFUNCTION_PRE "un.SetHeaderColors"
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_COMPONENTS
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
;--------------------------------
; Supported languages, license files and translations
!include "${NSIS_DATA_TREE}\translations\languages.nsh"
;--------------------------------
; Reserve files
; If you are using solid compression, files that are required before
; the actual installation should be stored first in the data block,
; because this will make your installer start faster.
!insertmacro MUI_RESERVEFILE_LANGDLL
;--------------------------------
; Installer sections
; Copy GCS core files
Section "Core files" InSecCore
SectionIn RO
SetOutPath "$INSTDIR\bin"
File /r "${GCS_BUILD_TREE}\bin\*"
SetOutPath "$INSTDIR"
File "${PROJECT_ROOT}\LICENSE.txt"
File "/oname=README.txt" "${PROJECT_ROOT}\README.md"
File "${PROJECT_ROOT}\WHATSNEW.txt"
File "${PROJECT_ROOT}\MILESTONES.txt"
File "${PROJECT_ROOT}\GPLv3.txt"
SectionEnd
; Copy GCS plugins
Section "-Plugins" InSecPlugins
SectionIn RO
SetOutPath "$INSTDIR\lib\${GCS_SMALL_NAME}\plugins"
File /r "${GCS_BUILD_TREE}\lib\${GCS_SMALL_NAME}\plugins\*.dll"
File /r "${GCS_BUILD_TREE}\lib\${GCS_SMALL_NAME}\plugins\*.pluginspec"
SectionEnd
; Copy OSG libs
Section "-OsgLibs" InSecOsgLibs
SectionIn RO
SetOutPath "$INSTDIR\lib\${GCS_SMALL_NAME}\osg"
File /r "${GCS_BUILD_TREE}\lib\${GCS_SMALL_NAME}\osg\*.dll"
SectionEnd
; Copy GCS resources
Section "-Resources" InSecResources
SetOutPath "$INSTDIR\share"
File /r "${GCS_BUILD_TREE}\share\${GCS_SMALL_NAME}"
SectionEnd
; Copy utility files
Section "-Utilities" InSecUtilities
SetOutPath "$INSTDIR\utilities"
File "/oname=OPLogConvert-${PACKAGE_LBL}.m" "${UAVO_SYNTH_TREE}\matlab\OPLogConvert.m"
SectionEnd
; Copy driver files
Section "-Drivers" InSecDrivers
SetOutPath "$INSTDIR\drivers"
File /r "${PROJECT_ROOT}\flight\Project\Windows USB\*"
SectionEnd
; Preinstall OpenPilot CDC driver
Section "CDC driver" InSecInstallDrivers
InitPluginsDir
SetOutPath "$PLUGINSDIR"
${If} ${RunningX64}
File "/oname=dpinst.exe" "${NSIS_DATA_TREE}\redist\dpinst_x64.exe"
${Else}
File "/oname=dpinst.exe" "${NSIS_DATA_TREE}\redist\dpinst_x86.exe"
${EndIf}
ExecWait '"$PLUGINSDIR\dpinst.exe" /lm /path "$INSTDIR\drivers"'
SectionEnd
; Copy Opengl32.dll if needed (disabled by default)
Section /o "Mesa OpenGL driver" InSecInstallOpenGL
SetOutPath "$INSTDIR\bin"
File /r "${GCS_BUILD_TREE}\bin\opengl32_32\opengl32.dll"
SectionEnd
; AeroSimRC plugin files
Section "AeroSimRC plugin" InSecAeroSimRC
SetOutPath "$INSTDIR\misc\AeroSIM-RC"
File /r "${AEROSIMRC_TREE}\*"
SectionEnd
Section "Shortcuts" InSecShortcuts
; Create desktop and start menu shortcuts
SetOutPath "$INSTDIR"
CreateDirectory "$SMPROGRAMS\${ORG_BIG_NAME}"
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\${GCS_BIG_NAME}.lnk" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" \
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0 "" "" "${PRODUCT_NAME} ${PRODUCT_VERSION}. ${BUILD_DESCRIPTION}"
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\${GCS_BIG_NAME} (clean configuration).lnk" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" \
"-reset" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0 "" "" "${PRODUCT_NAME} ${PRODUCT_VERSION}. ${BUILD_DESCRIPTION}"
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\License.lnk" "$INSTDIR\LICENSE.txt" \
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\ReadMe.lnk" "$INSTDIR\README.txt" \
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\ReleaseNotes.lnk" "$INSTDIR\WHATSNEW.txt" \
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\Milestones.lnk" "$INSTDIR\MILESTONES.txt" \
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\Website.lnk" "http://www.librepilot.org" \
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\Wiki.lnk" "http://wiki.openpilot.org" \
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\Forums.lnk" "http://forums.librepilot.org" \
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0
CreateShortCut "$DESKTOP\${GCS_BIG_NAME}.lnk" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" \
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0 "" "" "${PRODUCT_NAME} ${PRODUCT_VERSION}. ${BUILD_DESCRIPTION}"
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
SectionEnd
Section ; create uninstall info
; Write the installation path into the registry
WriteRegStr HKCU "Software\${ORG_BIG_NAME}" "Install Location" $INSTDIR
; Write the uninstall keys for Windows
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ORG_BIG_NAME}" "DisplayName" "${GCS_BIG_NAME}"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ORG_BIG_NAME}" "UninstallString" '"$INSTDIR\Uninstall.exe"'
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ORG_BIG_NAME}" "DisplayIcon" '"$INSTDIR\bin\${GCS_SMALL_NAME}.exe"'
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ORG_BIG_NAME}" "Publisher" "LibrePilot Team"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ORG_BIG_NAME}" "URLInfoAbout" "http://www.librepilot.org"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ORG_BIG_NAME}" "HelpLink" "http://wiki.openpilot.org"
WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ORG_BIG_NAME}" "EstimatedSize" 100600
WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ORG_BIG_NAME}" "NoModify" 1
WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ORG_BIG_NAME}" "NoRepair" 1
; Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
SectionEnd
;--------------------------------
; Installer section descriptions
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${InSecCore} $(DESC_InSecCore)
!insertmacro MUI_DESCRIPTION_TEXT ${InSecPlugins} $(DESC_InSecPlugins)
!insertmacro MUI_DESCRIPTION_TEXT ${InSecResources} $(DESC_InSecResources)
!insertmacro MUI_DESCRIPTION_TEXT ${InSecUtilities} $(DESC_InSecUtilities)
!insertmacro MUI_DESCRIPTION_TEXT ${InSecDrivers} $(DESC_InSecDrivers)
!insertmacro MUI_DESCRIPTION_TEXT ${InSecInstallDrivers} $(DESC_InSecInstallDrivers)
!insertmacro MUI_DESCRIPTION_TEXT ${InSecInstallOpenGL} $(DESC_InSecInstallOpenGL)
!insertmacro MUI_DESCRIPTION_TEXT ${InSecAeroSimRC} $(DESC_InSecAeroSimRC)
!insertmacro MUI_DESCRIPTION_TEXT ${InSecShortcuts} $(DESC_InSecShortcuts)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;--------------------------------
; Installer functions
Function .onInit
SetShellVarContext all
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
;--------------------------------
; Uninstaller sections
Section "un.${GCS_BIG_NAME}" UnSecProgram
; Remove installed files and/or directories
RMDir /r /rebootok "$INSTDIR\bin"
RMDir /r /rebootok "$INSTDIR\lib"
RMDir /r /rebootok "$INSTDIR\share"
RMDir /r /rebootok "$INSTDIR\firmware"
RMDir /r /rebootok "$INSTDIR\utilities"
RMDir /r /rebootok "$INSTDIR\drivers"
RMDir /r /rebootok "$INSTDIR\misc"
Delete /rebootok "$INSTDIR\*.txt"
Delete /rebootok "$INSTDIR\Uninstall.exe"
; Remove directory
RMDir /rebootok "$INSTDIR"
; Remove registry keys
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${ORG_BIG_NAME}"
DeleteRegKey HKCU "Software\${ORG_BIG_NAME}"
; Remove shortcuts, if any
SetShellVarContext all
Delete /rebootok "$DESKTOP\${GCS_BIG_NAME}.lnk"
Delete /rebootok "$SMPROGRAMS\${ORG_BIG_NAME}\*"
RMDir /rebootok "$SMPROGRAMS\${ORG_BIG_NAME}"
SectionEnd
Section "un.Maps cache" UnSecCache
; Remove maps cache
SetShellVarContext current
RMDir /r /rebootok "$LOCALAPPDATA\${ORG_BIG_NAME}\${GCS_BIG_NAME}"
; Only remove if no other versions have data here
RMDir /rebootok "$LOCALAPPDATA\${ORG_BIG_NAME}"
SectionEnd
Section "un.GCS Layout" UnSecConfig
; Remove GCS configuration files
SetShellVarContext current
Delete /rebootok "$APPDATA\${ORG_BIG_NAME}\${GCS_BIG_NAME}.db"
Delete /rebootok "$APPDATA\${ORG_BIG_NAME}\${GCS_BIG_NAME}.xml"
SectionEnd
Section "-un.Profile" UnSecProfile
; Remove ${ORG_BIG_NAME} user profile subdirectory if empty
SetShellVarContext current
RMDir /rebootok "$APPDATA\${ORG_BIG_NAME}"
SectionEnd
;--------------------------------
; Uninstall section descriptions
!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${UnSecProgram} $(DESC_UnSecProgram)
!insertmacro MUI_DESCRIPTION_TEXT ${UnSecCache} $(DESC_UnSecCache)
!insertmacro MUI_DESCRIPTION_TEXT ${UnSecConfig} $(DESC_UnSecConfig)
!insertmacro MUI_UNFUNCTION_DESCRIPTION_END
;--------------------------------
; Uninstaller functions
Function un.onInit
SetShellVarContext all
!insertmacro MUI_UNGETLANGUAGE
FunctionEnd
;--------------------------------
; Function to run the application from installer
Function RunApplication
Exec '"$INSTDIR\bin\${GCS_SMALL_NAME}.exe"'
FunctionEnd