1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-11-29 07:24:13 +01:00

Merged in james-duley/librepilot/LP-187_use_Msys2 (pull request #132)

LP-187 Use MSYS2
This commit is contained in:
James Duley 2016-01-10 17:17:33 +00:00
commit 294f22d422
14 changed files with 155 additions and 166 deletions

View File

@ -1,40 +1,53 @@
How to build from source?
=========================
# How to build from source?
Both development environment and GCS are supported on Windows, Linux and Mac OS X
## Install prerequisites
The first step is to Install all OS specific prerequisites.
###Mac OS X
### Mac OS X
Install XCode and its relatated command line tools (follow Apple documentation).
Install git, curl and p7zip. You can use brew `brew install git curl p7zip` or macport: `sudo port install git curl p7zip`
###Ubuntu
sudo apt-get install git build-essential curl gdb wget debhelper p7zip-full unzip flex bison libsdl1.2-dev libudev-dev libusb-1.0-0-dev libc6-i386 mesa-common-dev
###Windows
Install [msysGIT](https://msysgit.github.io/) under `C:\git`
### Ubuntu
Clone LibrePilot Git repository.
Open Git Bash and run
sudo apt-get install git build-essential curl gdb wget debhelper p7zip-full unzip flex bison libsdl1.2-dev libudev-dev libusb-1.0-0-dev libc6-i386 mesa-common-dev
cd /path/to/LibrePilot_root
./make/scripts/win_sdk_install.sh
You can build using the `/path/to/LibrePilot_root/make/winx86/bin/make` wrapper to call `mingw32-make.exe` as:
### Windows
./make/winx86/bin/make all_sdk_install
or call `mingw32-make` directly
Install [Msys2](https://msys2.github.io/) following the instructions on the web site. You can either install the i686 (32 bit) or x86_64 (64 bit) version.
mingw32-make all_sdk_install
Start a "MinGW-w64 Win32 Shell" or "MinGW-w64 Win32 Win64 Shell" (NOT "MSYS2 Shell")
Install the dependent packages (32 bit):
pacman -S --needed git unzip tar mingw-w64-i686-toolchain mingw-w64-i686-qt5 mingw-w64-i686-SDL mingw-w64-i686-mesa mingw-w64-i686-openssl
Or for a 64 bit build:
pacman -S --needed git unzip tar mingw-w64-x86_64-toolchain mingw-w64-x86_64-qt5 mingw-w64-x86_64-SDL mingw-w64-x86_64-mesa mingw-w64-x86_64-openssl
*NOTE* On Windows you need to run the mingw version of make, which is 'mingw32-make'
## Setup the build environment and build
##Setup the build environment and build
The `all_sdk_install` target will automatically retrieve and install all needed tools (qt, arm gcc etc.) in a local folder `/path/to/LibrePilot_root/tools`
### Ubuntu / Mac OS X
make all_sdk_install
make package
make all_sdk_install
make package
The `package` target will build the complete installable package for the current platform.
### Windows
mingw32-make all_sdk_install
mingw32-make package
The `package` target will build the complete installable package for the current platform. You can build the 'all' target to just build the software.
Run make with no arguments to show the complete list of supported targets.

View File

@ -130,14 +130,7 @@ else ifeq ($(V), 0)
else ifeq ($(V), 1)
endif
# Make sure we know few things about the architecture before including
# the tools.mk to ensure that we download/install the right tools.
UNAME := $(shell uname)
ARCH := $(shell uname -m)
# Here and everywhere if not Linux or Mac then assume Windows
ifeq ($(filter Linux Darwin, $(UNAME)), )
UNAME := Windows
endif
ARCH := $(call get_arch)
# Include tools installers
include $(ROOT_DIR)/make/tools.mk
@ -147,17 +140,10 @@ include $(ROOT_DIR)/make/tools.mk
# We almost need to consider autoconf/automake instead of this
ifeq ($(UNAME), Linux)
ifeq ($(ARCH), x86_64)
QT_SPEC := linux-g++-64
else
QT_SPEC := linux-g++-32
endif
UAVOBJGENERATOR := $(BUILD_DIR)/uavobjgenerator/uavobjgenerator
else ifeq ($(UNAME), Darwin)
QT_SPEC := macx-g++
UAVOBJGENERATOR := $(BUILD_DIR)/uavobjgenerator/uavobjgenerator
else ifeq ($(UNAME), Windows)
QT_SPEC := win32-g++
UAVOBJGENERATOR := $(BUILD_DIR)/uavobjgenerator/uavobjgenerator.exe
endif
@ -196,7 +182,7 @@ uavobjgenerator: $(UAVOBJGENERATOR)
$(UAVOBJGENERATOR): | $(UAVOBJGENERATOR_DIR)
$(V1) cd $(UAVOBJGENERATOR_DIR) && \
( [ -f Makefile ] || $(QMAKE) $(ROOT_DIR)/ground/uavobjgenerator/uavobjgenerator.pro \
-spec $(QT_SPEC) CONFIG+=$(GCS_BUILD_CONF) CONFIG+=$(GCS_SILENT) ) && \
CONFIG+=$(GCS_BUILD_CONF) CONFIG+=$(GCS_SILENT) ) && \
$(MAKE) --no-print-directory -w
UAVOBJ_TARGETS := gcs flight python matlab java wireshark
@ -270,7 +256,7 @@ GCS_MAKEFILE := $(GCS_DIR)/Makefile
gcs_qmake $(GCS_MAKEFILE): | $(GCS_DIR)
$(V1) cd $(GCS_DIR) && \
$(QMAKE) $(ROOT_DIR)/ground/gcs/gcs.pro \
-spec $(QT_SPEC) -r CONFIG+=$(GCS_BUILD_CONF) CONFIG+=$(GCS_SILENT) \
-r CONFIG+=$(GCS_BUILD_CONF) CONFIG+=$(GCS_SILENT) \
'GCS_BIG_NAME="$(GCS_BIG_NAME)"' GCS_SMALL_NAME=$(GCS_SMALL_NAME) \
'ORG_BIG_NAME="$(ORG_BIG_NAME)"' ORG_SMALL_NAME=$(ORG_SMALL_NAME) \
'WIKI_URL_ROOT="$(WIKI_URL_ROOT)"' \
@ -304,7 +290,7 @@ UPLOADER_MAKEFILE := $(UPLOADER_DIR)/Makefile
uploader_qmake $(UPLOADER_MAKEFILE): | $(UPLOADER_DIR)
$(V1) cd $(UPLOADER_DIR) && \
$(QMAKE) $(ROOT_DIR)/ground/gcs/src/experimental/USB_UPLOAD_TOOL/upload.pro \
-spec $(QT_SPEC) -r CONFIG+=$(GCS_BUILD_CONF) CONFIG+=$(GCS_SILENT) $(GCS_QMAKE_OPTS)
-r CONFIG+=$(GCS_BUILD_CONF) CONFIG+=$(GCS_SILENT) $(GCS_QMAKE_OPTS)
.PHONY: uploader
uploader: $(UPLOADER_MAKEFILE)
@ -510,7 +496,7 @@ OPFW_FILES := $(foreach fw_targ, $(PACKAGE_FW_TARGETS), $(FIRMWARE_DIR)/$(fw_tar
OPFW_CONTENTS := \
<!DOCTYPE RCC><RCC version="1.0"> \
<qresource prefix="/firmware"> \
$(foreach fw_file, $(OPFW_FILES), <file alias="$(notdir $(fw_file))">$(fw_file)</file>) \
$(foreach fw_file, $(OPFW_FILES), <file alias="$(notdir $(fw_file))">$(call system_path, $(fw_file))</file>) \
</qresource> \
</RCC>

View File

@ -31,7 +31,7 @@ equals(copyqt, 1) {
libicui18n.so.54 \
libicuuc.so.54 \
libicudata.so.54
*-64 {
contains(QT_ARCH, x86_64) {
QT_LIBS += libqgsttools_p.so.1
}
for(lib, QT_LIBS) {
@ -48,12 +48,11 @@ equals(copyqt, 1) {
platforms/libqxcb.so \
xcbglintegrations/libqxcb-glx-integration.so \
sqldrivers/libqsqlite.so
*-32 {
QT_PLUGINS += mediaservice/libqtmedia_audioengine.so
}
*-64 {
contains(QT_ARCH, x86_64) {
QT_PLUGINS += mediaservice/libgstaudiodecoder.so \
mediaservice/libgstmediaplayer.so
} else {
QT_PLUGINS += mediaservice/libqtmedia_audioengine.so
}
}
@ -81,13 +80,26 @@ equals(copyqt, 1) {
Qt5Quick$${DS}.dll \
Qt5QuickWidgets$${DS}.dll \
Qt5Qml$${DS}.dll \
icuin54.dll \
icudt54.dll \
icuuc54.dll
# it is more robust to take the following DLLs from Qt rather than from MinGW
QT_DLLS += libgcc_s_dw2-1.dll \
libstdc++-6.dll \
libwinpthread-1.dll
libicuin56.dll \
libicudt56.dll \
libicuuc56.dll \
libstdc++-6.dll \
libwinpthread-1.dll \
libpcre16-0.dll \
zlib1.dll \
libharfbuzz-0.dll \
libfreetype-6.dll \
libbz2-1.dll \
libpng16-16.dll \
libglib-2.0-0.dll \
libintl-8.dll \
libiconv-2.dll
contains(QT_ARCH, i386) {
QT_DLLS += libgcc_s_dw2-1.dll
} else {
QT_DLLS += libgcc_s_seh-1.dll
}
for(dll, QT_DLLS) {
addCopyFileTarget($${dll},$$[QT_INSTALL_BINS],$${GCS_APP_PATH})
}
@ -97,14 +109,14 @@ equals(copyqt, 1) {
ssleay32.dll \
libeay32.dll
for(dll, OPENSSL_DLLS) {
addCopyFileTarget($${dll},$${OPENSSL_DIR},$${GCS_APP_PATH})
addCopyFileTarget($${dll},$$[QT_INSTALL_BINS],$${GCS_APP_PATH})
}
# copy OpenGL DLL
OPENGL_DLLS = \
opengl32_32/opengl32.dll
opengl32.dll
for(dll, OPENGL_DLLS) {
addCopyFileTarget($${dll},$${MESAWIN_DIR},$${GCS_APP_PATH})
addCopyFileTarget($${dll},$$[QT_INSTALL_BINS],$${GCS_APP_PATH}/opengl32)
}
QT_PLUGINS = iconengines/qsvgicon$${DS}.dll \

View File

@ -3,16 +3,15 @@
#
equals(copyosg, 1) {
OSG_VERSION = 3.4.0
OSG_VERSION = 3.5.1
linux {
# copy osg libraries
data_copy.commands += $(MKDIR) $${GCS_LIBRARY_PATH}/osg $$addNewline()
*-64 {
contains(QT_ARCH, x86_64) {
data_copy.commands += $(COPY_DIR) $$shell_quote($$OSG_SDK_DIR/lib64/)* $$shell_quote($$GCS_LIBRARY_PATH/osg/)
}
*-32 {
} else {
data_copy.commands += $(COPY_DIR) $$shell_quote($$OSG_SDK_DIR/lib/)* $$shell_quote($$GCS_LIBRARY_PATH/osg/)
}
@ -42,12 +41,12 @@ equals(copyosg, 1) {
OSG_LIBS = \
libcurl-4.dll \
libfreetype-6.dll \
libgdal.dll \
libgeos-3-3-8.dll \
libgeos_c-1.dll \
libjpeg-9.dll \
libgdal-20.dll \
libgeos.dll \
libgeos_c.dll \
libjpeg-8.dll \
libpng16-16.dll \
libproj-0.dll \
libproj-9.dll \
libtiff-5.dll \
libtiffxx-5.dll \
zlib1.dll \

View File

@ -4,7 +4,7 @@ equals(copydata, 1) {
SDL_DLLS = \
SDL.dll
for(dll, SDL_DLLS) {
addCopyFileTarget($${dll},$${SDL_DIR}/bin,$${GCS_APP_PATH})
addCopyFileTarget($${dll},$$[QT_INSTALL_BINS],$${GCS_APP_PATH})
}
}
}

View File

@ -54,26 +54,10 @@
#include <windows.h>
#include <dbt.h>
#include <setupapi.h>
extern "C"
{
#include <hidsdi.h>
// from working mingw hidsdi.h
#ifdef __cplusplus
extern "C" {
#endif
HIDAPI VOID WINAPI HidD_GetHidGuid(LPGUID);
HIDAPI BOOL WINAPI HidD_GetPreparsedData(HANDLE, PHIDP_PREPARSED_DATA *);
HIDAPI BOOL WINAPI HidD_FreePreparsedData(PHIDP_PREPARSED_DATA);
HIDAPI BOOL WINAPI HidD_FlushQueue(HANDLE);
HIDAPI BOOL WINAPI HidD_GetConfiguration(HANDLE, PHIDD_CONFIGURATION, ULONG);
HIDAPI BOOL WINAPI HidD_SetConfiguration(HANDLE, PHIDD_CONFIGURATION, ULONG);
HIDAPI BOOL WINAPI HidD_GetPhysicalDescriptor(HANDLE, PVOID, ULONG);
HIDAPI BOOL WINAPI HidD_GetIndexedString(HANDLE, ULONG, PVOID, ULONG);
HIDAPI BOOL WINAPI HidD_GetSerialNumberString(HANDLE, PVOID, ULONG);
#ifdef __cplusplus
}
#endif
#endif // if defined(Q_OS_MAC)

View File

@ -16,6 +16,20 @@
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Make sure we know few things about the architecture before including
# the tools.mk to ensure that we download/install the right tools.
UNAME := $(shell uname)
# Here and everywhere if not Linux or Mac then assume Windows
ifeq ($(filter Linux Darwin, $(UNAME)), )
UNAME := Windows
endif
ifeq ($(UNAME),Windows)
system_path = $(shell cygpath -w $(1))
else
system_path = $(1)
endif
# Function for converting Windows style slashes into Unix style
slashfix = $(subst \,/,$(1))
@ -36,3 +50,4 @@ endef
smallify = $(subst $(SPACE),-,$(call lc,$1))
get_arch = $(shell $(CC) -dumpmachine | sed s/-.*//)

View File

@ -195,6 +195,25 @@ class Repo:
except:
return None
def version_four_num(self):
"""Return package version in format X.X.X.X using only numbers"""
try:
(release, junk, candidate) = self._last_tag.partition("-RC")
(year, dot, month_and_patch) = release.partition(".")
(month, dot, patch) = month_and_patch.partition(".")
if candidate == "":
candidate = "64" # Need to stay below 65536 for last part
if patch == "":
patch = "0"
return "{}.{}.{}.{}{:0>3.3}".format(year,month,patch,candidate,self._num_commits_past_tag)
except:
return None
def revision(self):
"""Return full revison string (tag if defined, or branch:hash date time if no tag)"""
try:
@ -463,6 +482,7 @@ string given.
TAG_OR_BRANCH = r.tag(r.branch('unreleased')),
TAG_OR_HASH8 = r.tag(r.hash(8, 'untagged')),
LABEL = r.label(),
VERSION_FOUR_NUM = r.version_four_num(),
REVISION = r.revision(),
DIRTY = r.dirty(),
FWTAG = xtrim(r.tag(r.branch('unreleased')), r.dirty(), 25),

View File

@ -166,9 +166,11 @@ QT_SDK_PREFIX := $(QT_SDK_DIR)
#
##############################
BUILD_SDK_TARGETS := arm_sdk qt_sdk osg
BUILD_SDK_TARGETS := arm_sdk
ifeq ($(UNAME), Windows)
BUILD_SDK_TARGETS += sdl nsis mesawin openssl ccache
BUILD_SDK_TARGETS += nsis
else
BUILD_SDK_TARGETS += qt_sdk
endif
ALL_SDK_TARGETS := $(BUILD_SDK_TARGETS) gtest uncrustify doxygen

View File

@ -54,9 +54,9 @@ install: uninstall
$(V1) $(MKDIR) -p $(DESTDIR)$(datadir)
$(V1) $(MKDIR) -p $(DESTDIR)$(datadir)/applications
$(V1) $(MKDIR) -p $(DESTDIR)$(datadir)/pixmaps
$(V1) $(INSTALL) $(BUILD_DIR)/$(GCS_SMALL_NAME)_$(GCS_BUILD_CONF)/bin/$(GCS_SMALL_NAME) $(DESTDIR)$(bindir)
$(V1) $(INSTALL) $(BUILD_DIR)/$(GCS_SMALL_NAME)_$(GCS_BUILD_CONF)/$(libbasename)/$(GCS_SMALL_NAME) $(DESTDIR)$(libdir)
$(V1) $(INSTALL) $(BUILD_DIR)/$(GCS_SMALL_NAME)_$(GCS_BUILD_CONF)/share/$(GCS_SMALL_NAME) $(DESTDIR)$(datadir)
$(V1) $(INSTALL) $(GCS_DIR)/bin/$(GCS_SMALL_NAME) $(DESTDIR)$(bindir)
$(V1) $(INSTALL) $(GCS_DIR)/$(libbasename)/$(GCS_SMALL_NAME) $(DESTDIR)$(libdir)
$(V1) $(INSTALL) $(GCS_DIR)/share/$(GCS_SMALL_NAME) $(DESTDIR)$(datadir)
$(V1) $(INSTALL) -T $(ROOT_DIR)/package/linux/gcs.desktop $(DESTDIR)$(datadir)/applications/$(ORG_SMALL_NAME).desktop
$(V1) $(INSTALL) -T $(ROOT_DIR)/ground/gcs/src/plugins/coreplugin/images/$(ORG_SMALL_NAME)_logo_128.png \
$(DESTDIR)$(datadir)/pixmaps/$(ORG_SMALL_NAME).png

View File

@ -6,31 +6,36 @@ ifndef TOP_LEVEL_MAKEFILE
$(error Top level Makefile must be used to build this target)
endif
VERSION_CMD := $(VERSION_INFO)
PACKAGE_EXE := $(BUILD_DIR)/$(PACKAGE_FULL_NAME)_$(ARCH).exe
NSIS_OPTS := /V3
NSIS_OPTS := -V3
NSIS_WINX86 := $(ROOT_DIR)/package/winx86
NSIS_SCRIPT := $(NSIS_WINX86)/gcs.nsi
NSIS_TEMPLATE := $(NSIS_WINX86)/gcs.tpl
NSIS_HEADER := $(OPGCSSYNTHDIR)/gcs.nsh
ifeq ($(ARCH),x86_64)
WIN_DEF = -DW64
endif
.PHONY: package
package: gcs uavobjects_matlab | $(PACKAGE_DIR)
package: $(PACKAGE_EXE)
$(PACKAGE_EXE): $(NSIS_SCRIPT) gcs uavobjects_matlab | $(PACKAGE_DIR)
ifneq ($(GCS_BUILD_CONF),release)
# We can only package release builds
$(error Packaging is currently supported for release builds only)
endif
$(V1) mkdir -p "$(dir $(NSIS_HEADER))"
$(VERSION_CMD) \
--template='$(NSIS_TEMPLATE)' \
--outfile='$(NSIS_HEADER)' \
ORG_BIG_NAME='$(ORG_BIG_NAME)' \
GCS_BIG_NAME='$(GCS_BIG_NAME)' \
GCS_SMALL_NAME='$(GCS_SMALL_NAME)' \
PACKAGE_LBL='$(PACKAGE_LBL)' \
PACKAGE_NAME='$(PACKAGE_NAME)' \
PACKAGE_SEP='$(PACKAGE_SEP)'
$(V1) echo "Building Windows installer, please wait..."
$(V1) echo "If you have a script error in line 1 - use Unicode NSIS 2.46+"
$(V1) echo " http://www.scratchpaper.com"
$(NSIS) $(NSIS_OPTS) $(NSIS_SCRIPT)
$(NSIS) $(NSIS_OPTS) \
-DORG_BIG_NAME='$(ORG_BIG_NAME)' \
-DGCS_BIG_NAME='$(GCS_BIG_NAME)' \
-DGCS_SMALL_NAME='$(GCS_SMALL_NAME)' \
-DPACKAGE_LBL='$(PACKAGE_LBL)' \
-DVERSION_FOUR_NUM='$(shell $(VERSION_INFO) --format=\$${VERSION_FOUR_NUM})' \
-DOUT_FILE='$(call system_path,$(PACKAGE_EXE))' \
-DPROJECT_ROOT='$(call system_path,$(ROOT_DIR))' \
-DGCS_BUILD_TREE='$(call system_path,$(GCS_DIR))' \
-DUAVO_SYNTH_TREE='$(call system_path,$(UAVOBJ_OUT_DIR))' \
$(WIN_DEF) \
$(NSIS_SCRIPT)

View File

@ -29,20 +29,19 @@
; 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}"
!ifdef W64
InstallDir "$PROGRAMFILES64\${ORG_BIG_NAME}"
!else
InstallDir "$PROGRAMFILES32\${ORG_BIG_NAME}"
!endif
; Get installation folder from registry if available
InstallDirRegKey HKLM "Software\${ORG_BIG_NAME}" "Install Location"
@ -50,21 +49,15 @@
;--------------------------------
; Version information
; Program name and installer file
!define PRODUCT_NAME "${GCS_BIG_NAME}"
!define INSTALLER_NAME "${GCS_BIG_NAME} Installer"
Name "${GCS_BIG_NAME}"
OutFile "${OUT_FILE}"
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}"
VIProductVersion ${VERSION_FOUR_NUM}
VIAddVersionKey "ProductName" "${GCS_BIG_NAME}"
VIAddVersionKey "ProductVersion" "${VERSION_FOUR_NUM}"
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}"
VIAddVersionKey "FileDescription" "${GCS_BIG_NAME} Installer"
;--------------------------------
; Installer interface and base settings
@ -182,13 +175,6 @@ Section "-Plugins" InSecPlugins
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"
@ -222,7 +208,7 @@ 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"
File /r "${GCS_BUILD_TREE}\bin\opengl32\opengl32.dll"
SectionEnd
; AeroSimRC plugin files
@ -236,9 +222,9 @@ Section "Shortcuts" InSecShortcuts
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}"
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0
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}"
"-reset" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0
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" \
@ -254,7 +240,7 @@ Section "Shortcuts" InSecShortcuts
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\Forums.lnk" "http://forum.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}"
"" "$INSTDIR\bin\${GCS_SMALL_NAME}.exe" 0
CreateShortCut "$SMPROGRAMS\${ORG_BIG_NAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
SectionEnd

View File

@ -1,28 +0,0 @@
#
# *****************************************************************************
#
# @file ${OUTFILENAME}
# @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2011-2015.
# @brief Autogenerated NSIS header file, built using template
# ${TEMPLATE}
#
# @see The GNU Public License (GPL) Version 3
#
# *****************************************************************************
#
; Some names, paths and constants
!define ORG_BIG_NAME "${ORG_BIG_NAME}"
!define GCS_BIG_NAME "${GCS_BIG_NAME}"
!define GCS_SMALL_NAME "${GCS_SMALL_NAME}"
!define PACKAGE_LBL "${PACKAGE_LBL}"
!define PACKAGE_NAME "${PACKAGE_NAME}"
!define PACKAGE_SEP "${PACKAGE_SEP}"
!define PACKAGE_DIR "..\..\build\package"
!define FIRMWARE_DIR "firmware"
!define OUT_FILE "$${PACKAGE_NAME}$${PACKAGE_SEP}$${PACKAGE_LBL}$${PACKAGE_SEP}win32.exe"
; Installer version info
!define PRODUCT_VERSION "0.0.0.0"
!define FILE_VERSION "${TAG_OR_BRANCH}:${HASH8}${DIRTY} ${DATETIME}"
!define BUILD_DESCRIPTION "${PACKAGE_LBL} built from ${ORIGIN}, committed ${DATETIME} as ${HASH}"

View File

@ -76,12 +76,7 @@ function download_file
#2 The output directory
function zip_extract
{
if [ "$uname" = Windows ]
then
7za.exe x -o"$2" "$1"
else
unzip "$1" -d "$2"
fi
unzip "$1" -d "$2"
}
## Extracts a 7zip file