mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-12-01 09:24:10 +01:00
Merge branch 'next' of bitbucket.org:librepilot/librepilot into filnet/LP-29_osgearth_integration
# Conflicts: # ground/gcs/src/libs/osgearth/osgearth.pro
This commit is contained in:
commit
95ea26c396
@ -14,7 +14,6 @@ equals(copyqt, 1) {
|
||||
libQt5Svg.so.5 \
|
||||
libQt5Test.so.5 \
|
||||
libQt5Xml.so.5 \
|
||||
libQt5Declarative.so.5 \
|
||||
libQt5XmlPatterns.so.5 \
|
||||
libQt5Script.so.5 \
|
||||
libQt5Concurrent.so.5 \
|
||||
@ -27,10 +26,12 @@ equals(copyqt, 1) {
|
||||
libQt5Qml.so.5 \
|
||||
libQt5DBus.so.5 \
|
||||
libQt5QuickParticles.so.5 \
|
||||
libQt5XcbQpa.so.5 \
|
||||
libQt5X11Extras.so.5 \
|
||||
libqgsttools_p.so.1 \
|
||||
libicui18n.so.53 \
|
||||
libicuuc.so.53 \
|
||||
libicudata.so.53
|
||||
libicui18n.so.54 \
|
||||
libicuuc.so.54 \
|
||||
libicudata.so.54
|
||||
for(lib, QT_LIBS) {
|
||||
addCopyFileTarget($${lib},$$[QT_INSTALL_LIBS],$${GCS_QT_LIBRARY_PATH})
|
||||
}
|
||||
@ -45,6 +46,7 @@ equals(copyqt, 1) {
|
||||
mediaservice/libgstaudiodecoder.so \
|
||||
mediaservice/libgstmediaplayer.so \
|
||||
platforms/libqxcb.so \
|
||||
xcbglintegrations/libqxcb-glx-integration.so \
|
||||
sqldrivers/libqsqlite.so
|
||||
}
|
||||
|
||||
@ -62,7 +64,6 @@ equals(copyqt, 1) {
|
||||
Qt5Svg$${DS}.dll \
|
||||
Qt5Test$${DS}.dll \
|
||||
Qt5Xml$${DS}.dll \
|
||||
Qt5Declarative$${DS}.dll \
|
||||
Qt5XmlPatterns$${DS}.dll \
|
||||
Qt5Script$${DS}.dll \
|
||||
Qt5Concurrent$${DS}.dll \
|
||||
@ -73,9 +74,9 @@ equals(copyqt, 1) {
|
||||
Qt5Quick$${DS}.dll \
|
||||
Qt5QuickWidgets$${DS}.dll \
|
||||
Qt5Qml$${DS}.dll \
|
||||
icuin53.dll \
|
||||
icudt53.dll \
|
||||
icuuc53.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 \
|
||||
|
@ -285,6 +285,11 @@ void mainMessageOutput(QtMsgType type, const QMessageLogContext &context, const
|
||||
case QtDebugMsg:
|
||||
out << "DBG: ";
|
||||
break;
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
case QtInfoMsg:
|
||||
out << "INF: ";
|
||||
break;
|
||||
#endif
|
||||
case QtWarningMsg:
|
||||
out << "WRN: ";
|
||||
break;
|
||||
|
@ -14,16 +14,18 @@ linux {
|
||||
}
|
||||
|
||||
LIBS +=-lOpenThreads
|
||||
LIBS += -losg -losgUtil -losgDB -losgGA -losgFX -losgViewer -losgText -losgQt
|
||||
LIBS += -losgEarth -losgEarthUtil -losgEarthFeatures -losgEarthSymbology -losgEarthAnnotation -losgEarthQt
|
||||
LIBS += -losg -losgUtil -losgDB -losgGA -losgFX -losgViewer -losgText
|
||||
LIBS += -losgEarth -losgEarthUtil -losgEarthFeatures -losgEarthSymbology -losgEarthAnnotation
|
||||
LIBS += -losgQt -losgEarthQt
|
||||
}
|
||||
|
||||
macx {
|
||||
LIBS += -L$$OSG_SDK_DIR/lib
|
||||
|
||||
LIBS += -lOpenThreads
|
||||
LIBS += -losg -losgUtil -losgDB -losgGA -losgFX -losgViewer -losgText -losgQt
|
||||
LIBS += -losgEarth -losgEarthUtil -losgEarthFeatures -losgEarthSymbology -losgEarthAnnotation -losgEarthQt
|
||||
LIBS += -losg -losgUtil -losgDB -losgGA -losgFX -losgViewer -losgText
|
||||
LIBS += -losgEarth -losgEarthUtil -losgEarthFeatures -losgEarthSymbology -losgEarthAnnotation
|
||||
LIBS += -losgQt -losgEarthQt
|
||||
}
|
||||
|
||||
win32 {
|
||||
@ -31,12 +33,14 @@ win32 {
|
||||
|
||||
#CONFIG(release, debug|release) {
|
||||
LIBS += -lOpenThreads
|
||||
LIBS += -losg -losgUtil -losgDB -losgGA -losgFX -losgViewer -losgText -losgQt
|
||||
LIBS += -losgEarth -losgEarthUtil -losgEarthFeatures -losgEarthSymbology -losgEarthAnnotation -losgEarthQt
|
||||
LIBS += -losg -losgUtil -losgDB -losgGA -losgFX -losgViewer -losgText
|
||||
LIBS += -losgEarth -losgEarthUtil -losgEarthFeatures -losgEarthSymbology -losgEarthAnnotation
|
||||
LIBS += -losgQt -losgEarthQt
|
||||
#}
|
||||
#CONFIG(debug, debug|release) {
|
||||
# LIBS += -lOpenThreadsd
|
||||
# LIBS += -losgd -losgUtild -losgDBd -losgGAd -losgFXd -losgViewerd -losgTextd -losgQtd
|
||||
# LIBS += -losgEarthd -losgEarthUtild -losgEarthFeaturesd -losgEarthSymbologyd -losgEarthAnnotationd -losgEarthQtd
|
||||
# LIBS += -losgd -losgUtild -losgDBd -losgGAd -losgFXd -losgViewerd -losgTextd
|
||||
# LIBS += -losgEarthd -losgEarthUtild -losgEarthFeaturesd -losgEarthSymbologyd -losgEarthAnnotationd
|
||||
# LIBS += -losgQtd -losgEarthQtd
|
||||
#}
|
||||
}
|
||||
|
@ -30,10 +30,6 @@
|
||||
#include <windows.h>
|
||||
|
||||
#include <QtCore/QString>
|
||||
#include <QtCore/QVector>
|
||||
#include <QtCore/QDebug>
|
||||
#include <QtCore/QLibrary>
|
||||
#include <QtCore/QTextStream>
|
||||
|
||||
namespace Utils {
|
||||
QTCREATOR_UTILS_EXPORT QString winErrorMessage(unsigned long error)
|
||||
@ -53,60 +49,4 @@ QTCREATOR_UTILS_EXPORT QString winErrorMessage(unsigned long error)
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
QTCREATOR_UTILS_EXPORT QString winGetDLLVersion(WinDLLVersionType t,
|
||||
const QString &name,
|
||||
QString *errorMessage)
|
||||
{
|
||||
// Resolve required symbols from the version.dll
|
||||
typedef DWORD (APIENTRY * GetFileVersionInfoSizeProtoType)(LPCTSTR, LPDWORD);
|
||||
typedef BOOL (APIENTRY * GetFileVersionInfoWProtoType)(LPCWSTR, DWORD, DWORD, LPVOID);
|
||||
typedef BOOL (APIENTRY * VerQueryValueWProtoType)(const LPVOID, LPWSTR lpSubBlock, LPVOID, PUINT);
|
||||
|
||||
const char *versionDLLC = "version.dll";
|
||||
QLibrary versionLib(QLatin1String(versionDLLC), 0);
|
||||
if (!versionLib.load()) {
|
||||
*errorMessage = QString::fromLatin1("Unable load %1: %2").arg(QLatin1String(versionDLLC), versionLib.errorString());
|
||||
return QString();
|
||||
}
|
||||
// MinGW requires old-style casts
|
||||
GetFileVersionInfoSizeProtoType getFileVersionInfoSizeW = (GetFileVersionInfoSizeProtoType)(versionLib.resolve("GetFileVersionInfoSizeW"));
|
||||
GetFileVersionInfoWProtoType getFileVersionInfoW = (GetFileVersionInfoWProtoType)(versionLib.resolve("GetFileVersionInfoW"));
|
||||
VerQueryValueWProtoType verQueryValueW = (VerQueryValueWProtoType)(versionLib.resolve("VerQueryValueW"));
|
||||
if (!getFileVersionInfoSizeW || !getFileVersionInfoW || !verQueryValueW) {
|
||||
*errorMessage = QString::fromLatin1("Unable to resolve all required symbols in %1").arg(QLatin1String(versionDLLC));
|
||||
return QString();
|
||||
}
|
||||
|
||||
// Now go ahead, read version info resource
|
||||
DWORD dummy = 0;
|
||||
const LPCTSTR fileName = reinterpret_cast<LPCTSTR>(name.utf16()); // MinGWsy
|
||||
const DWORD infoSize = (*getFileVersionInfoSizeW)(fileName, &dummy);
|
||||
if (infoSize == 0) {
|
||||
*errorMessage = QString::fromLatin1("Unable to determine the size of the version information of %1: %2").arg(name, winErrorMessage(GetLastError()));
|
||||
return QString();
|
||||
}
|
||||
QByteArray dataV(infoSize + 1, '\0');
|
||||
char *data = dataV.data();
|
||||
if (!(*getFileVersionInfoW)(fileName, dummy, infoSize, data)) {
|
||||
*errorMessage = QString::fromLatin1("Unable to determine the version information of %1: %2").arg(name, winErrorMessage(GetLastError()));
|
||||
return QString();
|
||||
}
|
||||
VS_FIXEDFILEINFO *versionInfo;
|
||||
UINT len = 0;
|
||||
if (!(*verQueryValueW)(data, TEXT("\\"), &versionInfo, &len)) {
|
||||
*errorMessage = QString::fromLatin1("Unable to determine version string of %1: %2").arg(name, winErrorMessage(GetLastError()));
|
||||
return QString();
|
||||
}
|
||||
QString rc;
|
||||
switch (t) {
|
||||
case WinDLLFileVersion:
|
||||
QTextStream(&rc) << HIWORD(versionInfo->dwFileVersionMS) << '.' << LOWORD(versionInfo->dwFileVersionMS);
|
||||
break;
|
||||
case WinDLLProductVersion:
|
||||
QTextStream(&rc) << HIWORD(versionInfo->dwProductVersionMS) << '.' << LOWORD(versionInfo->dwProductVersionMS);
|
||||
break;
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
} // namespace Utils
|
||||
|
@ -39,11 +39,5 @@ namespace Utils {
|
||||
// Helper to format a Windows error message, taking the
|
||||
// code as returned by the GetLastError()-API.
|
||||
QTCREATOR_UTILS_EXPORT QString winErrorMessage(unsigned long error);
|
||||
|
||||
// Determine a DLL version
|
||||
enum WinDLLVersionType { WinDLLFileVersion, WinDLLProductVersion };
|
||||
QTCREATOR_UTILS_EXPORT QString winGetDLLVersion(WinDLLVersionType t,
|
||||
const QString &name,
|
||||
QString *errorMessage);
|
||||
} // namespace Utils
|
||||
#endif // WINUTILS_H
|
||||
|
@ -52,6 +52,12 @@ void DebugGadgetWidget::customMessageHandler(QtMsgType type, const QMessageLogCo
|
||||
txt = QString("Debug: %1").arg(msg);
|
||||
color = Qt::black;
|
||||
break;
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
case QtInfoMsg:
|
||||
txt = QString("Info: %1").arg(msg);
|
||||
color = Qt::blue;
|
||||
break;
|
||||
#endif
|
||||
case QtWarningMsg:
|
||||
txt = QString("Warning: %1").arg(msg);
|
||||
color = Qt::red;
|
||||
|
@ -29,6 +29,7 @@
|
||||
|
||||
void myQDebugHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
|
||||
{
|
||||
Q_UNUSED(context);
|
||||
static bool firstRun = true;
|
||||
QString txt;
|
||||
|
||||
@ -36,6 +37,11 @@ void myQDebugHandler(QtMsgType type, const QMessageLogContext &context, const QS
|
||||
case QtDebugMsg:
|
||||
txt = QString("Debug: %1").arg(msg);
|
||||
break;
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
|
||||
case QtInfoMsg:
|
||||
txt = QString("Info: %1").arg(msg);
|
||||
break;
|
||||
#endif
|
||||
case QtWarningMsg:
|
||||
txt = QString("Warning: %1").arg(msg);
|
||||
break;
|
||||
|
2
make/3rdparty/osgearth/osgearth.mk
vendored
2
make/3rdparty/osgearth/osgearth.mk
vendored
@ -69,7 +69,7 @@
|
||||
################################
|
||||
|
||||
# TODO should be discovered
|
||||
QT_VERSION := 5.4.1
|
||||
QT_VERSION := 5.5.1
|
||||
|
||||
################################
|
||||
#
|
||||
|
253
make/tool_install/qt-install.qs
Normal file
253
make/tool_install/qt-install.qs
Normal file
@ -0,0 +1,253 @@
|
||||
/*
|
||||
silent installer script
|
||||
|
||||
known not work with Qt 5.5.1 and QtIFW 2.0.2
|
||||
|
||||
known issues:
|
||||
- silent but not headless (QtIFW 2.0.3 should support installer.setSilent(true))
|
||||
- cannot disable forced components (QtCreator, ...)
|
||||
- cannot disable virtual components (doc, examples, ...)
|
||||
- cannot disable shortcuts creation
|
||||
- if user presses the 'Show Details' button then the installer does not end automatically
|
||||
*/
|
||||
function Controller()
|
||||
{
|
||||
console.log("*** Silent Installer ***");
|
||||
console.log("Installing on " + installer.value("os"));
|
||||
//installer.setSilent(true);
|
||||
|
||||
var qtInstallTargetDir = installer.environmentVariable("QT_INSTALL_TARGET_DIR");
|
||||
if (qtInstallTargetDir == "") {
|
||||
qtInstallTargetDir = installer.environmentVariable("PWD") + "/tools/qt-5.5.1";
|
||||
console.log("Environment variable QT_INSTALL_TARGET_DIR not set, using default " + qtInstallTargetDir);
|
||||
}
|
||||
installer.setValue("TargetDir", qtInstallTargetDir);
|
||||
console.log("Installing to " + installer.value("TargetDir"));
|
||||
|
||||
installer.autoRejectMessageBoxes();
|
||||
installer.setMessageBoxAutomaticAnswer("OverwriteTargetDirectory", QMessageBox.Yes);
|
||||
installer.setMessageBoxAutomaticAnswer("stopProcessesForUpdates", QMessageBox.Ignore);
|
||||
|
||||
// pages that are not visible are actually removed from the wizard
|
||||
// some pages must not be removed otherwise the installer starts to mishbehave
|
||||
installer.setDefaultPageVisible(QInstaller.Welcome, false);
|
||||
installer.setDefaultPageVisible(QInstaller.Credentials, false); // QInstaller.Credentials is 0... so this is a NOP!
|
||||
//installer.setDefaultPageVisible(QInstaller.Introduction, false); // Fails to skip Credentials if Introduction is removed?
|
||||
installer.setDefaultPageVisible(QInstaller.TargetDirectory, false);
|
||||
//installer.setDefaultPageVisible(QInstaller.ComponentSelection, false);
|
||||
//installer.setDefaultPageVisible(QInstaller.LicenseAgreementCheck, false);
|
||||
//installer.setDefaultPageVisible(QInstaller.StartMenuSelection, false);
|
||||
installer.setDefaultPageVisible(QInstaller.ReadyForInstallation, false);
|
||||
//installer.setDefaultPageVisible(QInstaller.PerformInstallation, false);
|
||||
installer.setDefaultPageVisible(QInstaller.FinishedPage, false);
|
||||
|
||||
installer.componentAdded.connect(onComponentAdded);
|
||||
installer.aboutCalculateComponentsToInstall.connect(onAboutCalculateComponentsToInstall);
|
||||
installer.finishedCalculateComponentsToInstall.connect(onFinishedCalculateComponentsToInstall);
|
||||
}
|
||||
|
||||
// installer callbacks
|
||||
|
||||
onComponentAdded = function(component)
|
||||
{
|
||||
console.log("Component added: " + component.name);
|
||||
dumpComponents();
|
||||
}
|
||||
|
||||
onAboutCalculateComponentsToInstall = function()
|
||||
{
|
||||
console.log("onAboutCalculateComponentsToInstall");
|
||||
//dumpComponents();
|
||||
}
|
||||
|
||||
onFinishedCalculateComponentsToInstall = function()
|
||||
{
|
||||
console.log("onFinishedCalculateComponentsToInstall");
|
||||
//dumpComponents();
|
||||
}
|
||||
|
||||
// page callbacks
|
||||
// used to setup wizard pages and move the wizard forward
|
||||
|
||||
Controller.prototype.WelcomePageCallback = function()
|
||||
{
|
||||
logCallback();
|
||||
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.CredentialsPageCallback = function()
|
||||
{
|
||||
logCallback();
|
||||
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.IntroductionPageCallback = function()
|
||||
{
|
||||
logCallback();
|
||||
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.ComponentSelectionPageCallback = function()
|
||||
{
|
||||
logCallback();
|
||||
|
||||
var page = gui.currentPageWidget();
|
||||
page.deselectAll()
|
||||
if (installer.value("os") == "win") {
|
||||
selectComponent(page, "qt.55.win32_mingw492");
|
||||
selectComponent(page, "qt.tools.win32_mingw492");
|
||||
}
|
||||
else if (installer.value("os") == "x11") {
|
||||
selectComponent(page, "qt.55.gcc");
|
||||
selectComponent(page, "qt.55.gcc_64");
|
||||
}
|
||||
else if (installer.value("os") == "mac") {
|
||||
selectComponent(page, "qt.55.clang_64");
|
||||
}
|
||||
selectComponent(page, "qt.55.qtquickcontrols");
|
||||
selectComponent(page, "qt.55.qtscript");
|
||||
|
||||
//installer.componentByName("qt.tools.qtcreator").setValue("ForcedInstallation", "false");
|
||||
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
|
||||
function selectComponent(page, name)
|
||||
{
|
||||
component = installer.componentByName(name);
|
||||
if (component) {
|
||||
console.log("component " + name + " : " + component);
|
||||
page.selectComponent(name);
|
||||
}
|
||||
else {
|
||||
console.log("Failed to find component " + name + "!");
|
||||
}
|
||||
}
|
||||
|
||||
Controller.prototype.LicenseAgreementPageCallback = function()
|
||||
{
|
||||
logCallback();
|
||||
|
||||
setChecked("AcceptLicenseRadioButton", true);
|
||||
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.StartMenuDirectoryPageCallback = function()
|
||||
{
|
||||
logCallback();
|
||||
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.PerformInstallationPageCallback = function()
|
||||
{
|
||||
logCallback();
|
||||
|
||||
// show details and hide button
|
||||
click("DetailsButton");
|
||||
setVisible("DetailsButton", false);
|
||||
|
||||
// showing details will disable automated page switch, so re-enable it
|
||||
installer.setAutomatedPageSwitchEnabled(true);
|
||||
}
|
||||
|
||||
Controller.prototype.FinishedPageCallback = function()
|
||||
{
|
||||
logCallback();
|
||||
|
||||
setChecked("launchQtCreatorCheckBox", false);
|
||||
|
||||
gui.clickButton(buttons.FinishButton);
|
||||
}
|
||||
|
||||
// utilities
|
||||
|
||||
function logCallback()
|
||||
{
|
||||
var page = gui.currentPageWidget();
|
||||
console.log(">>> " + page.objectName + "Callback");
|
||||
}
|
||||
|
||||
function dumpComponents()
|
||||
{
|
||||
dumpComponentsArray(installer.components());
|
||||
}
|
||||
|
||||
function dumpComponentsArray(components)
|
||||
{
|
||||
var arrayLength = components.length;
|
||||
for (var i = 0; i < arrayLength; i++) {
|
||||
dumpComponent(components[i]);
|
||||
}
|
||||
}
|
||||
|
||||
function dumpComponent(component)
|
||||
{
|
||||
console.log(component.name + " (" + component.displayName + ")");
|
||||
console.log(" Virtual: " + component.value("Virtual", "false"));
|
||||
console.log(" ForcedInstallation: " + component.value("ForcedInstallation", "false"));
|
||||
console.log(" Default: " + component.default);
|
||||
console.log(" Enabled: " + component.enabled);
|
||||
}
|
||||
|
||||
// UI utilities
|
||||
|
||||
function click(name)
|
||||
{
|
||||
var page = gui.currentPageWidget();
|
||||
var button = gui.findChild(page, name);
|
||||
if (button) {
|
||||
console.log("button " + name + " : " + button);
|
||||
button.click();
|
||||
}
|
||||
else {
|
||||
console.log("Failed to find button " + name + "!");
|
||||
}
|
||||
}
|
||||
|
||||
function setVisible(name, visible)
|
||||
{
|
||||
var page = gui.currentPageWidget();
|
||||
var button = gui.findChild(page, name);
|
||||
if (button) {
|
||||
console.log("button " + name + " : " + button);
|
||||
button.visible = visible;
|
||||
console.log("button " + name + " visible : " + button.visible);
|
||||
}
|
||||
else {
|
||||
console.log("Failed to find button " + name + "!");
|
||||
}
|
||||
}
|
||||
|
||||
function setEnabled(name, enabled)
|
||||
{
|
||||
var page = gui.currentPageWidget();
|
||||
var button = gui.findChild(page, name);
|
||||
if (button) {
|
||||
console.log("button " + name + " : " + button);
|
||||
button.enabled = enabled;
|
||||
console.log("button " + name + " enabled : " + button.enabled);
|
||||
}
|
||||
else {
|
||||
console.log("Failed to find button " + name + "!");
|
||||
}
|
||||
}
|
||||
|
||||
function setChecked(name, checked)
|
||||
{
|
||||
var page = gui.currentPageWidget();
|
||||
var button = gui.findChild(page, name);
|
||||
if (button) {
|
||||
console.log("button " + name + " : " + button);
|
||||
button.checked = checked;
|
||||
console.log("button " + name + " checked : " + button.checked);
|
||||
}
|
||||
else {
|
||||
console.log("Failed to find button " + name + "!");
|
||||
}
|
||||
}
|
351
make/tools.mk
351
make/tools.mk
@ -88,32 +88,31 @@ $(TOOL_REMOVE_TARGETS):
|
||||
|
||||
ifeq ($(UNAME), Linux)
|
||||
ifeq ($(ARCH), x86_64)
|
||||
QT_SDK_URL := http://download.qt.io/official_releases/qt/5.4/5.4.1/qt-opensource-linux-x64-5.4.1.run
|
||||
QT_SDK_MD5_URL := http://download.qt.io/official_releases/qt/5.4/5.4.1/qt-opensource-linux-x64-5.4.1.run.md5
|
||||
QT_SDK_ARCH := gcc_64
|
||||
OSG_URL := http://librepilot.github.io/tools/osg-3.4-linux-x64-qt-5.4.1.tar.gz
|
||||
QT_SDK_URL := http://download.qt.io/official_releases/qt/5.5/5.5.1/qt-opensource-linux-x64-5.5.1.run
|
||||
QT_SDK_MD5_URL := http://download.qt.io/official_releases/qt/5.5/5.5.1/qt-opensource-linux-x64-5.5.1.run.md5
|
||||
QT_SDK_ARCH := gcc_64
|
||||
OSG_URL := http://librepilot.github.io/tools/osg-3.4-linux-x64-qt-5.5.1.tar.gz
|
||||
else
|
||||
QT_SDK_URL := http://download.qt.io/official_releases/qt/5.4/5.4.1/qt-opensource-linux-x86-5.4.1.run
|
||||
QT_SDK_MD5_URL := http://download.qt.io/official_releases/qt/5.4/5.4.1/qt-opensource-linux-x86-5.4.1.run.md5
|
||||
QT_SDK_ARCH := gcc
|
||||
OSG_URL := http://librepilot.github.io/tools/osg-3.4-linux-x86-qt-5.4.1.tar.gz
|
||||
QT_SDK_URL := http://download.qt.io/official_releases/qt/5.5/5.5.1/qt-opensource-linux-x86-5.5.1.run
|
||||
QT_SDK_MD5_URL := http://download.qt.io/official_releases/qt/5.5/5.5.1/qt-opensource-linux-x86-5.5.1.run.md5
|
||||
QT_SDK_ARCH := gcc
|
||||
OSG_URL := http://librepilot.github.io/tools/osg-3.4-linux-x86-qt-5.5.1.tar.gz
|
||||
endif
|
||||
UNCRUSTIFY_URL := http://librepilot.github.io/tools/uncrustify-0.60.tar.gz
|
||||
DOXYGEN_URL := http://librepilot.github.io/tools/doxygen-1.8.3.1.src.tar.gz
|
||||
else ifeq ($(UNAME), Darwin)
|
||||
QT_SDK_URL := http://download.qt.io/official_releases/qt/5.4/5.4.1/qt-opensource-mac-x64-clang-5.4.1.dmg
|
||||
QT_SDK_MD5_URL := http://download.qt.io/official_releases/qt/5.4/5.4.1/qt-opensource-mac-x64-clang-5.4.1.dmg.md5
|
||||
QT_SDK_ARCH := clang_64
|
||||
QT_SDK_MAINTENANCE_TOOL := /Volumes/qt-opensource-mac-x64-clang-5.4.1/qt-opensource-mac-x64-clang-5.4.1.app/Contents/MacOS/qt-opensource-mac-x64-clang-5.4.1
|
||||
QT_SDK_MOUNT_DIR := /Volumes/qt-opensource-mac-x64-clang-5.4.1
|
||||
QT_SDK_INSTALLER_DAT := /Volumes/qt-opensource-mac-x64-clang-5.4.1/qt-opensource-mac-x64-clang-5.4.1.app/Contents/Resources/installer.dat
|
||||
QT_SDK_URL := http://download.qt.io/official_releases/qt/5.5/5.5.1/qt-opensource-mac-x64-clang-5.5.1.dmg
|
||||
QT_SDK_MD5_URL := http://download.qt.io/official_releases/qt/5.5/5.5.1/qt-opensource-mac-x64-clang-5.5.1.dmg.md5
|
||||
QT_SDK_ARCH := clang_64
|
||||
QT_SDK_MOUNT_DIR := /Volumes/qt-opensource-mac-x64-clang-5.5.1
|
||||
QT_SDK_MAINTENANCE_TOOL := /Volumes/qt-opensource-mac-x64-clang-5.5.1/qt-opensource-mac-x64-clang-5.5.1.app/Contents/MacOS/qt-opensource-mac-x64-clang-5.5.1
|
||||
UNCRUSTIFY_URL := http://librepilot.github.io/tools/uncrustify-0.60.tar.gz
|
||||
DOXYGEN_URL := http://librepilot.github.io/tools/doxygen-1.8.3.1.src.tar.gz
|
||||
OSG_URL :=
|
||||
OSG_URL := http://librepilot.github.io/tools/osg-3.4-clang_64-qt-5.5.1.tar.gz
|
||||
else ifeq ($(UNAME), Windows)
|
||||
QT_SDK_URL := http://download.qt.io/official_releases/qt/5.4/5.4.1/qt-opensource-windows-x86-mingw491_opengl-5.4.1.exe
|
||||
QT_SDK_MD5_URL := http://download.qt.io/official_releases/qt/5.4/5.4.1/qt-opensource-windows-x86-mingw491_opengl-5.4.1.exe.md5
|
||||
QT_SDK_ARCH := mingw491_32
|
||||
QT_SDK_URL := http://download.qt.io/official_releases/qt/5.5/5.5.1/qt-opensource-windows-x86-mingw492-5.5.1.exe
|
||||
QT_SDK_MD5_URL := http://download.qt.io/official_releases/qt/5.5/5.5.1/qt-opensource-windows-x86-mingw492-5.5.1.exe.md5
|
||||
QT_SDK_ARCH := mingw492_32
|
||||
NSIS_URL := http://librepilot.github.io/tools/nsis-2.46-unicode.tar.bz2
|
||||
SDL_URL := http://librepilot.github.io/tools/SDL-devel-1.2.15-mingw32.tar.gz
|
||||
OPENSSL_URL := http://librepilot.github.io/tools/openssl-1.0.1e-win32.tar.bz2
|
||||
@ -123,14 +122,14 @@ else ifeq ($(UNAME), Windows)
|
||||
CMAKE_URL := http://www.cmake.org/files/v2.8/cmake-2.8.12.2-win32-x86.zip
|
||||
CMAKE_MD5_URL := http://librepilot.github.io/tools/cmake-2.8.12.2-win32-x86.zip.md5
|
||||
MSYS_URL := http://librepilot.github.io/tools/MSYS-1.0.11.zip
|
||||
OSG_URL := http://librepilot.github.io/tools/osg-3.4-mingw491_32-qt-5.4.1.tar.gz
|
||||
OSG_URL := http://librepilot.github.io/tools/osg-3.4-mingw492_32-qt-5.5.1.tar.gz
|
||||
endif
|
||||
|
||||
GTEST_URL := http://librepilot.github.io/tools/gtest-1.6.0.zip
|
||||
CCACHE_URL := http://samba.org/ftp/ccache/ccache-3.2.2.tar.bz2
|
||||
CCACHE_MD5_URL := http://librepilot.github.io/tools/ccache-3.2.2.tar.bz2.md5
|
||||
|
||||
QT_SDK_DIR := $(TOOLS_DIR)/qt-5.4.1
|
||||
QT_SDK_DIR := $(TOOLS_DIR)/qt-5.5.1
|
||||
UNCRUSTIFY_DIR := $(TOOLS_DIR)/uncrustify-0.60
|
||||
DOXYGEN_DIR := $(TOOLS_DIR)/doxygen-1.8.3.1
|
||||
GTEST_DIR := $(TOOLS_DIR)/gtest-1.6.0
|
||||
@ -139,12 +138,12 @@ OSG_TOOLS_DIR := $(TOOLS_DIR)
|
||||
|
||||
ifeq ($(UNAME), Linux)
|
||||
ifeq ($(ARCH), x86_64)
|
||||
OSG_SDK_DIR := $(OSG_TOOLS_DIR)/osg-3.4-linux-x64-qt-5.4.1
|
||||
OSG_SDK_DIR := $(OSG_TOOLS_DIR)/osg-3.4-linux-x64-qt-5.5.1
|
||||
else
|
||||
OSG_SDK_DIR := $(OSG_TOOLS_DIR)/osg-3.4-linux-x86-qt-5.4.1
|
||||
OSG_SDK_DIR := $(OSG_TOOLS_DIR)/osg-3.4-linux-x86-qt-5.5.1
|
||||
endif
|
||||
else ifeq ($(UNAME), Darwin)
|
||||
OSG_SDK_DIR := $(OSG_TOOLS_DIR)/osg-3.4-clang_64-qt-5.4.1
|
||||
OSG_SDK_DIR := $(OSG_TOOLS_DIR)/osg-3.4-clang_64-qt-5.5.1
|
||||
else ifeq ($(UNAME), Windows)
|
||||
MINGW_DIR := $(QT_SDK_DIR)/Tools/$(QT_SDK_ARCH)
|
||||
# When changing PYTHON_DIR, you must also update it in ground/gcs/src/python.pri
|
||||
@ -156,7 +155,7 @@ else ifeq ($(UNAME), Windows)
|
||||
MESAWIN_DIR := $(TOOLS_DIR)/mesawin
|
||||
CMAKE_DIR := $(TOOLS_DIR)/cmake-2.8.12.2-win32-x86
|
||||
MSYS_DIR := $(TOOLS_DIR)/msys
|
||||
OSG_SDK_DIR := $(OSG_TOOLS_DIR)/osg-3.4-mingw491_32-qt-5.4.1
|
||||
OSG_SDK_DIR := $(OSG_TOOLS_DIR)/osg-3.4-mingw492_32-qt-5.5.1
|
||||
endif
|
||||
|
||||
QT_SDK_PREFIX := $(QT_SDK_DIR)
|
||||
@ -395,207 +394,6 @@ $(1)_distclean:
|
||||
|
||||
endef
|
||||
|
||||
##############################
|
||||
#
|
||||
# Windows QT install template
|
||||
# $(1) = tool temp extract/build directory
|
||||
# $(2) = tool install directory
|
||||
# $(3) = tool distribution URL
|
||||
# $(4) = tool distribution .md5 URL
|
||||
# $(5) = tool distribution file
|
||||
# $(6) = QT architecture
|
||||
# $(7) = optional extra build recipes template
|
||||
# $(8) = optional extra clean recipes template
|
||||
#
|
||||
##############################
|
||||
|
||||
define WIN_QT_INSTALL_TEMPLATE
|
||||
|
||||
.PHONY: $(addprefix qt_sdk_, install clean distclean)
|
||||
|
||||
qt_sdk_install: qt_sdk_clean | $(DL_DIR) $(TOOLS_DIR)
|
||||
$(V1) if ! $(SEVENZIP) >/dev/null 2>&1; then \
|
||||
$(ECHO) $(MSG_NOTICE) "Missing 7zip. Run ./make/scripts/win_sdk_install.sh [<OpenPilot tools dir>] to get it." && \
|
||||
exit 1; \
|
||||
fi
|
||||
$(call DOWNLOAD_TEMPLATE,$(3),$(5),"$(4)")
|
||||
# Explode .run file into install packages
|
||||
@$(ECHO) $(MSG_EXTRACTING) $$(call toprel, $(1))
|
||||
$(V1) $(MKDIR) -p $$(call toprel, $(dir $(1)))
|
||||
$(V1) chmod +x $(DL_DIR)/$(5)
|
||||
$(V1) $(DL_DIR)/$(5) --dump-binary-data -o $(1)
|
||||
# Extract packages under tool directory
|
||||
$(V1) $(MKDIR) -p $$(call toprel, $(dir $(2)))
|
||||
$(V1) $(SEVENZIP) -y -o$(2) x "$(1)/qt.54.win32_mingw491/5.4.1-0qt5_essentials.7z" | grep -v Extracting
|
||||
$(V1) $(SEVENZIP) -y -o$(2) x "$(1)/qt.54.win32_mingw491/5.4.1-0i686-4.9.1-release-posix-dwarf-rt_v3-rev2-runtime.7z" | grep -v Extracting
|
||||
$(V1) $(SEVENZIP) -y -o$(2) x "$(1)/qt.54.win32_mingw491/5.4.1-0icu_53_1_mingw_builds_4_9_1_posix_dwarf_32.7z" | grep -v Extracting
|
||||
$(V1) $(SEVENZIP) -y -o$(2) x "$(1)/qt.54.win32_mingw491/5.4.1-0qt5_addons.7z" | grep -v Extracting
|
||||
$(V1) $(SEVENZIP) -y -o$(2) x "$(1)/qt.tools.win32_mingw491/4.9.1-2i686-4.9.1-release-posix-dwarf-rt_v3-rev2.7z" | grep -v Extracting
|
||||
# Run patcher
|
||||
@$(ECHO)
|
||||
@$(ECHO) "Executing QtPatch in" $$(call toprel, $(QT_SDK_PREFIX))
|
||||
$(V1) $(CD) $(QT_SDK_PREFIX)
|
||||
$(V1) $(DL_DIR)/$(5) --runoperation QtPatch windows $(QT_SDK_PREFIX) qt5
|
||||
|
||||
# Execute post build templates
|
||||
$(7)
|
||||
|
||||
# Clean up temporary files
|
||||
@$(ECHO) $(MSG_CLEANING) $$(call toprel, $(1))
|
||||
$(V1) [ ! -d "$(1)" ] || $(RM) -rf "$(1)"
|
||||
|
||||
qt_sdk_clean:
|
||||
@$(ECHO) $(MSG_CLEANING) $$(call toprel, $(1))
|
||||
$(V1) [ ! -d "$(1)" ] || $(RM) -rf "$(1)"
|
||||
@$(ECHO) $(MSG_CLEANING) $$(call toprel, "$(2)")
|
||||
$(V1) [ ! -d "$(2)" ] || $(RM) -rf "$(2)"
|
||||
|
||||
$(8)
|
||||
|
||||
qt_sdk_distclean:
|
||||
@$(ECHO) $(MSG_DISTCLEANING) $$(call toprel, $(DL_DIR)/$(5))
|
||||
$(V1) [ ! -f "$(DL_DIR)/$(5)" ] || $(RM) "$(DL_DIR)/$(5)"
|
||||
$(V1) [ ! -f "$(DL_DIR)/$(5).md5" ] || $(RM) "$(DL_DIR)/$(5).md5"
|
||||
|
||||
endef
|
||||
|
||||
##############################
|
||||
#
|
||||
# Linux QT install template
|
||||
# $(1) = tool temp extract/build directory
|
||||
# $(2) = tool install directory
|
||||
# $(3) = tool distribution URL
|
||||
# $(4) = tool distribution .md5 URL
|
||||
# $(5) = tool distribution file
|
||||
# $(6) = QT architecture
|
||||
# $(7) = optional extra build recipes template
|
||||
# $(8) = optional extra clean recipes template
|
||||
#
|
||||
##############################
|
||||
|
||||
define LINUX_QT_INSTALL_TEMPLATE
|
||||
|
||||
.PHONY: $(addprefix qt_sdk_, install clean distclean)
|
||||
|
||||
qt_sdk_install: qt_sdk_clean | $(DL_DIR) $(TOOLS_DIR)
|
||||
$(V1) if ! $(SEVENZIP) >/dev/null 2>&1; then \
|
||||
$(ECHO) $(MSG_NOTICE) "Please install the p7zip for your distribution. i.e.: sudo apt-get install p7zip-full" && \
|
||||
exit 1; \
|
||||
fi
|
||||
$(call DOWNLOAD_TEMPLATE,$(3),$(5),"$(4)")
|
||||
# Explode .run file into install packages
|
||||
@$(ECHO) $(MSG_EXTRACTING) $$(call toprel, $(1))
|
||||
$(V1) $(MKDIR) -p $$(call toprel, $(dir $(1)))
|
||||
$(V1) chmod +x $(DL_DIR)/$(5)
|
||||
$(V1) $(DL_DIR)/$(5) --dump-binary-data -o $(1)
|
||||
# Extract packages under tool directory
|
||||
$(V1) $(MKDIR) -p $$(call toprel, $(dir $(2)))
|
||||
$(V1) $(SEVENZIP) -y -o$(2) x "$(1)/qt.54.$(6)/5.4.1-0qt5_essentials.7z" | grep -v Extracting
|
||||
$(V1) if [ -f "$(1)/qt.54.$(6)/5.4.1-0icu_53_1_ubuntu_11_10_64.7z" ]; then $(SEVENZIP) -y -o$(2) x "$(1)/qt.54.$(6)/5.4.1-0icu_53_1_ubuntu_11_10_64.7z" | grep -v Extracting; fi
|
||||
$(V1) if [ -f "$(1)/qt.54.$(6)/5.4.1-0icu_53_1_ubuntu_11_10_32.7z" ]; then $(SEVENZIP) -y -o$(2) x "$(1)/qt.54.$(6)/5.4.1-0icu_53_1_ubuntu_11_10_32.7z" | grep -v Extracting; fi
|
||||
$(V1) $(SEVENZIP) -y -o$(2) x "$(1)/qt.54.$(6)/5.4.1-0qt5_addons.7z" | grep -v Extracting
|
||||
# Run patcher
|
||||
@$(ECHO)
|
||||
@$(ECHO) "Executing QtPatch in" $$(call toprel, $(QT_SDK_PREFIX))
|
||||
$(V1) $(CD) $(QT_SDK_PREFIX)
|
||||
$(V1) $(DL_DIR)/$(5) --runoperation QtPatch linux $(QT_SDK_PREFIX) qt5
|
||||
|
||||
# Execute post build templates
|
||||
$(7)
|
||||
|
||||
# Clean up temporary files
|
||||
@$(ECHO) $(MSG_CLEANING) $$(call toprel, $(1))
|
||||
$(V1) [ ! -d "$(1)" ] || $(RM) -rf "$(1)"
|
||||
|
||||
qt_sdk_clean:
|
||||
@$(ECHO) $(MSG_CLEANING) $$(call toprel, $(1))
|
||||
$(V1) [ ! -d "$(1)" ] || $(RM) -rf "$(1)"
|
||||
@$(ECHO) $(MSG_CLEANING) $$(call toprel, "$(2)")
|
||||
$(V1) [ ! -d "$(2)" ] || $(RM) -rf "$(2)"
|
||||
|
||||
$(8)
|
||||
|
||||
qt_sdk_distclean:
|
||||
@$(ECHO) $(MSG_DISTCLEANING) $$(call toprel, $(DL_DIR)/$(5))
|
||||
$(V1) [ ! -f "$(DL_DIR)/$(5)" ] || $(RM) "$(DL_DIR)/$(5)"
|
||||
$(V1) [ ! -f "$(DL_DIR)/$(5).md5" ] || $(RM) "$(DL_DIR)/$(5).md5"
|
||||
|
||||
endef
|
||||
|
||||
##############################
|
||||
#
|
||||
# Mac QT install template
|
||||
# $(1) = tool temp extract/build directory
|
||||
# $(2) = tool install directory
|
||||
# $(3) = tool distribution URL
|
||||
# $(4) = tool distribution .md5 URL
|
||||
# $(5) = tool distribution file
|
||||
# $(6) = QT architecture
|
||||
# $(7) = optional extra build recipes template
|
||||
# $(8) = optional extra clean recipes template
|
||||
#
|
||||
##############################
|
||||
|
||||
define MAC_QT_INSTALL_TEMPLATE
|
||||
|
||||
.PHONY: $(addprefix qt_sdk_, install clean distclean)
|
||||
|
||||
qt_sdk_install: qt_sdk_clean | $(DL_DIR) $(TOOLS_DIR)
|
||||
$(V1) if ! $(SEVENZIP) >/dev/null 2>&1; then \
|
||||
$(ECHO) $(MSG_NOTICE) "Please install the p7zip for your distribution. i.e.: brew install p7zip." && \
|
||||
exit 1; \
|
||||
fi
|
||||
$(call DOWNLOAD_TEMPLATE,$(3),$(5),"$(4)")
|
||||
# Mount .dmg file
|
||||
$(V1) hdiutil attach -nobrowse $(DL_DIR)/$(5)
|
||||
# Explode .dmg file into install packages
|
||||
@$(ECHO) $(MSG_EXTRACTING) $$(call toprel, $(1))
|
||||
$(V1) $(MKDIR) -p $$(call toprel, $(dir $(1)))
|
||||
$(V1) $(QT_SDK_MAINTENANCE_TOOL) --dump-binary-data -i $(QT_SDK_INSTALLER_DAT) -o $(1)
|
||||
# Extract packages under tool directory
|
||||
$(V1) $(MKDIR) -p $$(call toprel, $(dir $(2)))
|
||||
#$(V1) $(SEVENZIP) -y -o$(2) x "$(1)/qt.readme/1.0.0-0qt-project-url.7z" | grep -v Extracting
|
||||
#$(V1) $(SEVENZIP) -y -o$(2) x "$(1)/qt/5.4.1ThirdPartySoftware_Listing.7z" | grep -v Extracting
|
||||
#$(V1) $(SEVENZIP) -y -o$(2) x "$(1)/qt.readme/1.0.0-0readme.7z" | grep -v Extracting
|
||||
$(V1) $(SEVENZIP) -y -o$(2) x "$(1)/qt.54.$(6)/5.4.1-0qt5_essentials.7z" | grep -v Extracting
|
||||
# $(V1) $(SEVENZIP) -y -o$(2) x "$(1)/qt.54.$(6).essentials/5.4.1icu_path_patcher.sh.7z" | grep -v Extracting
|
||||
$(V1) $(SEVENZIP) -y -o$(2) x "$(1)/qt.54.$(6)/5.4.1-0qt5_addons.7z" | grep -v Extracting
|
||||
|
||||
|
||||
# go to OpenPilot/tools/5.4/gcc_64 and call patcher.sh
|
||||
@$(ECHO)
|
||||
@$(ECHO) "Running patcher in" $$(call toprel, $(QT_SDK_PREFIX))
|
||||
$(V1) $(CD) $(QT_SDK_PREFIX)
|
||||
# $(V1) "$(QT_SDK_PREFIX)/patcher.sh" $(QT_SDK_PREFIX)
|
||||
# call qmake patcher
|
||||
@$(ECHO) "Executing QtPatch in" $$(call toprel, $(QT_SDK_PREFIX))
|
||||
$(V1) $(QT_SDK_MAINTENANCE_TOOL) --runoperation QtPatch mac $(QT_SDK_PREFIX) qt5
|
||||
|
||||
#Unmount the .dmg file
|
||||
$(V1) hdiutil detach $(QT_SDK_MOUNT_DIR)
|
||||
|
||||
# Execute post build templates
|
||||
$(7)
|
||||
|
||||
# Clean up temporary files
|
||||
@$(ECHO) $(MSG_CLEANING) $$(call toprel, $(1))
|
||||
$(V1) [ ! -d "$(1)" ] || $(RM) -rf "$(1)"
|
||||
|
||||
qt_sdk_clean:
|
||||
@$(ECHO) $(MSG_CLEANING) $$(call toprel, $(1))
|
||||
$(V1) [ ! -d "$(1)" ] || $(RM) -rf "$(1)"
|
||||
@$(ECHO) $(MSG_CLEANING) $$(call toprel, "$(2)")
|
||||
$(V1) [ ! -d "$(2)" ] || $(RM) -rf "$(2)"
|
||||
|
||||
$(8)
|
||||
|
||||
qt_sdk_distclean:
|
||||
@$(ECHO) $(MSG_DISTCLEANING) $$(call toprel, $(DL_DIR)/$(5))
|
||||
$(V1) [ ! -f "$(DL_DIR)/$(5)" ] || $(RM) "$(DL_DIR)/$(5)"
|
||||
$(V1) [ ! -f "$(DL_DIR)/$(5).md5" ] || $(RM) "$(DL_DIR)/$(5).md5"
|
||||
|
||||
endef
|
||||
|
||||
##############################
|
||||
#
|
||||
# ARM SDK
|
||||
@ -623,6 +421,84 @@ define ARM_GCC_VERSION_CHECK_TEMPLATE
|
||||
fi
|
||||
endef
|
||||
|
||||
##############################
|
||||
#
|
||||
# Qt install template
|
||||
# $(1) = tool install directory
|
||||
# $(2) = tool distribution URL
|
||||
# $(3) = tool distribution .md5 URL
|
||||
# $(4) = tool distribution file
|
||||
# $(5) = Qt architecture
|
||||
# $(6) = optional extra build recipes template
|
||||
# $(7) = optional extra clean recipes template
|
||||
#
|
||||
##############################
|
||||
|
||||
define QT_INSTALL_TEMPLATE
|
||||
|
||||
.PHONY: $(addprefix qt_sdk_, install clean distclean)
|
||||
|
||||
qt_sdk_install: qt_sdk_clean | $(DL_DIR) $(TOOLS_DIR)
|
||||
$(call DOWNLOAD_TEMPLATE,$(2),$(4),"$(3)")
|
||||
# Silently install Qt under tools directory
|
||||
@$(ECHO) $(MSG_EXTRACTING) $(4) to $$(call toprel, $(1))
|
||||
$(V1) ( export QT_INSTALL_TARGET_DIR=$(1) && \
|
||||
chmod +x $(DL_DIR)/$(4) && \
|
||||
$(DL_DIR)/$(4) --script $(ROOT_DIR)/make/tool_install/qt-install.qs ; \
|
||||
)
|
||||
# Execute post build templates
|
||||
$(6)
|
||||
|
||||
qt_sdk_clean:
|
||||
@$(ECHO) $(MSG_CLEANING) $$(call toprel, $(1))
|
||||
$(V1) [ ! -d "$(1)" ] || $(RM) -rf "$(1)"
|
||||
$(7)
|
||||
|
||||
qt_sdk_distclean:
|
||||
@$(ECHO) $(MSG_DISTCLEANING) $$(call toprel, $(DL_DIR)/$(4))
|
||||
$(V1) [ ! -f "$(DL_DIR)/$(4)" ] || $(RM) "$(DL_DIR)/$(4)"
|
||||
$(V1) [ ! -f "$(DL_DIR)/$(4).md5" ] || $(RM) "$(DL_DIR)/$(4).md5"
|
||||
|
||||
endef
|
||||
|
||||
##############################
|
||||
#
|
||||
# Mac QT install template
|
||||
# $(1) = tool install directory
|
||||
# $(2) = tool distribution URL
|
||||
# $(3) = tool distribution .md5 URL
|
||||
# $(4) = tool distribution file
|
||||
# $(5) = QT architecture
|
||||
# $(6) = optional extra build recipes template
|
||||
# $(7) = optional extra clean recipes template
|
||||
#
|
||||
##############################
|
||||
|
||||
define MAC_QT_INSTALL_TEMPLATE
|
||||
|
||||
.PHONY: $(addprefix qt_sdk_, install clean distclean)
|
||||
|
||||
qt_sdk_install: qt_sdk_clean | $(DL_DIR) $(TOOLS_DIR)
|
||||
$(call DOWNLOAD_TEMPLATE,$(2),$(4),"$(3)")
|
||||
# Mount .dmg file
|
||||
$(V1) hdiutil attach -nobrowse $(DL_DIR)/$(4)
|
||||
# Silently install Qt under tools directory
|
||||
@$(ECHO) $(MSG_EXTRACTING) $(4) to $$(call toprel, $(1))
|
||||
$(V1) ( export QT_INSTALL_TARGET_DIR=$(1) && \
|
||||
$(QT_SDK_MAINTENANCE_TOOL) --script $(ROOT_DIR)/make/tool_install/qt-install.qs ; \
|
||||
)
|
||||
# Unmount the .dmg file
|
||||
$(V1) hdiutil detach $(QT_SDK_MOUNT_DIR)
|
||||
# Execute post build templates
|
||||
$(6)
|
||||
|
||||
qt_sdk_clean:
|
||||
@$(ECHO) $(MSG_CLEANING) $$(call toprel, $(1))
|
||||
$(V1) [ ! -d "$(1)" ] || $(RM) -rf "$(1)"
|
||||
$(7)
|
||||
|
||||
endef
|
||||
|
||||
##############################
|
||||
#
|
||||
# Qt SDK
|
||||
@ -631,30 +507,19 @@ endef
|
||||
|
||||
ifeq ($(UNAME), Windows)
|
||||
|
||||
QT_SDK_PREFIX := $(QT_SDK_DIR)/5.4/$(QT_SDK_ARCH)
|
||||
QT_SDK_PREFIX := $(QT_SDK_DIR)/5.5/$(QT_SDK_ARCH)
|
||||
|
||||
# This additional configuration step should not be necessary
|
||||
# but it is needed as a workaround to https://bugreports.qt-project.org/browse/QTBUG-33254
|
||||
define QT_SDK_CONFIGURE_TEMPLATE
|
||||
@$(ECHO) $(MSG_CONFIGURING) $(call toprel, $(QT_SDK_DIR))
|
||||
$(V1) $(ECHO) $(QUOTE)[Paths]$(QUOTE) > $(QT_SDK_PREFIX)/bin/qt.conf
|
||||
$(V1) $(ECHO) $(QUOTE)Prefix = $(QT_SDK_PREFIX)$(QUOTE) >> $(QT_SDK_PREFIX)/bin/qt.conf
|
||||
endef
|
||||
|
||||
QT_BUILD_DIR := $(BUILD_DIR)/QT_BUILD
|
||||
$(eval $(call WIN_QT_INSTALL_TEMPLATE,$(QT_BUILD_DIR),$(QT_SDK_DIR),$(QT_SDK_URL),$(QT_SDK_MD5_URL),$(notdir $(QT_SDK_URL)),$(QT_SDK_ARCH),$(QT_SDK_CONFIGURE_TEMPLATE)))
|
||||
$(eval $(call QT_INSTALL_TEMPLATE,$(QT_SDK_DIR),$(QT_SDK_URL),$(QT_SDK_MD5_URL),$(notdir $(QT_SDK_URL)),$(QT_SDK_ARCH)))
|
||||
|
||||
else ifeq ($(UNAME), Linux)
|
||||
|
||||
QT_SDK_PREFIX := "$(QT_SDK_DIR)/5.4/$(QT_SDK_ARCH)"
|
||||
QT_BUILD_DIR := $(BUILD_DIR)/QT_BUILD
|
||||
$(eval $(call LINUX_QT_INSTALL_TEMPLATE,$(QT_BUILD_DIR),$(QT_SDK_DIR),$(QT_SDK_URL),$(QT_SDK_MD5_URL),$(notdir $(QT_SDK_URL)),$(QT_SDK_ARCH)))
|
||||
QT_SDK_PREFIX := "$(QT_SDK_DIR)/5.5/$(QT_SDK_ARCH)"
|
||||
$(eval $(call QT_INSTALL_TEMPLATE,$(QT_SDK_DIR),$(QT_SDK_URL),$(QT_SDK_MD5_URL),$(notdir $(QT_SDK_URL)),$(QT_SDK_ARCH)))
|
||||
|
||||
else ifeq ($(UNAME), Darwin)
|
||||
|
||||
QT_SDK_PREFIX := "$(QT_SDK_DIR)/5.4/$(QT_SDK_ARCH)"
|
||||
QT_BUILD_DIR := $(BUILD_DIR)/QT_BUILD
|
||||
$(eval $(call MAC_QT_INSTALL_TEMPLATE,$(QT_BUILD_DIR),$(QT_SDK_DIR),$(QT_SDK_URL),$(QT_SDK_MD5_URL),$(notdir $(QT_SDK_URL)),$(QT_SDK_ARCH)))
|
||||
QT_SDK_PREFIX := "$(QT_SDK_DIR)/5.5/$(QT_SDK_ARCH)"
|
||||
$(eval $(call MAC_QT_INSTALL_TEMPLATE,$(QT_SDK_DIR),$(QT_SDK_URL),$(QT_SDK_MD5_URL),$(notdir $(QT_SDK_URL)),$(QT_SDK_ARCH)))
|
||||
|
||||
else
|
||||
|
||||
@ -663,7 +528,7 @@ QT_SDK_PREFIX := $(QT_SDK_DIR)
|
||||
.PHONY: qt_sdk_install
|
||||
qt_sdk_install:
|
||||
@$(ECHO) $(MSG_NOTICE) --------------------------------------------------------
|
||||
@$(ECHO) $(MSG_NOTICE) Please install native Qt 5.4.x SDK using package manager
|
||||
@$(ECHO) $(MSG_NOTICE) Please install native Qt 5.5.x SDK using package manager
|
||||
@$(ECHO) $(MSG_NOTICE) --------------------------------------------------------
|
||||
|
||||
.PHONY: qt_sdk_clean
|
||||
|
Loading…
Reference in New Issue
Block a user