plugins fixed
This commit is contained in:
parent
bf4ab34ad8
commit
0a6a1057ba
|
@ -5,10 +5,6 @@ project(QSkinny
|
|||
HOMEPAGE_URL "https://github.com/uwerat/qskinny"
|
||||
VERSION 999.99.9)
|
||||
|
||||
# Useful unsupported scenarios:
|
||||
# - When cross compiling we might want to build the tools only
|
||||
# - Suppressing
|
||||
|
||||
option(BUILD_QSKDLL "Build libs ( not plugins ) as shared library" ON)
|
||||
option(BUILD_QML_EXPORT "Exporting QSkinny to QML" ON)
|
||||
|
||||
|
|
|
@ -36,27 +36,43 @@ function(qsk_add_library)
|
|||
|
||||
endfunction()
|
||||
|
||||
function(qsk_plugin PLUGIN_NAME TYPE)
|
||||
function(qsk_add_plugin PLUGIN_NAME TYPE CLASS_NAME)
|
||||
|
||||
# qt6_add_plugin calls add_library as MODULE - even when SHARED
|
||||
# is requested. In general this ould be the correct type for plugins -
|
||||
# however we also want to link the plugin when ENABLE_ENSURE_SKINS
|
||||
# is enabled.
|
||||
# Probably the correct solution would be to put the implemetation of
|
||||
# the skins into a regular lib and the plugins would contain
|
||||
# the factories only. TODO ...
|
||||
# So for the moment better don't do:
|
||||
# qt6_add_plugin(${PLUGIN_NAME} SHARED ${CLASS_NAME} )
|
||||
|
||||
if(QT_VERSION_MAJOR VERSION_GREATER_EQUAL 6)
|
||||
qt6_add_library(${PLUGIN_NAME} SHARED ${HEADERS} ${SOURCES} ${OTHER_FILES})
|
||||
qt6_add_library(${PLUGIN_NAME} SHARED )
|
||||
else()
|
||||
add_library(${PLUGIN_NAME} SHARED ${HEADERS} ${SOURCES} ${OTHER_FILES})
|
||||
add_library(${PLUGIN_NAME} SHARED )
|
||||
endif()
|
||||
|
||||
set_target_properties(${PLUGIN_NAME} PROPERTIES
|
||||
QT_PLUGIN_CLASS_NAME ${CLASS_NAME} )
|
||||
|
||||
target_compile_definitions(${PLUGIN_NAME} PRIVATE QT_PLUGIN )
|
||||
|
||||
target_sources( ${PLUGIN_NAME} PRIVATE ${HEADERS} ${SOURCES} )
|
||||
target_link_libraries(${PLUGIN_NAME} PRIVATE qskinny)
|
||||
|
||||
set_target_properties(${PLUGIN_NAME} PROPERTIES FOLDER ${TYPE})
|
||||
|
||||
# the plugin has to go to .../plugins/${TYPE}/
|
||||
# otherwise it can't be loaded at runtime ...
|
||||
# otherwise it won't be found at runtime ...
|
||||
|
||||
set_target_properties( ${PLUGIN_NAME} PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/plugins/${TYPE}")
|
||||
|
||||
endfunction()
|
||||
|
||||
function(qsk_example EXAMPLE_NAME)
|
||||
function(qsk_add_example EXAMPLE_NAME)
|
||||
|
||||
set(TARGET_NAME ${EXAMPLE_NAME})
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
list(APPEND HEADERS Box.h)
|
||||
list(APPEND SOURCES Box.cpp main.cpp)
|
||||
|
||||
qsk_example(boxes)
|
||||
qsk_add_example(boxes)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
list(APPEND RESOURCES buttons.qrc)
|
||||
list(APPEND SOURCES main.cpp)
|
||||
|
||||
qsk_example(buttons)
|
||||
qsk_add_example(buttons)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
list(APPEND SOURCES main.cpp)
|
||||
|
||||
qsk_example(desktop)
|
||||
qsk_add_example(desktop)
|
||||
|
|
|
@ -2,5 +2,5 @@ list(APPEND RESOURCES frames.qrc)
|
|||
list(APPEND HEADERS Frame.h)
|
||||
list(APPEND SOURCES Frame.cpp main.cpp)
|
||||
|
||||
qsk_example(frames)
|
||||
qsk_add_example(frames)
|
||||
|
||||
|
|
|
@ -19,4 +19,4 @@ list(APPEND SOURCES
|
|||
Page.cpp
|
||||
main.cpp)
|
||||
|
||||
qsk_example(gallery)
|
||||
qsk_add_example(gallery)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
list(APPEND RESOURCES glabels.qrc)
|
||||
list(APPEND SOURCES main.cpp)
|
||||
|
||||
qsk_example(glabels)
|
||||
qsk_add_example(glabels)
|
||||
|
|
|
@ -75,4 +75,4 @@ list(APPEND HEADERS
|
|||
nodes/DiagramSegmentsNode.h
|
||||
nodes/RadialTickmarksNode.h)
|
||||
|
||||
qsk_example(iotdashboard)
|
||||
qsk_add_example(iotdashboard)
|
||||
|
|
|
@ -19,4 +19,4 @@ list(APPEND SOURCES
|
|||
StackLayoutPage.cpp
|
||||
main.cpp)
|
||||
|
||||
qsk_example(layouts)
|
||||
qsk_add_example(layouts)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
list(APPEND SOURCES main.cpp)
|
||||
|
||||
qsk_example(listbox)
|
||||
qsk_add_example(listbox)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
list(APPEND SOURCES main.cpp)
|
||||
|
||||
qsk_example(messagebox)
|
||||
qsk_add_example(messagebox)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
list(APPEND RESSOURCES messagebox.qrc)
|
||||
list(APPEND SOURCES main.cpp)
|
||||
|
||||
qsk_example(messageboxQml)
|
||||
qsk_add_example(messageboxQml)
|
||||
|
|
|
@ -9,4 +9,4 @@ list(APPEND HEADERS
|
|||
MyToggleButtonSkinlet.h
|
||||
MySkin.h)
|
||||
|
||||
qsk_example(mycontrols)
|
||||
qsk_add_example(mycontrols)
|
||||
|
|
|
@ -8,4 +8,4 @@ list(APPEND SOURCES
|
|||
list(APPEND RESOURCES
|
||||
qvgviewer.qrc)
|
||||
|
||||
qsk_example(qvgviewer)
|
||||
qsk_add_example(qvgviewer)
|
||||
|
|
|
@ -9,4 +9,4 @@ list(APPEND SOURCES
|
|||
OtherSlider.cpp
|
||||
main.cpp)
|
||||
|
||||
qsk_example(tabview)
|
||||
qsk_add_example(tabview)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
list(APPEND SOURCES main.cpp)
|
||||
|
||||
qsk_example(thumbnails)
|
||||
qsk_add_example(thumbnails)
|
||||
|
|
|
@ -2,7 +2,6 @@ set(TARGET_NAME qskinputcontext)
|
|||
|
||||
list(APPEND HEADERS QskInputContextGlobal.h)
|
||||
list(APPEND SOURCES QskInputContextPlugin.cpp)
|
||||
list(APPEND OTHER_FILES metadata.json)
|
||||
|
||||
if(NOT LINUX AND ENABLE_HUNSPELL)
|
||||
message(WARNING "Feature 'hunspell' only available for UNIX!")
|
||||
|
@ -32,7 +31,7 @@ if(ENABLE_HUNSPELL)
|
|||
${CMAKE_SOURCE_DIR}/src/inputpanel/QskHunspellTextPredictor.cpp)
|
||||
endif()
|
||||
|
||||
qsk_plugin(qskinputcontext platforminputcontexts)
|
||||
qsk_add_plugin(qskinputcontext platforminputcontexts QskInputContextPlugin)
|
||||
|
||||
if(ENABLE_PINYIN)
|
||||
target_link_libraries(qskinputcontext PRIVATE pinyin Fcitx5::Utils)
|
||||
|
|
|
@ -18,4 +18,4 @@ list(APPEND SOURCES
|
|||
AnchorBox.cpp
|
||||
main.cpp)
|
||||
|
||||
qsk_example(anchors)
|
||||
qsk_add_example(anchors)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
list(APPEND HEADERS Window.h)
|
||||
list(APPEND SOURCES Window.cpp main.cpp)
|
||||
|
||||
qsk_example(dialogbuttons)
|
||||
qsk_add_example(dialogbuttons)
|
||||
|
|
|
@ -13,4 +13,4 @@ list(APPEND SOURCES
|
|||
Dashboard.cpp
|
||||
main.cpp)
|
||||
|
||||
qsk_example(dials)
|
||||
qsk_add_example(dials)
|
||||
|
|
|
@ -8,7 +8,7 @@ if(TARGET quickshapes_private)
|
|||
|
||||
endif()
|
||||
|
||||
qsk_example(gradients)
|
||||
qsk_add_example(gradients)
|
||||
|
||||
if(TARGET quickshapes_private)
|
||||
target_compile_definitions(gradients PRIVATE SHAPE_GRADIENT)
|
||||
|
|
|
@ -15,6 +15,6 @@ list(APPEND SOURCES
|
|||
TestBox.cpp
|
||||
main.cpp)
|
||||
|
||||
qsk_example(grids)
|
||||
qsk_add_example(grids)
|
||||
target_link_libraries(grids PRIVATE Qt::QuickWidgets)
|
||||
|
||||
|
|
|
@ -2,4 +2,4 @@ list(APPEND RESOURCES images.qrc)
|
|||
list(APPEND HEADERS Image.h)
|
||||
list(APPEND SOURCES Image.cpp main.cpp)
|
||||
|
||||
qsk_example(images)
|
||||
qsk_add_example(images)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
list(APPEND SOURCES main.cpp)
|
||||
|
||||
qsk_example(inputpanel)
|
||||
qsk_add_example(inputpanel)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
list(APPEND HEADERS Callback.h Invoker.h)
|
||||
list(APPEND SOURCES Callback.cpp Invoker.cpp main.cpp)
|
||||
|
||||
qsk_example(invoker)
|
||||
qsk_add_example(invoker)
|
||||
set_target_properties(invoker PROPERTIES AUTOMOC_MOC_OPTIONS --no-warnings)
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
list(APPEND HEADERS ShadowedBox.h)
|
||||
list(APPEND SOURCES ShadowedBox.cpp main.cpp)
|
||||
|
||||
qsk_example(shadows)
|
||||
qsk_add_example(shadows)
|
||||
|
|
|
@ -15,7 +15,7 @@ if( BUILD_QML_EXPORT )
|
|||
list(APPEND RESOURCES shapes.qrc)
|
||||
endif()
|
||||
|
||||
qsk_example(shapes)
|
||||
qsk_add_example(shapes)
|
||||
|
||||
if( BUILD_QML_EXPORT )
|
||||
target_compile_definitions(shapes PRIVATE NO_QML)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
list(APPEND SOURCES main.cpp)
|
||||
|
||||
qsk_example(webview)
|
||||
qsk_add_example(webview)
|
||||
|
||||
if (QT_VERSION_MAJOR VERSION_GREATER "5")
|
||||
target_link_libraries(webview PRIVATE Qt::WebEngineQuick Qt::WebEngineQuickPrivate)
|
||||
|
|
|
@ -9,9 +9,7 @@ list(APPEND SOURCES
|
|||
QskMaterial3Skin.cpp
|
||||
QskMaterial3SkinFactory.cpp)
|
||||
|
||||
list(APPEND RESSOURCES
|
||||
icons.qrc )
|
||||
list(APPEND RESSOURCES icons.qrc )
|
||||
|
||||
list(APPEND OTHER_FILES metadata.json)
|
||||
|
||||
qsk_plugin(material3skin skins)
|
||||
qsk_add_plugin(material3skin skins QskMaterial3SkinFactory)
|
||||
target_compile_definitions(material3skin PRIVATE QSK_MATERIAL3_MAKEDLL)
|
||||
|
|
|
@ -9,7 +9,5 @@ list(APPEND SOURCES
|
|||
QskSquiekSkin.cpp
|
||||
QskSquiekSkinFactory.cpp)
|
||||
|
||||
list(APPEND OTHER_FILES metadata.json)
|
||||
|
||||
qsk_plugin(squiekskin skins)
|
||||
qsk_add_plugin(squiekskin skins QskSquiekSkinFactory)
|
||||
target_compile_definitions(squiekskin PRIVATE QSK_SQUIEK_MAKEDLL)
|
||||
|
|
|
@ -43,32 +43,27 @@ if(HACK_FONT_CONFIG)
|
|||
FONTCONFIG_FILE=${QSK_FONTCONF_FILE})
|
||||
endif()
|
||||
|
||||
target_link_libraries(${TARGET_NAME}
|
||||
PUBLIC
|
||||
qskinny)
|
||||
target_link_libraries(${TARGET_NAME} PUBLIC qskinny)
|
||||
|
||||
if (BUILD_QSKDLL)
|
||||
target_compile_definitions(${TARGET_NAME}
|
||||
PRIVATE
|
||||
SKINNY_MAKEDLL)
|
||||
target_compile_definitions(${TARGET_NAME} PRIVATE SKINNY_MAKEDLL)
|
||||
endif()
|
||||
|
||||
target_compile_definitions(${TARGET_NAME}
|
||||
PRIVATE
|
||||
PLUGIN_PATH=${CMAKE_INSTALL_PREFIX}/skins)
|
||||
PRIVATE PLUGIN_PATH=${CMAKE_BINARY_DIR}/plugins)
|
||||
|
||||
target_include_directories(${TARGET_NAME}
|
||||
PUBLIC
|
||||
${CMAKE_CURRENT_LIST_DIR})
|
||||
target_include_directories(${TARGET_NAME} PUBLIC ${CMAKE_CURRENT_LIST_DIR})
|
||||
|
||||
if(ENABLE_ENSURE_SKINS)
|
||||
#set( ENABLE_ENSURE_SKINS OFF )
|
||||
endif()
|
||||
|
||||
if(ENABLE_ENSURE_SKINS)
|
||||
target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/skins)
|
||||
target_compile_definitions(${TARGET_NAME} PRIVATE ENSURE_SKINS)
|
||||
|
||||
target_link_libraries(${TARGET_NAME}
|
||||
PRIVATE
|
||||
squiekskin
|
||||
material3skin)
|
||||
PRIVATE squiekskin material3skin)
|
||||
endif()
|
||||
|
||||
install(TARGETS ${TARGET_NAME} DESTINATION ${QSK_INSTALL_LIBS})
|
||||
|
|
Loading…
Reference in New Issue