plugins are no libs. however not yet working

This commit is contained in:
Uwe Rathmann 2023-03-30 17:56:14 +02:00
parent 67a94960d1
commit aa1a485dce
9 changed files with 72 additions and 100 deletions

View File

@ -21,16 +21,6 @@ else()
message(FATAL_ERROR "Couldn't find any Qt package !") message(FATAL_ERROR "Couldn't find any Qt package !")
endif() endif()
if(QT_VERSION_MAJOR VERSION_EQUAL "5")
function(qt_add_executable)
add_executable(${ARGV})
endfunction(qt_add_executable)
function(qt_add_library)
add_library(${ARGV})
endfunction(qt_add_library)
endif()
# Note, that modules might be found in different places. # Note, that modules might be found in different places.
# f.e. when having Qt installations that have only been built # f.e. when having Qt installations that have only been built
# with a subset of modules # with a subset of modules

View File

@ -13,11 +13,54 @@ if(TARGET ${Qt}::Svg)
endfunction() endfunction()
endif() endif()
function(qsk_add_executable)
if(QT_VERSION_MAJOR VERSION_EQUAL "5")
add_executable(${ARGV})
else()
qt6_add_executable(${ARGV})
endif()
endfunction()
function(qsk_add_library)
if(QT_VERSION_MAJOR VERSION_EQUAL "5")
add_library(${ARGV})
else()
qt6_add_library(${ARGV})
endif()
set_target_properties(${TARGET_NAME} PROPERTIES
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" )
endfunction()
function(qsk_plugin PLUGIN_NAME TYPE)
if(QT_VERSION_MAJOR VERSION_EQUAL "5")
add_library(${PLUGIN_NAME} SHARED ${HEADERS} ${SOURCES} ${OTHER_FILES})
else()
qt6_add_library(${PLUGIN_NAME} SHARED ${HEADERS} ${SOURCES} ${OTHER_FILES})
endif()
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 ...
set_target_properties( ${PLUGIN_NAME} PROPERTIES
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/plugins/${TYPE}")
endfunction()
function(qsk_example EXAMPLE_NAME) function(qsk_example EXAMPLE_NAME)
set(TARGET_NAME ${EXAMPLE_NAME}) set(TARGET_NAME ${EXAMPLE_NAME})
qt_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE qsk_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE
${SOURCES} ${HEADERS} ${RESOURCES}) ${SOURCES} ${HEADERS} ${RESOURCES})
set_target_properties(${TARGET_NAME} PROPERTIES FOLDER examples) set_target_properties(${TARGET_NAME} PROPERTIES FOLDER examples)

View File

