|
|
|
# -------------------------------------------------
|
|
|
|
# QGroundControl - Micro Air Vehicle Groundstation
|
|
|
|
# Please see our website at <http://qgroundcontrol.org>
|
|
|
|
# Maintainer:
|
|
|
|
# Lorenz Meier <lm@inf.ethz.ch>
|
|
|
|
# (c) 2009-2011 QGroundControl Developers
|
|
|
|
# This file is part of the open groundstation project
|
|
|
|
# QGroundControl 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.
|
|
|
|
# QGroundControl 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 QGroundControl. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
# -------------------------------------------------
|
|
|
|
|
|
|
|
QMAKE_POST_LINK += $$quote(echo "Copying files")
|
|
|
|
|
|
|
|
#
|
|
|
|
# Copy the application resources to the associated place alongside the application
|
|
|
|
#
|
|
|
|
|
|
|
|
LinuxBuild {
|
|
|
|
DESTDIR_COPY_RESOURCE_LIST = $$DESTDIR
|
|
|
|
}
|
|
|
|
|
|
|
|
MacBuild {
|
|
|
|
DESTDIR_COPY_RESOURCE_LIST = $$DESTDIR/$${TARGET}.app/Contents/MacOS
|
|
|
|
}
|
|
|
|
|
|
|
|
# Windows version of QMAKE_COPY_DIR of course doesn't work the same as Mac/Linux. It will only
|
|
|
|
# copy the contents of the source directory. It doesn't create the top level source directory
|
|
|
|
# in the target.
|
|
|
|
WindowsBuild {
|
|
|
|
# Make sure to keep both side of this if using the same set of directories
|
|
|
|
DESTDIR_COPY_RESOURCE_LIST = $$replace(DESTDIR,"/","\\")
|
|
|
|
BASEDIR_COPY_RESOURCE_LIST = $$replace(BASEDIR,"/","\\")
|
|
|
|
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY_DIR $$BASEDIR_COPY_RESOURCE_LIST\\files $$DESTDIR_COPY_RESOURCE_LIST\\files
|
|
|
|
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY_DIR $$BASEDIR_COPY_RESOURCE_LIST\\qml $$DESTDIR_COPY_RESOURCE_LIST\\qml
|
|
|
|
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY_DIR $$BASEDIR_COPY_RESOURCE_LIST\\data $$DESTDIR_COPY_RESOURCE_LIST\\data
|
|
|
|
} else {
|
|
|
|
# Make sure to keep both side of this if using the same set of directories
|
|
|
|
QMAKE_POST_LINK += && $$QMAKE_COPY_DIR $$BASEDIR/files $$DESTDIR_COPY_RESOURCE_LIST
|
|
|
|
QMAKE_POST_LINK += && $$QMAKE_COPY_DIR $$BASEDIR/qml $$DESTDIR_COPY_RESOURCE_LIST
|
|
|
|
QMAKE_POST_LINK += && $$QMAKE_COPY_DIR $$BASEDIR/data $$DESTDIR_COPY_RESOURCE_LIST
|
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# Perform platform specific setup
|
|
|
|
#
|
|
|
|
|
|
|
|
MacBuild {
|
|
|
|
# Copy non-standard libraries and frameworks into app package
|
|
|
|
QMAKE_POST_LINK += && $$QMAKE_COPY_DIR $$BASEDIR/libs/lib/mac64/lib $$DESTDIR/$${TARGET}.app/Contents/libs
|
|
|
|
QMAKE_POST_LINK += && $$QMAKE_COPY_DIR -L $$BASEDIR/libs/lib/Frameworks $$DESTDIR/$${TARGET}.app/Contents/Frameworks
|
|
|
|
|
|
|
|
# Fix library paths inside executable
|
|
|
|
|
|
|
|
INSTALL_NAME_TARGET = $$DESTDIR/$${TARGET}.app/Contents/MacOS/$${TARGET}
|
|
|
|
INSTALL_NAME_LIB_LIST = \
|
|
|
|
libOpenThreads.dylib \
|
|
|
|
libosg.dylib \
|
|
|
|
libosgViewer.dylib \
|
|
|
|
libosgGA.dylib \
|
|
|
|
libosgDB.dylib \
|
|
|
|
libosgText.dylib \
|
|
|
|
libosgWidget.dylib
|
|
|
|
for(INSTALL_NAME_LIB, INSTALL_NAME_LIB_LIST) {
|
|
|
|
QMAKE_POST_LINK += && install_name_tool -change $$INSTALL_NAME_LIB "@executable_path/../libs/$${INSTALL_NAME_LIB}" $$INSTALL_NAME_TARGET
|
|
|
|
}
|
|
|
|
|
|
|
|
# Fix library paths within libraries (inter-library dependencies)
|
|
|
|
|
|
|
|
# OSG GA LIBRARY
|
|
|
|
INSTALL_NAME_TARGET = $$DESTDIR/$${TARGET}.app/Contents/libs/libosgGA.dylib
|
|
|
|
INSTALL_NAME_LIB_LIST = \
|
|
|
|
libOpenThreads.dylib \
|
|
|
|
libosg.dylib \
|
|
|
|
libosgGA.dylib \
|
|
|
|
libosgDB.dylib \
|
|
|
|
libosgUtil.dylib
|
|
|
|
for(INSTALL_NAME_LIB, INSTALL_NAME_LIB_LIST) {
|
|
|
|
QMAKE_POST_LINK += && install_name_tool -change $$INSTALL_NAME_LIB "@executable_path/../libs/$${INSTALL_NAME_LIB}" $$INSTALL_NAME_TARGET
|
|
|
|
}
|
|
|
|
|
|
|
|
# OSG DB LIBRARY
|
|
|
|
INSTALL_NAME_TARGET = $$DESTDIR/$${TARGET}.app/Contents/libs/libosgDB.dylib
|
|
|
|
INSTALL_NAME_LIB_LIST = \
|
|
|
|
libOpenThreads.dylib \
|
|
|
|
libosg.dylib \
|
|
|
|
libosgDB.dylib \
|
|
|
|
libosgUtil.dylib
|
|
|
|
for(INSTALL_NAME_LIB, INSTALL_NAME_LIB_LIST) {
|
|
|
|
QMAKE_POST_LINK += && install_name_tool -change $$INSTALL_NAME_LIB "@executable_path/../libs/$${INSTALL_NAME_LIB}" $$INSTALL_NAME_TARGET
|
|
|
|
}
|
|
|
|
|
|
|
|
# OSG TEXT LIBRARY
|
|
|
|
INSTALL_NAME_TARGET = $$DESTDIR/$${TARGET}.app/Contents/libs/libosgText.dylib
|
|
|
|
INSTALL_NAME_LIB_LIST = \
|
|
|
|
libOpenThreads.dylib \
|
|
|
|
libosg.dylib \
|
|
|
|
libosgDB.dylib \
|
|
|
|
libosgUtil.dylib \
|
|
|
|
libosgText.dylib
|
|
|
|
for(INSTALL_NAME_LIB, INSTALL_NAME_LIB_LIST) {
|
|
|
|
QMAKE_POST_LINK += && install_name_tool -change $$INSTALL_NAME_LIB "@executable_path/../libs/$${INSTALL_NAME_LIB}" $$INSTALL_NAME_TARGET
|
|
|
|
}
|
|
|
|
|
|
|
|
# OSG UTIL LIBRARY
|
|
|
|
INSTALL_NAME_TARGET = $$DESTDIR/$${TARGET}.app/Contents/libs/libosgUtil.dylib
|
|
|
|
INSTALL_NAME_LIB_LIST = \
|
|
|
|
libOpenThreads.dylib \
|
|
|
|
libosg.dylib
|
|
|
|
for(INSTALL_NAME_LIB, INSTALL_NAME_LIB_LIST) {
|
|
|
|
QMAKE_POST_LINK += && install_name_tool -change $$INSTALL_NAME_LIB "@executable_path/../libs/$${INSTALL_NAME_LIB}" $$INSTALL_NAME_TARGET
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# OSG VIEWER LIBRARY
|
|
|
|
INSTALL_NAME_TARGET = $$DESTDIR/$${TARGET}.app/Contents/libs/libosgViewer.dylib
|
|
|
|
INSTALL_NAME_LIB_LIST = \
|
|
|
|
libOpenThreads.dylib \
|
|
|
|
libosg.dylib \
|
|
|
|
libosgGA.dylib \
|
|
|
|
libosgDB.dylib \
|
|
|
|
libosgUtil.dylib \
|
|
|
|
libosgText.dylib
|
|
|
|
for(INSTALL_NAME_LIB, INSTALL_NAME_LIB_LIST) {
|
|
|
|
QMAKE_POST_LINK += && install_name_tool -change $$INSTALL_NAME_LIB "@executable_path/../libs/$${INSTALL_NAME_LIB}" $$INSTALL_NAME_TARGET
|
|
|
|
}
|
|
|
|
|
|
|
|
# OSG WIDGET LIBRARY
|
|
|
|
INSTALL_NAME_TARGET = $$DESTDIR/$${TARGET}.app/Contents/libs/libosgWidget.dylib
|
|
|
|
INSTALL_NAME_LIB_LIST = \
|
|
|
|
libOpenThreads.dylib \
|
|
|
|
libosg.dylib \
|
|
|
|
libosgGA.dylib \
|
|
|
|
libosgDB.dylib \
|
|
|
|
libosgUtil.dylib \
|
|
|
|
libosgText.dylib \
|
|
|
|
libosgViewer.dylib
|
|
|
|
for(INSTALL_NAME_LIB, INSTALL_NAME_LIB_LIST) {
|
|
|
|
QMAKE_POST_LINK += && install_name_tool -change $$INSTALL_NAME_LIB "@executable_path/../libs/$${INSTALL_NAME_LIB}" $$INSTALL_NAME_TARGET
|
|
|
|
}
|
|
|
|
|
|
|
|
# CORE OSG LIBRARY
|
|
|
|
QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$DESTDIR/$${TARGET}.app/Contents/libs/libosg.dylib
|
|
|
|
|
|
|
|
# SDL Framework
|
|
|
|
QMAKE_POST_LINK += && install_name_tool -change "@rpath/SDL.framework/Versions/A/SDL" "@executable_path/../Frameworks/SDL.framework/Versions/A/SDL" $$DESTDIR/$${TARGET}.app/Contents/MacOS/$${TARGET}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
WindowsBuild {
|
|
|
|
BASEDIR_WIN = $$replace(BASEDIR,"/","\\")
|
|
|
|
DESTDIR_WIN = $$replace(DESTDIR,"/","\\")
|
|
|
|
|
|
|
|
# Copy dependencies
|
|
|
|
|
|
|
|
QMAKE_POST_LINK += $$escape_expand(\\n) $$quote($$QMAKE_COPY_DIR "$$(QTDIR)\\plugins" "$$DESTDIR_WIN")
|
|
|
|
|
|
|
|
COPY_FILE_DESTDIR = $$DESTDIR_WIN
|
|
|
|
DebugBuild: DLL_QT_DEBUGCHAR = "d"
|
|
|
|
ReleaseBuild: DLL_QT_DEBUGCHAR = ""
|
|
|
|
COPY_FILE_LIST = \
|
|
|
|
$$BASEDIR_WIN\\libs\\lib\\sdl\\win32\\SDL.dll \
|
|
|
|
$$BASEDIR_WIN\\libs\\thirdParty\\libxbee\\lib\\libxbee.dll \
|
|
|
|
$$(QTDIR)\\bin\\phonon$${DLL_QT_DEBUGCHAR}4.dll \
|
|
|
|
$$(QTDIR)\\bin\\QtCore$${DLL_QT_DEBUGCHAR}4.dll \
|
|
|
|
$$(QTDIR)\\bin\\QtGui$${DLL_QT_DEBUGCHAR}4.dll \
|
|
|
|
$$(QTDIR)\\bin\\QtMultimedia$${DLL_QT_DEBUGCHAR}4.dll \
|
|
|
|
$$(QTDIR)\\bin\\QtNetwork$${DLL_QT_DEBUGCHAR}4.dll \
|
|
|
|
$$(QTDIR)\\bin\\QtOpenGL$${DLL_QT_DEBUGCHAR}4.dll \
|
|
|
|
$$(QTDIR)\\bin\\QtSql$${DLL_QT_DEBUGCHAR}4.dll \
|
|
|
|
$$(QTDIR)\\bin\\QtSvg$${DLL_QT_DEBUGCHAR}4.dll \
|
|
|
|
$$(QTDIR)\\bin\\QtTest$${DLL_QT_DEBUGCHAR}4.dll \
|
|
|
|
$$(QTDIR)\\bin\\QtWebKit$${DLL_QT_DEBUGCHAR}4.dll \
|
|
|
|
$$(QTDIR)\\bin\\QtXml$${DLL_QT_DEBUGCHAR}4.dll \
|
|
|
|
$$(QTDIR)\\bin\\QtXmlPatterns$${DLL_QT_DEBUGCHAR}4.dll \
|
|
|
|
$$(QTDIR)\\bin\\QtDeclarative$${DLL_QT_DEBUGCHAR}4.dll \
|
|
|
|
$$(QTDIR)\\bin\\QtScript$${DLL_QT_DEBUGCHAR}4.dll
|
|
|
|
for(COPY_FILE, COPY_FILE_LIST) {
|
|
|
|
QMAKE_POST_LINK += $$escape_expand(\\n) $$quote($$QMAKE_COPY "$$COPY_FILE" "$$COPY_FILE_DESTDIR")
|
|
|
|
}
|
|
|
|
|
|
|
|
ReleaseBuild {
|
|
|
|
# Copy Visual Studio DLLs
|
|
|
|
# Note that this is only done for release because the debugging versions of these DLLs cannot be redistributed.
|
|
|
|
# This currently only works for VS2010.
|
|
|
|
win32-msvc2010 {
|
|
|
|
QMAKE_POST_LINK += $$escape_expand(\\n) $$quote($$QMAKE_COPY "C:\\Windows\\System32\\msvcp100.dll" "$$DESTDIR_WIN\\")
|
|
|
|
QMAKE_POST_LINK += $$escape_expand(\\n) $$quote($$QMAKE_COPY "C:\\Windows\\System32\\msvcr100.dll" "$$DESTDIR_WIN\\")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|