From c33cf9886d41621288a7a7a226f114a4284014f6 Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Mon, 17 Oct 2022 21:45:15 +0200 Subject: [PATCH] build qskinny as shared library --- CMakeLists.txt | 2 +- skins/material3/CMakeLists.txt | 6 +++++- skins/material3/QskMaterial3SkinFactory.h | 3 ++- skins/squiek/CMakeLists.txt | 6 +++++- skins/squiek/QskSquiekSkinFactory.h | 2 ++ src/CMakeLists.txt | 6 +++++- support/CMakeLists.txt | 8 ++++++-- 7 files changed, 26 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ea241725..ff5ccf6c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,7 +19,7 @@ set(Qt5WebEngine_FIND_COMPONENTS Private CACHE STRING "force include private set(Qt5WebEngineCore_FIND_COMPONENTS Private CACHE STRING "force include private headers" FORCE) set(Qt5Widgets_FIND_COMPONENTS Private CACHE STRING "force include private headers" FORCE) -set(Qt5_DIR "C:/.conan/ea20b9/1/lib/cmake/Qt5" CACHE PATH "") # TODO pass in externally +set(Qt5_DIR "C:/Qt/5.15.2/msvc2019_64/lib/cmake/Qt5" CACHE PATH "") # TODO pass in externally find_package(Qt5 REQUIRED COMPONENTS Core Gui Opengl Quick Quickwidgets Svg Webengine WebengineCore Widgets) # define install directories diff --git a/skins/material3/CMakeLists.txt b/skins/material3/CMakeLists.txt index 8b504e4f..c117b02e 100644 --- a/skins/material3/CMakeLists.txt +++ b/skins/material3/CMakeLists.txt @@ -14,7 +14,11 @@ list(APPEND TARGET_SOURCES list(APPEND TARGET_OTHER_FILES metadata.json) -add_library(${TARGET_NAME} SHARED ${TARGET_HEADERS} ${TARGET_SOURCES} ${TARGET_OTHER_FILES}) +if(BUILD_QSKDLL) + add_library(${TARGET_NAME} SHARED ${TARGET_HEADERS} ${TARGET_SOURCES} ${TARGET_OTHER_FILES}) +else() + add_library(${TARGET_NAME} STATIC ${TARGET_HEADERS} ${TARGET_SOURCES} ${TARGET_OTHER_FILES}) +endif() target_link_libraries(${TARGET_NAME} PRIVATE qskinny) diff --git a/skins/material3/QskMaterial3SkinFactory.h b/skins/material3/QskMaterial3SkinFactory.h index 9727a329..f7edf8a4 100644 --- a/skins/material3/QskMaterial3SkinFactory.h +++ b/skins/material3/QskMaterial3SkinFactory.h @@ -12,9 +12,10 @@ class QSK_MATERIAL3_EXPORT QskMaterial3SkinFactory : public QskSkinFactory { Q_OBJECT - +#if defined( QSK_MATERIAL3_MAKEDLL ) Q_PLUGIN_METADATA( IID QskSkinFactoryIID FILE "metadata.json" ) Q_INTERFACES( QskSkinFactory ) +#endif public: QskMaterial3SkinFactory( QObject* parent = nullptr ); diff --git a/skins/squiek/CMakeLists.txt b/skins/squiek/CMakeLists.txt index 59525af7..47c120e3 100644 --- a/skins/squiek/CMakeLists.txt +++ b/skins/squiek/CMakeLists.txt @@ -14,7 +14,11 @@ list(APPEND TARGET_SOURCES list(APPEND TARGET_OTHER_FILES metadata.json) -add_library(${TARGET_NAME} SHARED ${TARGET_HEADERS} ${TARGET_SOURCES} ${TARGET_OTHER_FILES}) +if(BUILD_QSKDLL) + add_library(${TARGET_NAME} SHARED ${TARGET_HEADERS} ${TARGET_SOURCES} ${TARGET_OTHER_FILES}) +else() + add_library(${TARGET_NAME} STATIC ${TARGET_HEADERS} ${TARGET_SOURCES} ${TARGET_OTHER_FILES}) +endif() target_link_libraries(${TARGET_NAME} PRIVATE diff --git a/skins/squiek/QskSquiekSkinFactory.h b/skins/squiek/QskSquiekSkinFactory.h index 280135bb..73f3f936 100644 --- a/skins/squiek/QskSquiekSkinFactory.h +++ b/skins/squiek/QskSquiekSkinFactory.h @@ -13,8 +13,10 @@ class QSK_SQUIEK_EXPORT QskSquiekSkinFactory : public QskSkinFactory { Q_OBJECT +#if defined( QSK_SQUIEK_MAKEDLL ) Q_PLUGIN_METADATA( IID QskSkinFactoryIID FILE "metadata.json" ) Q_INTERFACES( QskSkinFactory ) +#endif public: QskSquiekSkinFactory( QObject* parent = nullptr ); diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e43af76e..b8920622 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -408,7 +408,11 @@ list(APPEND TARGET_SOURCES set(TARGET_NAME qskinny) -add_library(${TARGET_NAME} SHARED ${TARGET_SOURCES} ${TARGET_HEADERS} ${TARGET_RESSOURCES}) +if(BUILD_QSKDLL) + add_library(${TARGET_NAME} SHARED ${TARGET_SOURCES} ${TARGET_HEADERS} ${TARGET_RESSOURCES}) +else() + add_library(${TARGET_NAME} STATIC ${TARGET_SOURCES} ${TARGET_HEADERS} ${TARGET_RESSOURCES}) +endif() if (Qt5_VERSION_MAJOR VERSION_GREATER "5") target_link_libraries(${TARGET_NAME} PRIVATE Qt5::Opengl) diff --git a/support/CMakeLists.txt b/support/CMakeLists.txt index 70555a45..31d853fb 100644 --- a/support/CMakeLists.txt +++ b/support/CMakeLists.txt @@ -36,13 +36,17 @@ list(APPEND TARGET_SOURCES set(TARGET_NAME qsktestsupport) -add_library(${TARGET_NAME} SHARED ${TARGET_SOURCES} ${TARGET_HEADERS}) +if (BUILD_QSKDLL) + add_library(${TARGET_NAME} SHARED ${TARGET_SOURCES} ${TARGET_HEADERS}) +else() + add_library(${TARGET_NAME} STATIC ${TARGET_SOURCES} ${TARGET_HEADERS}) +endif() set_target_properties(${TARGET_NAME} PROPERTIES AUTOMOC ON) target_link_libraries(${TARGET_NAME} - PRIVATE + PUBLIC qskinny) if (BUILD_QSKDLL)