Add install targets

refs #486
This commit is contained in:
Roland Winklmeier
2015-08-19 15:46:17 +02:00
committed by Mathew Sutcliffe
parent 2b63fd0a91
commit 5eddef0f12
23 changed files with 320 additions and 35 deletions

139
install.pri Normal file
View File

@@ -0,0 +1,139 @@
CONFIG(debug, debug|release): DLL_DEBUG_SUFFIX = d
############### Readme, License etc. #####
text_files_target.path = $${PREFIX}/bin
text_files_target.files *= README.md
text_files_target.files *= LICENSE
INSTALLS += text_files_target
############### Install Qt5 ##############
win32 {
qt5_target.path = $${PREFIX}/bin
} else {
qt5_target.path = $${PREFIX}/lib
}
qt5_target.files *= $$[QT_INSTALL_BINS]/Qt5Core$${DLL_DEBUG_SUFFIX}.$${QMAKE_EXTENSION_SHLIB}
qt5_target.files *= $$[QT_INSTALL_BINS]/Qt5Gui$${DLL_DEBUG_SUFFIX}.$${QMAKE_EXTENSION_SHLIB}
qt5_target.files *= $$[QT_INSTALL_BINS]/Qt5Network$${DLL_DEBUG_SUFFIX}.$${QMAKE_EXTENSION_SHLIB}
qt5_target.files *= $$[QT_INSTALL_BINS]/Qt5DBus$${DLL_DEBUG_SUFFIX}.$${QMAKE_EXTENSION_SHLIB}
qt5_target.files *= $$[QT_INSTALL_BINS]/Qt5Xml$${DLL_DEBUG_SUFFIX}.$${QMAKE_EXTENSION_SHLIB}
qt5_target.files *= $$[QT_INSTALL_BINS]/Qt5Multimedia$${DLL_DEBUG_SUFFIX}.$${QMAKE_EXTENSION_SHLIB}
qt5_target.files *= $$[QT_INSTALL_BINS]/Qt5Svg$${DLL_DEBUG_SUFFIX}.$${QMAKE_EXTENSION_SHLIB}
qt5_target.files *= $$[QT_INSTALL_BINS]/Qt5Widgets$${DLL_DEBUG_SUFFIX}.$${QMAKE_EXTENSION_SHLIB}
qt5_target.files *= $$[QT_INSTALL_BINS]/icudt54.$${QMAKE_EXTENSION_SHLIB}
qt5_target.files *= $$[QT_INSTALL_BINS]/icuin54.$${QMAKE_EXTENSION_SHLIB}
qt5_target.files *= $$[QT_INSTALL_BINS]/icuuc54.$${QMAKE_EXTENSION_SHLIB}
INSTALLS += qt5_target
############### Install Qt5 platform plugins ##############
win32 {
QT5_PLATFORM_PLUGINS *= qwindows
}
qt5_plugin_target.path = $${PREFIX}/bin/platforms
for (LIBRARY, QT5_PLATFORM_PLUGINS) {
qt5_plugin_target.files *= $$[QT_INSTALL_PLUGINS]/platforms/$${LIBRARY}$${DLL_DEBUG_SUFFIX}.$${QMAKE_EXTENSION_SHLIB}
}
INSTALLS += qt5_plugin_target
############### Install DBus ##############
dbus_target.path = $${PREFIX}/bin
dbus_target.files *= $$[QT_INSTALL_BINS]/expat.$${QMAKE_EXTENSION_SHLIB}
dbus_target.files *= $$[QT_INSTALL_BINS]/dbus-1.$${QMAKE_EXTENSION_SHLIB}
dbus_target.files *= $$[QT_INSTALL_BINS]/dbus-1-3.$${QMAKE_EXTENSION_SHLIB}
dbus_target.files *= $$[QT_INSTALL_BINS]/dbus-daemon.$${QMAKE_EXTENSION_EXE}
dbus_config_target.path = $${PREFIX}/share/dbus-1
# Order is important here. Newer builds of dbus have the config
# file in share rather and etc has an empty one. In case we have a newer
# build the empty one will be installed first and the full one from
# share overwritten later.
dbus_config_target.files *= $$[QT_INSTALL_BINS]/../etc/dbus-1/*
dbus_config_target.files *= $$[QT_INSTALL_BINS]/../share/dbus-1/*
INSTALLS += dbus_target dbus_config_target
############### Install VC runtime ##############
win32-msvc2013 {
equals(WORD_SIZE,64) {
vc_redist_target.files *= $$(VS120COMNTOOLS)../../VC/redist/1033/vcredist_x64.exe
}
equals(WORD_SIZE,32) {
vc_redist_target.files *= $$(VS120COMNTOOLS)../../VC/redist/1033/vcredist_x86.exe
}
vc_redist_target.path *= $${PREFIX}/vcredist
INSTALLS += vc_redist_target
}
win32-g++ {
VC_RUNTIME_LIBS *= libgcc_s_dw2-1
VC_RUNTIME_LIBS *= libwinpthread-1
vc_runtime_target.path *= $${PREFIX}/bin
for (LIBRARY, VC_RUNTIME_LIBS) {
vc_runtime_target.files *= $$[QT_INSTALL_BINS]/$${LIBRARY}.$${QMAKE_EXTENSION_SHLIB}
}
INSTALLS += vc_runtime_target
# libstdc++-6.dll needs a workaround since copy does not accept a filepath with '+' in it
vc_runtime_target.depends += copy_libstdc
copy_libstdc.target = copy_libstdc
source_path = $$[QT_INSTALL_BINS]/libstdc++-6.dll
dest_path = $$vc_runtime_target.path
copy_libstdc.commands = xcopy /Y $$shell_path($$source_path) $$shell_path($$dest_path)
QMAKE_EXTRA_TARGETS += copy_libstdc
}
############### Install externals ##############
externals_target.path = $${PREFIX}/bin
!win32-g++: externals_target.files *= $${EXTERNALLIBS}/*.$${QMAKE_EXTENSION_SHLIB}
INSTALLS += externals_target
# win32-g++ needs a workaround since copy does not accept a filepath with '+' in it
# we also need to make it dependent on vc_runtime_target since this target has no
# files and does not generate any install target.
win32-g++ {
vc_runtime_target.depends += copy_externals
copy_externals.target = copy_externals
source_path = $${EXTERNALLIBS}//*.dll
dest_path = $${externals_target.path}
copy_externals.commands += xcopy /Y $$shell_path($$source_path) $$shell_path($$dest_path) $$escape_expand(\n\t)
QMAKE_EXTRA_TARGETS += copy_externals
}
############### Installbuilder ##############
bitrock_customize_bin = $$(BITROCK_CUSTOMIZE)
bitrock_builder_bin = $$(BITROCK_BUILDER)
win32:!isEmpty(bitrock_customize_bin):!isEmpty(bitrock_builder_bin) {
copy_installer_project.depends = install
copy_installer_project.commands = xcopy /Y /E /I $$shell_path($$SourceRoot/installer) $$shell_path($$DestRoot/../../installer)
QMAKE_EXTRA_TARGETS += copy_installer_project
bitrock_autoupdateproject = "$${PREFIX}/../installer/installbuilder/autoupdateproject.xml"
bitrock_project = $${PREFIX}/../installer/installbuilder/project.xml
create_updater.depends = copy_installer_project
create_updater.commands = $${bitrock_customize_bin} build $${bitrock_autoupdateproject} windows
QMAKE_EXTRA_TARGETS += create_updater
create_installer.depends = create_updater
create_installer.commands = $${bitrock_builder_bin} build $${bitrock_project} windows --setvars project.outputDirectory=$${PREFIX}/..
QMAKE_EXTRA_TARGETS += create_installer
}

View File

@@ -15,41 +15,6 @@ macx:staticlib:isEmpty(SOURCES) {
QMAKE_MAC_SDK.$$basename(QMAKESPEC).$${QMAKE_MAC_SDK}.QMAKE_RANLIB = $$QMAKE_RANLIB
}
################################
# Externals
################################
INCLUDEPATH *= $$EXTERNALDIR/common/include
# and the library path depending on the used compiler
win32-msvc2013 {
INCLUDEPATH *= $$EXTERNALDIR/win32-vs2013/include
equals(WORD_SIZE,64): LIBS *= -L$$EXTERNALDIR/win32-vs2013/lib64
equals(WORD_SIZE,32): LIBS *= -L$$EXTERNALDIR/win32-vs2013/lib32
equals(WORD_SIZE,32): LIBS += -luser32
}
win32-msvc2015 {
INCLUDEPATH *= $$EXTERNALDIR/win32-vs2015/include
equals(WORD_SIZE,64): LIBS *= -L$$EXTERNALDIR/win32-vs2015/lib64
equals(WORD_SIZE,32): LIBS *= -L$$EXTERNALDIR/win32-vs2015/lib32
equals(WORD_SIZE,32): LIBS += -luser32
}
win32-g++ {
INCLUDEPATH *= $$EXTERNALDIR/win32-g++/include
equals(WORD_SIZE,64): LIBS *= -L$$EXTERNALDIR/win32-g++/lib64
equals(WORD_SIZE,32): LIBS *= -L$$EXTERNALDIR/win32-g++/lib32
LIBS += -luser32
}
linux-g++* {
equals(WORD_SIZE,64): LIBS *= -L$$EXTERNALDIR/linux-g++/lib64
equals(WORD_SIZE,32): LIBS *= -L$$EXTERNALDIR/linux-g++/lib32
}
macx-clang {
INCLUDEPATH *= $$EXTERNALDIR/macx-clang/include
equals(WORD_SIZE,64): LIBS *= -L$$EXTERNALDIR/macx-clang/lib64 -F$$EXTERNALDIR/macx-clang/lib64
equals(WORD_SIZE,32): LIBS *= -L$$EXTERNALDIR/macx-clang/lib32 -F$$EXTERNALDIR/macx-clang/lib32
}
################################
# Black libs
################################

View File

@@ -110,3 +110,72 @@ isEmpty(EXTERNALDIR) {
!exists("$$EXTERNALDIR/common/include") {
error("Could not find externals in $$EXTERNALDIR. Please install it!")
}
################################
# Externals
################################
INCLUDEPATH *= $$EXTERNALDIR/common/include
# and the library path depending on the used compiler
win32-msvc2013 {
INCLUDEPATH *= $$EXTERNALDIR/win32-vs2013/include
equals(WORD_SIZE,64) {
EXTERNALLIBS = $$EXTERNALDIR/win32-vs2013/lib64
LIBS *= -L$$EXTERNALLIBS
}
equals(WORD_SIZE,32) {
EXTERNALLIBS = $$EXTERNALDIR/win32-vs2013/lib32
LIBS *= -L$$EXTERNALLIBS
}
equals(WORD_SIZE,32): LIBS += -luser32
}
win32-g++ {
INCLUDEPATH *= $$EXTERNALDIR/win32-g++/include
equals(WORD_SIZE,64) {
EXTERNALLIBS = $$EXTERNALDIR/win32-g++/lib64
LIBS *= -L$$EXTERNALLIBS
}
equals(WORD_SIZE,32) {
EXTERNALLIBS = $$EXTERNALDIR/win32-g++/lib32
LIBS *= -L$$EXTERNALLIBS
}
LIBS += -luser32
}
linux-g++* {
equals(WORD_SIZE,64) {
EXTERNALLIBS = $$EXTERNALDIR/linux-g++/lib64
LIBS *= -L$$EXTERNALLIBS
}
equals(WORD_SIZE,32) {
EXTERNALLIBS = $$EXTERNALDIR/linux-g++/lib32
LIBS *= -L$$EXTERNALLIBS
}
}
macx-clang {
INCLUDEPATH *= $$EXTERNALDIR/macx-clang/include
equals(WORD_SIZE,64): LIBS *= -L$$EXTERNALDIR/macx-clang/lib64 -F$$EXTERNALDIR/macx-clang/lib64
equals(WORD_SIZE,32): LIBS *= -L$$EXTERNALDIR/macx-clang/lib32 -F$$EXTERNALDIR/macx-clang/lib32
}
################################
# Platform extensions
################################
isEmpty(QMAKE_EXTENSION_SHLIB) {
mac|ios: QMAKE_EXTENSION_SHLIB = dylib
else:win*: QMAKE_EXTENSION_SHLIB = dll
else: QMAKE_EXTENSION_SHLIB = so
}
isEmpty(QMAKE_EXTENSION_EXE) {
win32: QMAKE_EXTENSION_EXE = exe
}
################################
# Install prefix
################################
isEmpty(PREFIX) {
PREFIX = $$BuildRoot/dist
}

View File

@@ -12,5 +12,6 @@ BLACK_CONFIG += FS9
BLACK_CONFIG += FSX
BLACK_CONFIG += XPlane
BLACK_CONFIG += ProfileRelease
BLACK_CONFIG += PackageInstaller
#BLACK_CONFIG += Static
#BLACK_CONFIG += Doxygen

View File

@@ -22,4 +22,11 @@ COPY_FILES += $$PWD/local.env.template/*.*
COPY_FILES += $$PWD/local.env.template/bootstrap/*.*
COPY_FILES += $$PWD/local.env.template/bootstrap/0.6/*.*
package_resources.path = $$PREFIX
package_resources.files += data
package_resources.files += swiftDB
package_resources.files += bootstrap
package_resources.files += local.env.template
INSTALLS += package_resources
load(common_post)

View File

@@ -19,4 +19,7 @@ SOURCES += *.cpp
OTHER_FILES +=
target.path = $$PREFIX/bin
INSTALLS += target
load(common_post)

View File

@@ -19,4 +19,7 @@ SOURCES += *.cpp
OTHER_FILES += *.txt *.xml
target.path = $$PREFIX/bin
INSTALLS += target
load(common_post)

View File

@@ -17,4 +17,7 @@ DESTDIR = $$DestRoot/bin
HEADERS += *.h
SOURCES += *.cpp
target.path = $$PREFIX/bin
INSTALLS += target
load(common_post)

View File

@@ -17,4 +17,7 @@ DESTDIR = $$DestRoot/bin
HEADERS += *.h
SOURCES += *.cpp
target.path = $$PREFIX/bin
INSTALLS += target
load(common_post)

View File

@@ -17,4 +17,7 @@ HEADERS += *.h
DESTDIR = $$DestRoot/bin
target.path = $$PREFIX/bin
INSTALLS += target
load(common_post)

View File

@@ -17,4 +17,7 @@ SOURCES += *.cpp
DESTDIR = $$DestRoot/bin
target.path = $$PREFIX/bin
INSTALLS += target
load(common_post)

View File

@@ -37,4 +37,12 @@ DLLDESTDIR = $$DestRoot/bin
OTHER_FILES += readme.txt *.xml
win32 {
dlltarget.path = $$PREFIX/bin
INSTALLS += dlltarget
} else {
target.path = $$PREFIX/lib
INSTALLS += target
}
load(common_post)

View File

@@ -56,4 +56,18 @@ DLLDESTDIR = $$DestRoot/bin
OTHER_FILES += ./qss/*.qss ./qss/*.css ./qss/*.ini *.ico *.rc
COPY_FILES += $$PWD/qss/*
win32 {
dlltarget.path = $$PREFIX/bin
INSTALLS += dlltarget
} else {
target.path = $$PREFIX/lib
INSTALLS += target
}
package_utils.path = $$PREFIX/qss
package_utils.files += qss/*.qss
package_utils.files += qss/*.css
package_utils.files += qss/*.ini
INSTALLS += package_utils
load(common_post)

View File

@@ -48,4 +48,12 @@ DLLDESTDIR = $$DestRoot/bin
OTHER_FILES +=
RESOURCES +=
win32 {
dlltarget.path = $$PREFIX/bin
INSTALLS += dlltarget
} else {
target.path = $$PREFIX/lib
INSTALLS += target
}
load(common_post)

View File

@@ -65,4 +65,12 @@ DLLDESTDIR = $$DestRoot/bin
OTHER_FILES += $$TRANSLATIONS readme.txt
win32 {
dlltarget.path = $$PREFIX/bin
INSTALLS += dlltarget
} else {
target.path = $$PREFIX/lib
INSTALLS += target
}
load(common_post)

View File

@@ -30,4 +30,17 @@ OTHER_FILES += ./sounds/*.wav sounds/readme.txt
COPY_FILES += $$PWD/sounds/*
RESOURCES +=
win32 {
dlltarget.path = $$PREFIX/bin
INSTALLS += dlltarget
} else {
target.path = $$PREFIX/lib
INSTALLS += target
}
package_sounds.path = $$PREFIX/sounds
package_sounds.files += sounds/*.wav
package_sounds.files += sounds/readme.txt
INSTALLS += package_sounds
load(common_post)

View File

@@ -23,4 +23,12 @@ HEADERS += *.h
DESTDIR = $$DestRoot/bin/plugins/simulator
win32 {
dlltarget.path = $$PREFIX/bin/plugins/simulator
INSTALLS += dlltarget
} else {
target.path = $$PREFIX/bin/plugins/simulator
INSTALLS += target
}
load(common_post)

View File

@@ -23,4 +23,12 @@ HEADERS += *.h
DESTDIR = $$DestRoot/bin/plugins/simulator
win32 {
dlltarget.path = $$PREFIX/bin/plugins/simulator
INSTALLS += dlltarget
} else {
target.path = $$PREFIX/bin/plugins/simulator
INSTALLS += target
}
load(common_post)

View File

@@ -16,4 +16,12 @@ HEADERS += *.h
DESTDIR = $$DestRoot/bin/plugins/simulator
win32 {
dlltarget.path = $$PREFIX/bin/plugins/simulator
INSTALLS += dlltarget
} else {
target.path = $$PREFIX/bin/plugins/simulator
INSTALLS += target
}
load(common_post)

View File

@@ -25,4 +25,7 @@ DISTFILES += swiftcore.rc
DESTDIR = $$DestRoot/bin
target.path = $$PREFIX/bin
INSTALLS += target
load(common_post)

View File

@@ -26,4 +26,7 @@ DISTFILES += swiftdata.rc
DESTDIR = $$DestRoot/bin
target.path = $$PREFIX/bin
INSTALLS += target
load(common_post)

View File

@@ -34,4 +34,7 @@ DISTFILES += swift.rc
DESTDIR = $$DestRoot/bin
target.path = $$PREFIX/bin
INSTALLS += target
load(common_post)

View File

@@ -71,3 +71,5 @@ contains(BLACK_CONFIG, Unittests) {
contains(BLACK_CONFIG, Doxygen) {
SUBDIRS += docs/doxygen.pro
}
include(install.pri)