Added support for export of shared library functions to support MSVC builds

This commit is contained in:
Uwe Kindler 2018-07-17 15:11:49 +02:00
parent 064cab405a
commit f823b67a4a
10 changed files with 29 additions and 9 deletions

View File

@ -32,6 +32,8 @@
//============================================================================ //============================================================================
#include <QFrame> #include <QFrame>
#include "ads_globals.h"
class QXmlStreamWriter; class QXmlStreamWriter;
namespace ads namespace ads
@ -47,7 +49,7 @@ class CDockWidget;
* It displays a title tab, which is clickable and will switch to * It displays a title tab, which is clickable and will switch to
* the contents associated to the title when clicked. * the contents associated to the title when clicked.
*/ */
class CDockAreaWidget : public QFrame class ADS_EXPORT CDockAreaWidget : public QFrame
{ {
Q_OBJECT Q_OBJECT
private: private:

View File

@ -34,6 +34,7 @@
#include "ads_globals.h" #include "ads_globals.h"
class QXmlStreamWriter; class QXmlStreamWriter;
class QXmlStreamReader; class QXmlStreamReader;
@ -49,7 +50,7 @@ class CFloatingDockContainer;
* Container that manages a number of dock areas with single dock widgets * Container that manages a number of dock areas with single dock widgets
* or tabyfied dock widgets in each area * or tabyfied dock widgets in each area
*/ */
class CDockContainerWidget : public QFrame class ADS_EXPORT CDockContainerWidget : public QFrame
{ {
Q_OBJECT Q_OBJECT
private: private:

View File

@ -32,6 +32,8 @@
//============================================================================ //============================================================================
#include "DockContainerWidget.h" #include "DockContainerWidget.h"
#include "ads_globals.h"
class QSettings; class QSettings;
namespace ads namespace ads
@ -44,7 +46,7 @@ class CDockOverlay;
/** /**
* The central dock manager that maintains the complete docking system * The central dock manager that maintains the complete docking system
**/ **/
class CDockManager : public CDockContainerWidget class ADS_EXPORT CDockManager : public CDockContainerWidget
{ {
Q_OBJECT Q_OBJECT
private: private:

View File

@ -39,7 +39,7 @@ class CDockOverlayCross;
* DockOverlay paints a translucent rectangle over another widget. The geometry * DockOverlay paints a translucent rectangle over another widget. The geometry
* of the rectangle is based on the mouse location. * of the rectangle is based on the mouse location.
*/ */
class CDockOverlay : public QFrame class ADS_EXPORT CDockOverlay : public QFrame
{ {
Q_OBJECT Q_OBJECT
private: private:

View File

@ -31,6 +31,8 @@
//============================================================================ //============================================================================
#include <QSplitter> #include <QSplitter>
#include "ads_globals.h"
namespace ads namespace ads
{ {
struct DockSplitterPrivate; struct DockSplitterPrivate;
@ -38,7 +40,7 @@ struct DockSplitterPrivate;
/** /**
* Splitter used internally instead of QSplitter * Splitter used internally instead of QSplitter
*/ */
class CDockSplitter : public QSplitter class ADS_EXPORT CDockSplitter : public QSplitter
{ {
Q_OBJECT Q_OBJECT
private: private:

View File

@ -32,6 +32,8 @@
//============================================================================ //============================================================================
#include <QFrame> #include <QFrame>
#include "ads_globals.h"
class QXmlStreamWriter; class QXmlStreamWriter;
namespace ads namespace ads
@ -47,7 +49,7 @@ struct DockContainerWidgetPrivate;
* The QDockWidget class provides a widget that can be docked inside a * The QDockWidget class provides a widget that can be docked inside a
* CDockManager or floated as a top-level window on the desktop. * CDockManager or floated as a top-level window on the desktop.
*/ */
class CDockWidget : public QFrame class ADS_EXPORT CDockWidget : public QFrame
{ {
Q_OBJECT Q_OBJECT
private: private:

View File

@ -32,6 +32,8 @@
//============================================================================ //============================================================================
#include <QFrame> #include <QFrame>
#include "ads_globals.h"
namespace ads namespace ads
{ {
class CDockWidget; class CDockWidget;
@ -41,7 +43,7 @@ struct DockWidgetTitleBarPrivate;
/** /**
* A dock widget title bar that shows a title and an icon * A dock widget title bar that shows a title and an icon
*/ */
class CDockWidgetTitleBar : public QFrame class ADS_EXPORT CDockWidgetTitleBar : public QFrame
{ {
Q_OBJECT Q_OBJECT
Q_PROPERTY(bool activeTab READ isActiveTab WRITE setActiveTab NOTIFY activeTabChanged) Q_PROPERTY(bool activeTab READ isActiveTab WRITE setActiveTab NOTIFY activeTabChanged)

View File

@ -31,6 +31,8 @@
//============================================================================ //============================================================================
#include <QWidget> #include <QWidget>
#include "ads_globals.h"
class QXmlStreamReader; class QXmlStreamReader;
namespace ads namespace ads
@ -46,7 +48,7 @@ class CDockManager;
* docking of dock widgets like the main window and that can be docked into * docking of dock widgets like the main window and that can be docked into
* another dock container * another dock container
*/ */
class CFloatingDockContainer : public QWidget class ADS_EXPORT CFloatingDockContainer : public QWidget
{ {
Q_OBJECT Q_OBJECT
private: private:

View File

@ -31,6 +31,13 @@
// INCLUDES // INCLUDES
//============================================================================ //============================================================================
#include <QPair> #include <QPair>
#include <QtCore/QtGlobal>
#ifdef ADS_SHARED_EXPORT
#define ADS_EXPORT Q_DECL_EXPORT
#else
#define ADS_EXPORT Q_DECL_IMPORT
#endif
class QSplitter; class QSplitter;

View File

@ -11,7 +11,7 @@ CONFIG += adsBuildShared
adsBuildShared { adsBuildShared {
CONFIG += shared CONFIG += shared
DEFINES += ADS_EXPORT DEFINES += ADS_SHARED_EXPORT
} }
!adsBuildShared { !adsBuildShared {
CONFIG += staticlib CONFIG += staticlib