@ -1,52 +1,32 @@
set(TARGET_NAME qskinputcontext) set(TARGET_NAME qskinputcontext)
list(APPEND TARGET_HEADERS list(APPEND HEADERS QskInputContextGlobal.h)
QskInputContextGlobal.h) list(APPEND SOURCES QskInputContextPlugin.cpp)
list(APPEND OTHER_FILES metadata.json)
list(APPEND TARGET_SOURCES
QskInputContextPlugin.cpp)
list(APPEND TARGET_OTHER_FILES
metadata.json)
if(ENABLE_PINYIN) if(ENABLE_PINYIN)
list(APPEND TARGET_HEADERS list(APPEND HEADERS
${CMAKE_SOURCE_DIR}/src/inputpanel/QskPinyinTextPredictor.h) ${CMAKE_SOURCE_DIR}/src/inputpanel/QskPinyinTextPredictor.h)
list(APPEND TARGET_SOURCES list(APPEND SOURCES
${CMAKE_SOURCE_DIR}/src/inputpanel/QskPinyinTextPredictor.cpp) ${CMAKE_SOURCE_DIR}/src/inputpanel/QskPinyinTextPredictor.cpp)
endif() endif()
if(ENABLE_HUNSPELL) if(ENABLE_HUNSPELL)
list(APPEND TARGET_HEADERS list(APPEND HEADERS
${CMAKE_SOURCE_DIR}/src/inputpanel/QskHunspellTextPredictor.h) ${CMAKE_SOURCE_DIR}/src/inputpanel/QskHunspellTextPredictor.h)
list(APPEND TARGET_SOURCES list(APPEND SOURCES
${CMAKE_SOURCE_DIR}/src/inputpanel/QskHunspellTextPredictor.cpp) ${CMAKE_SOURCE_DIR}/src/inputpanel/QskHunspellTextPredictor.cpp)
endif() endif()
qt_add_library(${TARGET_NAME} SHARED ${TARGET_SOURCES} ${TARGET_HEADERS} ${TARGET_OTHER_FILES}) qsk_plugin(qskinputcontext platforminputcontexts)
if(ENABLE_PINYIN) if(ENABLE_PINYIN)
target_link_libraries(${TARGET_NAME} target_link_libraries(qskinputcontext PRIVATE pinyin Fcitx5::Utils)
PRIVATE
pinyin
Fcitx5::Utils)
endif() endif()
if(ENABLE_HUNSPELL) if(ENABLE_HUNSPELL)
target_link_libraries(${TARGET_NAME} target_link_libraries(qskinputcontext PRIVATE hunspell)
PRIVATE
hunspell)
endif() endif()
if(BUILD_QSKDLL) target_compile_definitions(qskinputcontext PRIVATE QSK_INPUTCONTEXT_MAKEDLL)
target_compile_definitions(${TARGET_NAME} target_link_libraries(qskinputcontext PRIVATE qskinny Qt::GuiPrivate)
PRIVATE
QSK_INPUTCONTEXT_MAKEDLL)
endif()
target_link_libraries(${TARGET_NAME}
PRIVATE
qskinny
Qt::GuiPrivate)
install(TARGETS ${TARGET_NAME} DESTINATION ${QSK_INSTALL_PLUGINS}/platforminputcontexts)

View File

