Add <swiftInstall>/bin to library lookup paths

Summary:
This change adds <swiftInstall>/bin to the library lookup paths.
Without, QFactoryLoader is not able to find the Qt plugins
on Mac OS since on this platform the hard coded path defaults to
'foo.app/Contents/MacOS' for app bundles.
This change also adds the installation of QtPrintSupport framework which
is a dependency from cocoa platform plugin.

ref T48

Reviewers: kbasan, msutcliffe

Reviewed By: kbasan

Subscribers: jenkins

Maniphest Tasks: T48

Differential Revision: https://dev.swift-project.org/D15
This commit is contained in:
Roland Winklmeier
2017-04-25 13:27:21 +02:00
committed by Mathew Sutcliffe
parent 9c9f3e82ae
commit a3bc5c2936
13 changed files with 55 additions and 2 deletions

View File

@@ -31,7 +31,8 @@ else:macx {
qt5_target.extra += rsync -avz --exclude \'Headers*\' --exclude \'*debug*\' $$[QT_INSTALL_LIBS]/QtXml.framework/ $${PREFIX}/lib/QtXml.framework/ &&
qt5_target.extra += rsync -avz --exclude \'Headers*\' --exclude \'*debug*\' $$[QT_INSTALL_LIBS]/QtMultimedia.framework/ $${PREFIX}/lib/QtMultimedia.framework/ &&
qt5_target.extra += rsync -avz --exclude \'Headers*\' --exclude \'*debug*\' $$[QT_INSTALL_LIBS]/QtSvg.framework/ $${PREFIX}/lib/QtSvg.framework/ &&
qt5_target.extra += rsync -avz --exclude \'Headers*\' --exclude \'*debug*\' $$[QT_INSTALL_LIBS]/QtWidgets.framework/ $${PREFIX}/lib/QtWidgets.framework/
qt5_target.extra += rsync -avz --exclude \'Headers*\' --exclude \'*debug*\' $$[QT_INSTALL_LIBS]/QtWidgets.framework/ $${PREFIX}/lib/QtWidgets.framework/ &&
qt5_target.extra += rsync -avz --exclude \'Headers*\' --exclude \'*debug*\' $$[QT_INSTALL_LIBS]/QtPrintSupport.framework/ $${PREFIX}/lib/QtPrintSupport.framework/
}
else:unix: {
QT5_LIBRARIES *= libQt5Core.so.5

View File

@@ -142,6 +142,9 @@
<distributionDirectory>
<origin>../../dist/lib/QtNetwork.framework</origin>
</distributionDirectory>
<distributionDirectory>
<origin>../../dist/lib/QtPrintSupport.framework</origin>
</distributionDirectory>
<distributionDirectory>
<origin>../../dist/lib/QtSvg.framework</origin>
</distributionDirectory>

View File

@@ -8,6 +8,7 @@
*/
#include "blackcore/application.h"
#include "blackmisc/directoryutils.h"
#include "samplesalgorithm.h"
#include "sampleschangeobject.h"
#include "samplescontainer.h"
@@ -32,6 +33,9 @@ int main(int argc, char *argv[])
{
// I use CGuiApplication and not core application
// otherwise no QPixmap metadata (metadata sample)
#ifdef Q_OS_MAC
QCoreApplication::addLibraryPath(CDirectoryUtils::applicationDirectoryPath());
#endif
QCoreApplication qa(argc, argv);
CApplication a(CApplicationInfo::Sample);
Q_UNUSED(qa);

View File

@@ -11,6 +11,7 @@
//! \ingroup sampleblackmiscdbus
#include "blackmisc/dbusserver.h"
#include "blackmisc/directoryutils.h"
#include "blackmisc/registermetadata.h"
#include "blackmisc/network/networkutils.h"
#include "blackmisc/dbusutils.h"
@@ -28,6 +29,8 @@
#include <Qt>
#include <QtDebug>
using namespace BlackMisc;
//! main
int main(int argc, char *argv[])
{
@@ -35,6 +38,9 @@ int main(int argc, char *argv[])
// is just for testing, I did not split it up
BlackMisc::registerMetadata();
#ifdef Q_OS_MAC
QCoreApplication::addLibraryPath(CDirectoryUtils::applicationDirectoryPath());
#endif
QCoreApplication a(argc, argv);
QTextStream out(stdout, QIODevice::WriteOnly);
QTextStream qtin(stdin);

View File

@@ -14,6 +14,7 @@
#include "samplesgeo.h"
#include "samplesphysicalquantities.h"
#include "blackcore/application.h"
#include "blackmisc/directoryutils.h"
#include <stdio.h>
#include <QCoreApplication>
@@ -28,6 +29,9 @@ using namespace BlackCore;
//! main
int main(int argc, char *argv[])
{
#ifdef Q_OS_MAC
QCoreApplication::addLibraryPath(CDirectoryUtils::applicationDirectoryPath());
#endif
QCoreApplication qa(argc, argv);
CApplication a;
Q_UNUSED(a);

View File

@@ -15,6 +15,7 @@
#include "samplesmodelmapping.h"
#include "samplesvpilotrules.h"
#include "blackcore/application.h"
#include "blackmisc/directoryutils.h"
#include <stdio.h>
#include <stdlib.h>
@@ -24,10 +25,14 @@
#include <QTime>
#include <QtGlobal>
using namespace BlackMisc;
//! main
int main(int argc, char *argv[])
{
#ifdef Q_OS_MAC
QCoreApplication::addLibraryPath(CDirectoryUtils::applicationDirectoryPath());
#endif
QCoreApplication qa(argc, argv);
BlackCore::CApplication a;
Q_UNUSED(a);

View File

@@ -12,16 +12,21 @@
#include "reader.h"
#include "client.h"
#include "blackmisc/directoryutils.h"
#include "blackmisc/loghandler.h"
#include <QCoreApplication>
#include <QObject>
using namespace BlackSample;
using namespace BlackMisc;
//! main
int main(int argc, char *argv[])
{
#ifdef Q_OS_MAC
QCoreApplication::addLibraryPath(CDirectoryUtils::applicationDirectoryPath());
#endif
QCoreApplication app (argc, argv);
BlackMisc::CLogHandler::instance()->install();

View File

@@ -10,16 +10,21 @@
//! \file
//! \ingroup samplehotkey
#include "blackmisc/directoryutils.h"
#include "blackgui/components/settingshotkeycomponent.h"
#include "blackgui/guiapplication.h"
#include <QApplication>
using namespace BlackMisc;
using namespace BlackGui;
//! main
int main(int argc, char *argv[])
{
#ifdef Q_OS_MAC
QApplication::addLibraryPath(CDirectoryUtils::applicationDirectoryPath());
#endif
CGuiApplication::highDpiScreenSupport();
QApplication qa(argc, argv);
CGuiApplication a("samplehotkey", BlackMisc::CApplicationInfo::Sample, QPixmap());

View File

@@ -10,6 +10,7 @@
//! \file
//! \ingroup sampleweatherdata
#include "blackmisc/directoryutils.h"
#include "blackmisc/loghandler.h"
#include "blackmisc/registermetadata.h"
#include "reader.h"
@@ -26,6 +27,9 @@ using namespace BlackMisc::PhysicalQuantities;
//! main
int main(int argc, char *argv[])
{
#ifdef Q_OS_MAC
QCoreApplication::addLibraryPath(CDirectoryUtils::applicationDirectoryPath());
#endif
QCoreApplication a(argc, argv);
BlackMisc::registerMetadata();
CLogHandler::instance()->install(true);

View File

@@ -10,6 +10,7 @@
#include "blackcore/corefacadeconfig.h"
#include "blackgui/guiapplication.h"
#include "blackmisc/icons.h"
#include "blackmisc/directoryutils.h"
#include "swiftcore.h"
#include <stdlib.h>
@@ -25,6 +26,9 @@ using namespace BlackGui;
int main(int argc, char *argv[])
{
//! [SwiftApplicationDemo]
#ifdef Q_OS_MAC
QApplication::addLibraryPath(CDirectoryUtils::applicationDirectoryPath());
#endif
CGuiApplication::highDpiScreenSupport();
QApplication qa(argc, argv);
Q_UNUSED(qa); // init of qa is required, but qa not used

View File

@@ -9,6 +9,7 @@
#include "blackcore/webreaderflags.h"
#include "blackgui/guiapplication.h"
#include "blackmisc/directoryutils.h"
#include "blackmisc/icons.h"
#include "swiftdata.h"
@@ -23,6 +24,9 @@ using namespace BlackGui;
int main(int argc, char *argv[])
{
#ifdef Q_OS_MAC
QApplication::addLibraryPath(CDirectoryUtils::applicationDirectoryPath());
#endif
CGuiApplication::highDpiScreenSupport();
QApplication qa(argc, argv);
Q_UNUSED(qa);

View File

@@ -9,6 +9,7 @@
#include "blackgui/enableforframelesswindow.h"
#include "blackgui/guiapplication.h"
#include "blackmisc/directoryutils.h"
#include "swiftguistd.h"
#include "swiftguistdapplication.h"
@@ -22,6 +23,9 @@ using namespace BlackCore;
int main(int argc, char *argv[])
{
//! [SwiftApplicationDemo]
#ifdef Q_OS_MAC
QApplication::addLibraryPath(CDirectoryUtils::applicationDirectoryPath());
#endif
CGuiApplication::highDpiScreenSupport();
QApplication qa(argc, argv);
Q_UNUSED(qa); // application init needed

View File

@@ -11,6 +11,7 @@
#include "blackgui/guiapplication.h"
#include "blackcore/registermetadata.h"
#include "blackcore/db/databasereaderconfig.h"
#include "blackmisc/directoryutils.h"
#include "blackmisc/logmessage.h"
#include "blackmisc/icons.h"
@@ -29,6 +30,9 @@ using namespace BlackCore::Db;
int main(int argc, char *argv[])
{
//! [SwiftApplicationDemo]
#ifdef Q_OS_MAC
QApplication::addLibraryPath(CDirectoryUtils::applicationDirectoryPath());
#endif
CGuiApplication::highDpiScreenSupport();
QApplication qa(argc, argv); // needed
Q_UNUSED(qa);