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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -32,6 +32,8 @@
//============================================================================
#include <QFrame>
#include "ads_globals.h"
namespace ads
{
class CDockWidget;
@ -41,7 +43,7 @@ struct DockWidgetTitleBarPrivate;
/**
* 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_PROPERTY(bool activeTab READ isActiveTab WRITE setActiveTab NOTIFY activeTabChanged)

View File

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

View File

@ -31,6 +31,13 @@
// INCLUDES
//============================================================================
#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;

View File

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