diff --git a/src/plugins/languageclient/client.h b/src/plugins/languageclient/client.h index e35afd08906..ab874e8569c 100644 --- a/src/plugins/languageclient/client.h +++ b/src/plugins/languageclient/client.h @@ -27,6 +27,7 @@ #include "documentsymbolcache.h" #include "dynamiccapabilities.h" +#include "languageclient_global.h" #include "languageclientcompletionassist.h" #include "languageclientfunctionhint.h" #include "languageclientquickfix.h" @@ -67,7 +68,7 @@ namespace LanguageClient { class BaseClientInterface; class TextMark; -class Client : public QObject +class LANGUAGECLIENT_EXPORT Client : public QObject { Q_OBJECT diff --git a/src/plugins/languageclient/languageclient_global.h b/src/plugins/languageclient/languageclient_global.h index 685379804df..7df176603fd 100644 --- a/src/plugins/languageclient/languageclient_global.h +++ b/src/plugins/languageclient/languageclient_global.h @@ -27,6 +27,12 @@ #include +#if defined(LANGUAGECLIENT_LIBRARY) +# define LANGUAGECLIENT_EXPORT Q_DECL_EXPORT +#else +# define LANGUAGECLIENT_EXPORT Q_DECL_IMPORT +#endif + namespace LanguageClient { namespace Constants { diff --git a/src/plugins/languageclient/languageclientmanager.h b/src/plugins/languageclient/languageclientmanager.h index 8c03eaa26bf..2b9542dc48a 100644 --- a/src/plugins/languageclient/languageclientmanager.h +++ b/src/plugins/languageclient/languageclientmanager.h @@ -26,6 +26,7 @@ #pragma once #include "client.h" +#include "languageclient_global.h" #include "languageclientsettings.h" #include "locatorfilter.h" @@ -46,7 +47,7 @@ namespace LanguageClient { class LanguageClientMark; -class LanguageClientManager : public QObject +class LANGUAGECLIENT_EXPORT LanguageClientManager : public QObject { Q_OBJECT public: diff --git a/src/plugins/languageclient/languageclientsettings.h b/src/plugins/languageclient/languageclientsettings.h index 348e1d293c5..79657409cf0 100644 --- a/src/plugins/languageclient/languageclientsettings.h +++ b/src/plugins/languageclient/languageclientsettings.h @@ -25,6 +25,8 @@ #pragma once +#include "languageclient_global.h" + #include #include @@ -51,7 +53,7 @@ namespace LanguageClient { class Client; class BaseClientInterface; -struct LanguageFilter +struct LANGUAGECLIENT_EXPORT LanguageFilter { QStringList mimeTypes; QStringList filePattern; @@ -59,7 +61,7 @@ struct LanguageFilter bool isSupported(const Core::IDocument *document) const; }; -class BaseSettings +class LANGUAGECLIENT_EXPORT BaseSettings { public: BaseSettings() = default; @@ -100,7 +102,7 @@ private: bool canStart(QList documents) const; }; -class StdIOSettings : public BaseSettings +class LANGUAGECLIENT_EXPORT StdIOSettings : public BaseSettings { public: StdIOSettings() = default;