Merge branch 'master' into features/effectnode
This commit is contained in:
commit
ec5bb05f4a
|
@ -104,7 +104,7 @@ jobs:
|
||||||
cc: "gcc",
|
cc: "gcc",
|
||||||
cxx: "g++",
|
cxx: "g++",
|
||||||
archiver: "7z a",
|
archiver: "7z a",
|
||||||
generators: "Ninja",
|
generators: "Ninja Multi-Config",
|
||||||
env: { DISPLAY: ":1" },
|
env: { DISPLAY: ":1" },
|
||||||
cmake:
|
cmake:
|
||||||
{
|
{
|
||||||
|
@ -431,22 +431,22 @@ jobs:
|
||||||
killall iotdashboard
|
killall iotdashboard
|
||||||
killall Xvfb
|
killall Xvfb
|
||||||
|
|
||||||
#- name: Configure ( CMake Integration Test )
|
- name: Configure ( CMake Integration Test )
|
||||||
# shell: bash
|
shell: bash
|
||||||
# run: |
|
run: |
|
||||||
# mkdir qskinny_build_test
|
mkdir qskinny_build_test
|
||||||
# cmake \
|
cmake \
|
||||||
# -S qskinny_source/examples/iotdashboard_smoketest \
|
-S qskinny_source/examples/iotdashboard_smoketest \
|
||||||
# -B qskinny_build_test \
|
-B qskinny_build_test \
|
||||||
# -G "${{ matrix.config.generators }}" \
|
-G "${{ matrix.config.generators }}" \
|
||||||
# -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \
|
-DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \
|
||||||
# -DCMAKE_PREFIX_PATH:PATH="${{ matrix.config.cmake.qtprefixpath }}" \
|
-DCMAKE_PREFIX_PATH:PATH="${{ matrix.config.cmake.qtprefixpath }}" \
|
||||||
# -D${{ matrix.config.cmake.qtdirkey }}:PATH="${{ matrix.config.cmake.qtdirvalue }}" \
|
-D${{ matrix.config.cmake.qtdirkey }}:PATH="${{ matrix.config.cmake.qtdirvalue }}" \
|
||||||
# -DQSkinny_DIR:PATH=$GITHUB_WORKSPACE/qskinny_install/lib/cmake/QSkinny
|
-DQSkinny_DIR:PATH=$GITHUB_WORKSPACE/qskinny_install/lib/cmake/QSkinny
|
||||||
#
|
|
||||||
#- name: Build ( CMake Integration Test )
|
- name: Build ( CMake Integration Test )
|
||||||
# shell: bash
|
shell: bash
|
||||||
# run: cmake --build qskinny_build_test --config ${{ matrix.config.build_type }}
|
run: cmake --build qskinny_build_test --config ${{ matrix.config.build_type }}
|
||||||
|
|
||||||
# - name: Pack
|
# - name: Pack
|
||||||
# shell: bash
|
# shell: bash
|
||||||
|
|
|
@ -62,8 +62,8 @@ macro(qsk_setup_build)
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro(qsk_setup_install)
|
macro(qsk_setup_install)
|
||||||
# we have to provide and install a QSkinnyConfig.cmake
|
set(QSK_INSTALL_HEADERS include)
|
||||||
# TODO ...
|
set(QSK_INSTALL_LIBS lib)
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
|
@ -75,6 +75,8 @@ project(QSkinny
|
||||||
HOMEPAGE_URL "https://github.com/uwerat/qskinny"
|
HOMEPAGE_URL "https://github.com/uwerat/qskinny"
|
||||||
VERSION 0.8.0)
|
VERSION 0.8.0)
|
||||||
|
|
||||||
|
set(QSK_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
|
||||||
qsk_setup_options()
|
qsk_setup_options()
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
|
@ -116,3 +118,48 @@ endif()
|
||||||
if(BUILD_PLAYGROUND)
|
if(BUILD_PLAYGROUND)
|
||||||
add_subdirectory(playground)
|
add_subdirectory(playground)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# packaging
|
||||||
|
set(PACKAGE_NAME ${PROJECT_NAME})
|
||||||
|
set(PACKAGE_VERSION ${CMAKE_PROJECT_VERSION})
|
||||||
|
set(PACKAGE_NAMESPACE Qsk)
|
||||||
|
set(PACKAGE_LOCATION ${QSK_INSTALL_LIBS}/cmake/${PROJECT_NAME})
|
||||||
|
|
||||||
|
install(TARGETS qskinny EXPORT ${PACKAGE_NAME}Targets
|
||||||
|
LIBRARY DESTINATION ${QSK_INSTALL_LIBS}
|
||||||
|
ARCHIVE DESTINATION ${QSK_INSTALL_LIBS}
|
||||||
|
RUNTIME DESTINATION ${QSK_INSTALL_LIBS}
|
||||||
|
INCLUDES DESTINATION ${QSK_INSTALL_HEADERS}
|
||||||
|
PUBLIC_HEADER DESTINATION ${QSK_INSTALL_HEADERS})
|
||||||
|
|
||||||
|
include(CMakePackageConfigHelpers)
|
||||||
|
write_basic_package_version_file(
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}ConfigVersion.cmake
|
||||||
|
VERSION ${PACKAGE_VERSION}
|
||||||
|
COMPATIBILITY AnyNewerVersion)
|
||||||
|
|
||||||
|
export(EXPORT ${PACKAGE_NAME}Targets
|
||||||
|
FILE ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}Targets.cmake
|
||||||
|
NAMESPACE ${PACKAGE_NAMESPACE}::)
|
||||||
|
|
||||||
|
configure_file(cmake/${PACKAGE_NAME}Config.cmake
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}Config.cmake
|
||||||
|
COPYONLY)
|
||||||
|
|
||||||
|
install(EXPORT ${PACKAGE_NAME}Targets
|
||||||
|
FILE
|
||||||
|
${PACKAGE_NAME}Targets.cmake
|
||||||
|
NAMESPACE
|
||||||
|
${PACKAGE_NAMESPACE}::
|
||||||
|
DESTINATION
|
||||||
|
${PACKAGE_LOCATION})
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
cmake/${PACKAGE_NAME}Config.cmake
|
||||||
|
cmake/QskTools.cmake
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}ConfigVersion.cmake
|
||||||
|
DESTINATION
|
||||||
|
${PACKAGE_LOCATION}
|
||||||
|
COMPONENT
|
||||||
|
Devel)
|
|
@ -0,0 +1,2 @@
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/QSkinnyTargets.cmake")
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/QskTools.cmake")
|
|
@ -118,6 +118,7 @@ macro(qsk_initialize_build_flags)
|
||||||
add_compile_options( -Wall -Wextra )
|
add_compile_options( -Wall -Wextra )
|
||||||
else()
|
else()
|
||||||
# add_compile_options(/W4 /WX)
|
# add_compile_options(/W4 /WX)
|
||||||
|
add_compile_options(/MP)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
build
|
||||||
|
iotdashboard
|
|
@ -0,0 +1,47 @@
|
||||||
|
cmake_minimum_required(VERSION 3.18)
|
||||||
|
|
||||||
|
project(iotdashboard_smoketest)
|
||||||
|
|
||||||
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
set(CMAKE_AUTORCC ON)
|
||||||
|
set(CMAKE_AUTOUIC OFF)
|
||||||
|
set(CMAKE_GLOBAL_AUTOGEN_TARGET OFF)
|
||||||
|
|
||||||
|
find_package(QSkinny REQUIRED)
|
||||||
|
|
||||||
|
# TODO we don't delivery the qsk macros
|
||||||
|
function(qsk_add_executable target)
|
||||||
|
if(QT_VERSION_MAJOR VERSION_GREATER_EQUAL 6)
|
||||||
|
qt6_add_executable(${ARGV})
|
||||||
|
else()
|
||||||
|
add_executable(${ARGV})
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
# TODO we don't delivery the qsk macros
|
||||||
|
function(qsk_add_example target)
|
||||||
|
cmake_parse_arguments(PARSE_ARGV 1 arg "MANUAL_FINALIZATION" "" "")
|
||||||
|
add_executable(${target} WIN32 MACOSX_BUNDLE ${arg_UNPARSED_ARGUMENTS} )
|
||||||
|
target_link_libraries(${target} PRIVATE Qsk::qskinny )
|
||||||
|
target_include_directories(${target} PRIVATE ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
find_package(Qt6 COMPONENTS Core QUIET)
|
||||||
|
if (NOT Qt6_FOUND)
|
||||||
|
find_package(Qt5 5.15 REQUIRED COMPONENTS Core Gui OpenGL Quick Svg Widgets)
|
||||||
|
find_package(Qt5 5.15 OPTIONAL_COMPONENTS QuickWidgets WebEngine WebEngineCore)
|
||||||
|
|
||||||
|
function(qt_add_executable)
|
||||||
|
add_executable(${ARGV})
|
||||||
|
endfunction(qt_add_executable)
|
||||||
|
else()
|
||||||
|
find_package(Qt6 REQUIRED COMPONENTS Core Gui OpenGL Quick QuickWidgets Svg Widgets)
|
||||||
|
find_package(Qt6 OPTIONAL_COMPONENTS QuickWidgets WebEngineCore WebEngineQuick)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_subdirectory(../iotdashboard ${CMAKE_CURRENT_BINARY_DIR}/../iotdashboard)
|
||||||
|
|
||||||
|
# TODO we don't delivery the support library
|
||||||
|
get_target_property(iotdashboard_COMPILE_DEFINITIONS iotdashboard COMPILE_DEFINITIONS)
|
||||||
|
list(FILTER iotdashboard_COMPILE_DEFINITIONS EXCLUDE REGEX [[^USE_SHORTCUTS=1$]])
|
||||||
|
set_property(TARGET iotdashboard PROPERTY COMPILE_DEFINITIONS ${iotdashboard_COMPILE_DEFINITIONS})
|
|
@ -19,8 +19,8 @@ if(ENABLE_PINYIN)
|
||||||
qsk_setup_Pinyin()
|
qsk_setup_Pinyin()
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${CMAKE_SOURCE_DIR}/src/inputpanel/QskPinyinTextPredictor.h
|
${QSK_SOURCE_DIR}/src/inputpanel/QskPinyinTextPredictor.h
|
||||||
${CMAKE_SOURCE_DIR}/src/inputpanel/QskPinyinTextPredictor.cpp
|
${QSK_SOURCE_DIR}/src/inputpanel/QskPinyinTextPredictor.cpp
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -28,8 +28,8 @@ if(ENABLE_HUNSPELL)
|
||||||
qsk_setup_Hunspell()
|
qsk_setup_Hunspell()
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${CMAKE_SOURCE_DIR}/src/inputpanel/QskHunspellTextPredictor.h
|
${QSK_SOURCE_DIR}/src/inputpanel/QskHunspellTextPredictor.h
|
||||||
${CMAKE_SOURCE_DIR}/src/inputpanel/QskHunspellTextPredictor.cpp
|
${QSK_SOURCE_DIR}/src/inputpanel/QskHunspellTextPredictor.cpp
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -480,6 +480,10 @@ target_include_directories(${target} PUBLIC
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/layouts>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/layouts>
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/nodes>)
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/nodes>)
|
||||||
|
|
||||||
|
target_include_directories(${target}
|
||||||
|
INTERFACE
|
||||||
|
$<INSTALL_INTERFACE:${QSK_INSTALL_HEADERS}>)
|
||||||
|
|
||||||
target_link_libraries(${target}
|
target_link_libraries(${target}
|
||||||
PUBLIC Qt::Core Qt::CorePrivate Qt::Quick Qt::QuickPrivate)
|
PUBLIC Qt::Core Qt::CorePrivate Qt::Quick Qt::QuickPrivate)
|
||||||
|
|
||||||
|
@ -496,7 +500,7 @@ if(ENABLE_PINYIN)
|
||||||
target_link_libraries(${target} PRIVATE pinyin Fcitx5::Utils)
|
target_link_libraries(${target} PRIVATE pinyin Fcitx5::Utils)
|
||||||
|
|
||||||
target_include_directories(${target}
|
target_include_directories(${target}
|
||||||
PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/inputcontext>)
|
PUBLIC $<BUILD_INTERFACE:${QSK_SOURCE_DIR}/inputcontext>)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set_target_properties(${target} PROPERTIES FOLDER libs)
|
set_target_properties(${target} PROPERTIES FOLDER libs)
|
||||||
|
|
|
@ -31,7 +31,7 @@ target_compile_definitions(${target}
|
||||||
target_include_directories(${target} PUBLIC ${CMAKE_CURRENT_LIST_DIR})
|
target_include_directories(${target} PUBLIC ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
|
||||||
if(ENABLE_ENSURE_SKINS)
|
if(ENABLE_ENSURE_SKINS)
|
||||||
target_include_directories(${target} PRIVATE ${CMAKE_SOURCE_DIR}/skins)
|
target_include_directories(${target} PRIVATE ${QSK_SOURCE_DIR}/skins)
|
||||||
target_compile_definitions(${target} PRIVATE ENSURE_SKINS)
|
target_compile_definitions(${target} PRIVATE ENSURE_SKINS)
|
||||||
target_link_libraries(${target} PRIVATE squiekskin material3skin fluent2skin)
|
target_link_libraries(${target} PRIVATE squiekskin material3skin fluent2skin)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -22,14 +22,18 @@ if(BUILD_SVG2QVG_STANDALONE)
|
||||||
# TODO fix multi configuration generators
|
# TODO fix multi configuration generators
|
||||||
if(CMAKE_GENERATOR MATCHES "Visual Studio.*")
|
if(CMAKE_GENERATOR MATCHES "Visual Studio.*")
|
||||||
add_definitions("/I${qskinny_AUTOGEN_DIR}/include_\$(Configuration)")
|
add_definitions("/I${qskinny_AUTOGEN_DIR}/include_\$(Configuration)")
|
||||||
|
elseif(CMAKE_GENERATOR MATCHES "Ninja Multi.*")
|
||||||
|
target_include_directories(${target}
|
||||||
|
PRIVATE
|
||||||
|
${qskinny_AUTOGEN_DIR}/include_$<CONFIG>)
|
||||||
else()
|
else()
|
||||||
target_include_directories(${target} PRIVATE ${qskinny_AUTOGEN_DIR}/include)
|
target_include_directories(${target} PRIVATE ${qskinny_AUTOGEN_DIR}/include)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_include_directories(${target}
|
target_include_directories(${target}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
${CMAKE_SOURCE_DIR}/src/common
|
${QSK_SOURCE_DIR}/src/common
|
||||||
${CMAKE_SOURCE_DIR}/src/graphic)
|
${QSK_SOURCE_DIR}/src/graphic)
|
||||||
|
|
||||||
target_compile_definitions(${target} PRIVATE QSK_STANDALONE)
|
target_compile_definitions(${target} PRIVATE QSK_STANDALONE)
|
||||||
target_link_libraries(${target} PRIVATE Qt::Gui Qt::GuiPrivate)
|
target_link_libraries(${target} PRIVATE Qt::Gui Qt::GuiPrivate)
|
||||||
|
|
Loading…
Reference in New Issue