diff --git a/inputcontext/QskHunspellTextPredictor.h b/inputcontext/QskHunspellTextPredictor.h index 4054ec33..c56a9288 100644 --- a/inputcontext/QskHunspellTextPredictor.h +++ b/inputcontext/QskHunspellTextPredictor.h @@ -6,10 +6,11 @@ #ifndef QSK_HUNSPELL_TEXT_PREDICTOR_H #define QSK_HUNSPELL_TEXT_PREDICTOR_H -#include "QskTextPredictor.h" +#include "QskInputContextGlobal.h" +#include #include -class QSK_EXPORT QskHunspellTextPredictor : public QskTextPredictor +class QSK_INPUTCONTEXT_EXPORT QskHunspellTextPredictor : public QskTextPredictor { using Inherited = QskTextPredictor; diff --git a/inputcontext/QskInputContextGlobal.h b/inputcontext/QskInputContextGlobal.h new file mode 100644 index 00000000..bb3aeb29 --- /dev/null +++ b/inputcontext/QskInputContextGlobal.h @@ -0,0 +1,25 @@ +/****************************************************************************** + * QSkinny - Copyright (C) 2016 Uwe Rathmann + * This file may be used under the terms of the QSkinny License, Version 1.0 + *****************************************************************************/ + +#ifndef QSK_INPUTCONTEXT_GLOBAL_H +#define QSK_INPUTCONTEXT_GLOBAL_H + +#include "QskGlobal.h" + +#ifdef QSK_DLL + +#if defined( QSK_INPUTCONTEXT_MAKEDLL ) // create a DLL library +#define QSK_INPUTCONTEXT_EXPORT Q_DECL_EXPORT +#else // use a DLL library +#define QSK_INPUTCONTEXT_EXPORT Q_DECL_IMPORT +#endif + +#endif // QSK_DLL + +#ifndef QSK_INPUTCONTEXT_EXPORT +#define QSK_INPUTCONTEXT_EXPORT +#endif + +#endif diff --git a/inputcontext/QskPinyinTextPredictor.h b/inputcontext/QskPinyinTextPredictor.h index 00fa1918..09ad51c8 100644 --- a/inputcontext/QskPinyinTextPredictor.h +++ b/inputcontext/QskPinyinTextPredictor.h @@ -6,10 +6,11 @@ #ifndef QSK_PINYIN_TEXT_PREDICTOR_H #define QSK_PINYIN_TEXT_PREDICTOR_H -#include "QskTextPredictor.h" +#include "QskInputContextGlobal.h" +#include #include -class QSK_EXPORT QskPinyinTextPredictor : public QskTextPredictor +class QSK_INPUTCONTEXT_EXPORT QskPinyinTextPredictor : public QskTextPredictor { using Inherited = QskTextPredictor; diff --git a/inputcontext/inputcontext.pro b/inputcontext/inputcontext.pro index 989f38af..7380ee8a 100644 --- a/inputcontext/inputcontext.pro +++ b/inputcontext/inputcontext.pro @@ -32,6 +32,9 @@ DESTDIR = $${QSK_OUT_ROOT}/plugins/platforminputcontexts QMAKE_RPATHDIR *= $${QSK_OUT_ROOT}/lib LIBS *= -L$${QSK_OUT_ROOT}/lib -lqskinny +HEADERS += \ + QskInputContextGlobal.h + SOURCES += \ QskInputContextPlugin.cpp @@ -68,8 +71,6 @@ hunspell { } -win32 { - contains(QSK_CONFIG, QskDll) { - DEFINES += QT_DLL QSK_DLL - } +contains(QSK_CONFIG, QskDll) { + DEFINES += QT_DLL QSK_DLL QSK_INPUTCONTEXT_MAKEDLL } diff --git a/qmlexport/QskQml.h b/qmlexport/QskQml.h index dcc03b8f..6654c4c3 100644 --- a/qmlexport/QskQml.h +++ b/qmlexport/QskQml.h @@ -6,11 +6,11 @@ #ifndef QSK_QML_EXPORT_H #define QSK_QML_EXPORT_H -#include "QskGlobal.h" +#include "QskQmlGlobal.h" namespace QskQml { - QSK_EXPORT void registerTypes(); + QSK_QML_EXPORT void registerTypes(); } #endif diff --git a/qmlexport/QskQmlGlobal.h b/qmlexport/QskQmlGlobal.h new file mode 100644 index 00000000..bf936544 --- /dev/null +++ b/qmlexport/QskQmlGlobal.h @@ -0,0 +1,25 @@ +/****************************************************************************** + * QSkinny - Copyright (C) 2016 Uwe Rathmann + * This file may be used under the terms of the QSkinny License, Version 1.0 + *****************************************************************************/ + +#ifndef QSK_QML_GLOBAL_H +#define QSK_QML_GLOBAL_H + +#include + +#ifdef QSK_DLL + +#if defined( QSK_QML_MAKEDLL ) // create a DLL library +#define QSK_QML_EXPORT Q_DECL_EXPORT +#else // use a DLL library +#define QSK_QML_EXPORT Q_DECL_IMPORT +#endif + +#endif // QSK_DLL + +#ifndef QSK_QML_EXPORT +#define QSK_QML_EXPORT +#endif + +#endif diff --git a/qmlexport/QskShortcut.h b/qmlexport/QskShortcut.h index 886daec4..52e5c537 100644 --- a/qmlexport/QskShortcut.h +++ b/qmlexport/QskShortcut.h @@ -6,7 +6,7 @@ #ifndef QSK_SHORTCUT_H #define QSK_SHORTCUT_H -#include "QskGlobal.h" +#include "QskQmlGlobal.h" #include #include @@ -20,7 +20,7 @@ class QKeySequence; For QML, with C++ there is also QskShortcutMap that does not need to create QObjects per shortcut */ -class QSK_EXPORT QskShortcut : public QObject, public QQmlParserStatus +class QSK_QML_EXPORT QskShortcut : public QObject, public QQmlParserStatus { Q_OBJECT Q_INTERFACES( QQmlParserStatus ) diff --git a/qmlexport/qmlexport.pro b/qmlexport/qmlexport.pro index 929f3dd0..9c8d87f7 100644 --- a/qmlexport/qmlexport.pro +++ b/qmlexport/qmlexport.pro @@ -14,7 +14,7 @@ CONFIG += no_private_qt_headers_warning contains(QSK_CONFIG, QskDll) { CONFIG += dll - DEFINES += QSK_DLL QSK_MAKEDLL + DEFINES += QSK_DLL QSK_QML_MAKEDLL } else { CONFIG += staticlib @@ -32,6 +32,7 @@ INCLUDEPATH *= $${QSK_DIRS} DEPENDPATH *= $${QSK_DIRS} HEADERS += \ + QskQmlGlobal.h \ QskShortcut.h \ QskQml.h diff --git a/skins/material/QskMaterialGlobal.h b/skins/material/QskMaterialGlobal.h new file mode 100644 index 00000000..76e58182 --- /dev/null +++ b/skins/material/QskMaterialGlobal.h @@ -0,0 +1,25 @@ +/****************************************************************************** + * QSkinny - Copyright (C) 2016 Uwe Rathmann + * This file may be used under the terms of the QSkinny License, Version 1.0 + *****************************************************************************/ + +#ifndef QSK_MATERIAL_GLOBAL_H +#define QSK_MATERIAL_GLOBAL_H + +#include "QskGlobal.h" + +#ifdef QSK_DLL + +#if defined( QSK_MATERIAL_MAKEDLL ) // create a DLL library +#define QSK_MATERIAL_EXPORT Q_DECL_EXPORT +#else // use a DLL library +#define QSK_MATERIAL_EXPORT Q_DECL_IMPORT +#endif + +#endif // QSK_DLL + +#ifndef QSK_MATERIAL_EXPORT +#define QSK_MATERIAL_EXPORT +#endif + +#endif diff --git a/skins/material/QskMaterialSkin.h b/skins/material/QskMaterialSkin.h index 000104df..09fedcca 100644 --- a/skins/material/QskMaterialSkin.h +++ b/skins/material/QskMaterialSkin.h @@ -6,10 +6,11 @@ #ifndef QSK_MATERIAL_SKIN_H #define QSK_MATERIAL_SKIN_H +#include "QskMaterialGlobal.h" #include #include -class QSK_EXPORT QskMaterialSkin : public QskSkin +class QSK_MATERIAL_EXPORT QskMaterialSkin : public QskSkin { Q_OBJECT diff --git a/skins/material/QskMaterialSkinFactory.h b/skins/material/QskMaterialSkinFactory.h index 6ef9992e..8294e824 100644 --- a/skins/material/QskMaterialSkinFactory.h +++ b/skins/material/QskMaterialSkinFactory.h @@ -6,9 +6,10 @@ #ifndef QSK_MATERIAL_SKIN_FACTORY_H #define QSK_MATERIAL_SKIN_FACTORY_H +#include "QskMaterialGlobal.h" #include -class QSK_EXPORT QskMaterialSkinFactory : public QskSkinFactory +class QSK_MATERIAL_EXPORT QskMaterialSkinFactory : public QskSkinFactory { Q_OBJECT diff --git a/skins/material/material.pro b/skins/material/material.pro index 26b5a6dd..f0a8b90c 100644 --- a/skins/material/material.pro +++ b/skins/material/material.pro @@ -3,6 +3,7 @@ include( $${PWD}/../skins.pri ) TARGET = materialskin HEADERS += \ + QskMaterialGlobal.h \ QskMaterialSkin.h \ QskMaterialSkinFactory.h @@ -11,3 +12,5 @@ SOURCES += \ QskMaterialSkinFactory.cpp OTHER_FILES += metadata.json + +DEFINES += QSK_MATERIAL_MAKEDLL diff --git a/skins/skins.pri b/skins/skins.pri index e8f0c168..7043c834 100644 --- a/skins/skins.pri +++ b/skins/skins.pri @@ -26,9 +26,7 @@ DESTDIR = $${QSK_OUT_ROOT}/plugins/skins QMAKE_RPATHDIR *= $${QSK_OUT_ROOT}/lib LIBS *= -L$${QSK_OUT_ROOT}/lib -lqskinny -win32 { - contains(QSK_CONFIG, QskDll) { - DEFINES += QT_DLL QSK_DLL - } +contains(QSK_CONFIG, QskDll) { + DEFINES += QT_DLL QSK_DLL } diff --git a/skins/squiek/QskSquiekGlobal.h b/skins/squiek/QskSquiekGlobal.h new file mode 100644 index 00000000..8f3ae285 --- /dev/null +++ b/skins/squiek/QskSquiekGlobal.h @@ -0,0 +1,25 @@ +/****************************************************************************** + * QSkinny - Copyright (C) 2016 Uwe Rathmann + * This file may be used under the terms of the QSkinny License, Version 1.0 + *****************************************************************************/ + +#ifndef QSK_SQUIEK_GLOBAL_H +#define QSK_SQUIEK_GLOBAL_H + +#include "QskGlobal.h" + +#ifdef QSK_DLL + +#if defined( QSK_SQUIEK_MAKEDLL ) // create a DLL library +#define QSK_SQUIEK_EXPORT Q_DECL_EXPORT +#else // use a DLL library +#define QSK_SQUIEK_EXPORT Q_DECL_IMPORT +#endif + +#endif // QSK_DLL + +#ifndef QSK_SQUIEK_EXPORT +#define QSK_SQUIEK_EXPORT +#endif + +#endif diff --git a/skins/squiek/QskSquiekSkin.h b/skins/squiek/QskSquiekSkin.h index e9a1e742..72e870a9 100644 --- a/skins/squiek/QskSquiekSkin.h +++ b/skins/squiek/QskSquiekSkin.h @@ -6,10 +6,11 @@ #ifndef QSK_SQUIEK_SKIN_H #define QSK_SQUIEK_SKIN_H +#include "QskSquiekGlobal.h" #include #include -class QSK_EXPORT QskSquiekSkin : public QskSkin +class QSK_SQUIEK_EXPORT QskSquiekSkin : public QskSkin { Q_OBJECT diff --git a/skins/squiek/QskSquiekSkinFactory.h b/skins/squiek/QskSquiekSkinFactory.h index baba3ed8..280135bb 100644 --- a/skins/squiek/QskSquiekSkinFactory.h +++ b/skins/squiek/QskSquiekSkinFactory.h @@ -6,9 +6,10 @@ #ifndef QSK_SQUIEK_SKIN_FACTORY_H #define QSK_SQUIEK_SKIN_FACTORY_H +#include "QskSquiekGlobal.h" #include -class QSK_EXPORT QskSquiekSkinFactory : public QskSkinFactory +class QSK_SQUIEK_EXPORT QskSquiekSkinFactory : public QskSkinFactory { Q_OBJECT diff --git a/skins/squiek/squiek.pro b/skins/squiek/squiek.pro index e6b1c74f..a5c5eb82 100644 --- a/skins/squiek/squiek.pro +++ b/skins/squiek/squiek.pro @@ -3,6 +3,7 @@ include( $${PWD}/../skins.pri ) TARGET = squiekskin HEADERS += \ + QskSquiekGlobal.h \ QskSquiekSkin.h \ QskSquiekSkinFactory.h @@ -11,3 +12,5 @@ SOURCES += \ QskSquiekSkinFactory.cpp OTHER_FILES += metadata.json + +DEFINES += QSK_SQUIEK_MAKEDLL diff --git a/support/SkinnyFont.h b/support/SkinnyFont.h index 56da13ab..db2675a9 100644 --- a/support/SkinnyFont.h +++ b/support/SkinnyFont.h @@ -10,9 +10,9 @@ class QGuiApplication; -namespace SKINNY_EXPORT SkinnyFont +namespace SkinnyFont { - void init( QGuiApplication* ); + SKINNY_EXPORT void init( QGuiApplication* ); } #endif diff --git a/support/SkinnyGlobal.h b/support/SkinnyGlobal.h index d3770def..4f5a9a17 100644 --- a/support/SkinnyGlobal.h +++ b/support/SkinnyGlobal.h @@ -6,7 +6,9 @@ #ifndef SKINNY_GLOBAL_H #define SKINNY_GLOBAL_H -#ifdef SKINNY_DLL +#include + +#ifdef QSK_DLL #if defined( SKINNY_MAKEDLL ) // create a DLL library #define SKINNY_EXPORT Q_DECL_EXPORT @@ -14,7 +16,7 @@ #define SKINNY_EXPORT Q_DECL_IMPORT #endif -#endif // SKINNY_DLL +#endif // QSK_DLL #ifndef SKINNY_EXPORT #define SKINNY_EXPORT diff --git a/support/SkinnyPlugin.h b/support/SkinnyPlugin.h index 51cecb9a..e67ceaed 100644 --- a/support/SkinnyPlugin.h +++ b/support/SkinnyPlugin.h @@ -8,9 +8,9 @@ #include "SkinnyGlobal.h" -namespace SKINNY_EXPORT SkinnyPlugin +namespace SkinnyPlugin { - void init(); + void SKINNY_EXPORT init(); } #endif diff --git a/support/SkinnyShapeFactory.h b/support/SkinnyShapeFactory.h index 9bcfebb8..3cbb591d 100644 --- a/support/SkinnyShapeFactory.h +++ b/support/SkinnyShapeFactory.h @@ -9,7 +9,7 @@ #include "SkinnyGlobal.h" #include -namespace SKINNY_EXPORT SkinnyShapeFactory +namespace SkinnyShapeFactory { // a couple of standard painter paths, that can // be used for testing @@ -30,7 +30,7 @@ namespace SKINNY_EXPORT SkinnyShapeFactory ShapeCount }; - QPainterPath shapePath( Shape, const QSizeF& ); + SKINNY_EXPORT QPainterPath shapePath( Shape, const QSizeF& ); } #endif diff --git a/support/support.pro b/support/support.pro index f87cc06b..d7e4114b 100644 --- a/support/support.pro +++ b/support/support.pro @@ -17,7 +17,7 @@ CONFIG += fontconfig contains(QSK_CONFIG, QskDll) { CONFIG += dll - DEFINES += QSK_DLL QSK_MAKEDLL + DEFINES += QSK_DLL SKINNY_MAKEDLL } else { CONFIG += staticlib