@ -13,7 +13,7 @@ list(APPEND TARGET_SOURCES
QskMainQml.cpp QskMainQml.cpp
QskQml.cpp) QskQml.cpp)
qt_add_library(${TARGET_NAME} SHARED ${TARGET_SOURCES} ${TARGET_HEADERS}) qsk_add_library(${TARGET_NAME} SHARED ${TARGET_SOURCES} ${TARGET_HEADERS})
target_link_libraries(${TARGET_NAME} target_link_libraries(${TARGET_NAME}
PRIVATE PRIVATE

View File

@ -1,37 +1,17 @@
set(QSK_PLUGIN_SUBDIR skins) set(QSK_PLUGIN_SUBDIR skins)
set(TARGET_NAME material3skin) list(APPEND HEADERS
list(APPEND TARGET_HEADERS
QskMaterial3Global.h QskMaterial3Global.h
QskMaterial3Skin.h QskMaterial3Skin.h
QskMaterial3SkinFactory.h) QskMaterial3SkinFactory.h)
list(APPEND TARGET_SOURCES list(APPEND SOURCES
QskMaterial3Skin.cpp QskMaterial3Skin.cpp
QskMaterial3SkinFactory.cpp) QskMaterial3SkinFactory.cpp)
list(APPEND TARGET_RESSOURCES list(APPEND RESSOURCES
icons.qrc ) icons.qrc )
list(APPEND TARGET_OTHER_FILES list(APPEND OTHER_FILES metadata.json)
metadata.json)
if(BUILD_QSKDLL) qsk_plugin(material3skin skins)
qt_add_library(${TARGET_NAME} SHARED ${TARGET_HEADERS} ${TARGET_SOURCES} ${TARGET_RESSOURCES} ${TARGET_OTHER_FILES})
else()
qt_add_library(${TARGET_NAME} STATIC ${TARGET_HEADERS} ${TARGET_SOURCES} ${TARGET_RESSOURCES} ${TARGET_OTHER_FILES})
endif()
target_link_libraries(${TARGET_NAME} PRIVATE qskinny)
if(BUILD_QSKDLL)
target_compile_definitions(${TARGET_NAME}
PRIVATE
QSK_MATERIAL3_MAKEDLL)
endif()
set_target_properties(${TARGET_NAME} PROPERTIES
FOLDER skins)
install(TARGETS ${TARGET_NAME} DESTINATION ${QSK_INSTALL_PLUGINS}/${QSK_PLUGIN_SUBDIR})

View File

@ -1,36 +1,15 @@
set(QSK_PLUGIN_SUBDIR skins) set(QSK_PLUGIN_SUBDIR skins)
set(TARGET_NAME squiekskin) list(APPEND HEADERS
list(APPEND TARGET_HEADERS
QskSquiekGlobal.h QskSquiekGlobal.h
QskSquiekSkin.h QskSquiekSkin.h
QskSquiekSkinFactory.h) QskSquiekSkinFactory.h)
list(APPEND TARGET_SOURCES list(APPEND SOURCES
QskSquiekSkin.cpp QskSquiekSkin.cpp
QskSquiekSkinFactory.cpp) QskSquiekSkinFactory.cpp)
list(APPEND TARGET_OTHER_FILES list(APPEND OTHER_FILES metadata.json)
metadata.json)
if(BUILD_QSKDLL) qsk_plugin(squiekskin skins)
qt_add_library(${TARGET_NAME} SHARED ${TARGET_HEADERS} ${TARGET_SOURCES} ${TARGET_OTHER_FILES}) target_compile_definitions(squiekskin PRIVATE QSK_SQUIEK_MAKEDLL)
else()
qt_add_library(${TARGET_NAME} STATIC ${TARGET_HEADERS} ${TARGET_SOURCES} ${TARGET_OTHER_FILES})
endif()
target_link_libraries(${TARGET_NAME}
PRIVATE
qskinny)
if(BUILD_QSKDLL)
target_compile_definitions(${TARGET_NAME}
PRIVATE
QSK_SQUIEK_MAKEDLL)
endif()
set_target_properties(${TARGET_NAME} PROPERTIES
FOLDER skins)
install(TARGETS ${TARGET_NAME} DESTINATION ${QSK_INSTALL_PLUGINS}/${QSK_PLUGIN_SUBDIR})

View File

@ -412,9 +412,9 @@ endif()
set(TARGET_NAME qskinny) set(TARGET_NAME qskinny)
if(BUILD_QSKDLL) if(BUILD_QSKDLL)
qt_add_library(${TARGET_NAME} SHARED ${TARGET_SOURCES} ${TARGET_HEADERS} ${TARGET_RESSOURCES}) qsk_add_library(${TARGET_NAME} SHARED ${TARGET_SOURCES} ${TARGET_HEADERS} ${TARGET_RESSOURCES})
else() else()
qt_add_library(${TARGET_NAME} STATIC ${TARGET_SOURCES} ${TARGET_HEADERS} ${TARGET_RESSOURCES}) qsk_add_library(${TARGET_NAME} STATIC ${TARGET_SOURCES} ${TARGET_HEADERS} ${TARGET_RESSOURCES})
endif() endif()
if(BUILD_QSKDLL) if(BUILD_QSKDLL)

View File

@ -14,9 +14,9 @@ list(APPEND TARGET_SOURCES
set(TARGET_NAME qsktestsupport) set(TARGET_NAME qsktestsupport)
if (BUILD_QSKDLL) if (BUILD_QSKDLL)
qt_add_library(${TARGET_NAME} SHARED ${TARGET_SOURCES} ${TARGET_HEADERS}) qsk_add_library(${TARGET_NAME} SHARED ${TARGET_SOURCES} ${TARGET_HEADERS})
else() else()
qt_add_library(${TARGET_NAME} STATIC ${TARGET_SOURCES} ${TARGET_HEADERS}) qsk_add_library(${TARGET_NAME} STATIC ${TARGET_SOURCES} ${TARGET_HEADERS})
endif() endif()
if(ENABLE_FONT_CONFIG) if(ENABLE_FONT_CONFIG)

View File

@ -1,7 +1,7 @@
set(TARGET_NAME svg2qvg) set(TARGET_NAME svg2qvg)
set(TARGET_SOURCES main.cpp) set(TARGET_SOURCES main.cpp)
qt_add_executable(${TARGET_NAME} ${TARGET_SOURCES}) qsk_add_executable(${TARGET_NAME} ${TARGET_SOURCES})
if(BUILD_SVG2QVG_STANDALONE) if(BUILD_SVG2QVG_STANDALONE)