From 3cbede3869ce7c90cc43af149ac2a5d7c06a684a Mon Sep 17 00:00:00 2001 From: yeshanshan Date: Mon, 29 Dec 2025 14:31:59 +0800 Subject: [PATCH] refactor: unify DTK5 and DTK6 build system MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Replaced automatic DTK version detection with explicit DTK5 option for unified build configuration 2. Introduced DTK_NAME_SUFFIX variable to differentiate between DTK5 (empty) and DTK6 ("6") builds 3. Updated all CMake configuration files to use DTK_VERSION_MAJOR and DTK_NAME_SUFFIX consistently 4. Modified Debian packaging to support both DTK5 and DTK6 with separate build profiles 5. Added DTK6-specific Debian package definitions and installation scripts 6. Updated debian/rules to handle separate builds for DTK5 and DTK6 with proper version mapping 7. Fixed include paths, library names, and configuration file names to follow DTK naming conventions 8. Ensured proper Qt version selection (Qt5 for DTK5, Qt6 for DTK6) throughout the build system Log: Unified build system now supports both DTK5 and DTK6 with explicit configuration options Influence: 1. Test building with DTK5=ON to ensure DTK5 compatibility 2. Test building with DTK5=OFF to ensure DTK6 compatibility 3. Verify library naming: dtkdeclarative for DTK5, dtk6declarative for DTK6 4. Check include paths: /usr/include/dtk5/ for DTK5, /usr/include/dtk6/ for DTK6 5. Test Debian packaging with different build profiles (nodtk5, nodtk6, nodoc) 6. Verify CMake configuration files are generated with correct names 7. Ensure QML plugin installation paths are correct for both Qt5 and Qt6 8. Test example applications (dtk-exhibition and dtk6-exhibition) functionality refactor: 统一 DTK5 和 DTK6 构建系统 1. 将自动 DTK 版本检测改为显式 DTK5 选项,实现统一构建配置 2. 引入 DTK_NAME_SUFFIX 变量区分 DTK5(空)和 DTK6("6")构建 3. 更新所有 CMake 配置文件以一致使用 DTK_VERSION_MAJOR 和 DTK_NAME_SUFFIX 4. 修改 Debian 打包以支持 DTK5 和 DTK6 的独立构建配置 5. 添加 DTK6 特定的 Debian 包定义和安装脚本 6. 更新 debian/rules 以处理 DTK5 和 DTK6 的独立构建及版本映射 7. 修复包含路径、库名称和配置文件名称以遵循 DTK 命名约定 8. 确保整个构建系统中正确选择 Qt 版本(DTK5 用 Qt5,DTK6 用 Qt6) Log: 统一构建系统现在支持通过显式配置选项构建 DTK5 和 DTK6 Influence: 1. 测试使用 DTK5=ON 构建以确保 DTK5 兼容性 2. 测试使用 DTK5=OFF 构建以确保 DTK6 兼容性 3. 验证库命名:DTK5 为 dtkdeclarative,DTK6 为 dtk6declarative 4. 检查包含路径:DTK5 为 /usr/include/dtk5/,DTK6 为 /usr/include/dtk6/ 5. 测试使用不同构建配置(nodtk5、nodtk6、nodoc)的 Debian 打包 6. 验证 CMake 配置文件是否以正确名称生成 7. 确保 QML 插件安装路径对 Qt5 和 Qt6 都正确 8. 测试示例应用程序(dtk-exhibition 和 dtk6-exhibition)的功能 --- CMakeLists.txt | 73 +++++----- archlinux/PKGBUILD | 2 +- chameleon/CMakeLists.txt | 8 +- debian/control | 125 +++++++++++++++--- debian/dtk6-exhibition.install | 1 + debian/libdtk6declarative-dev.install | 6 + debian/libdtk6declarative-doc.install | 1 + debian/libdtk6declarative.install | 3 + debian/libdtkdeclarative-dev.install | 10 +- debian/libdtkdeclarative5.install | 4 +- ...qtquick-controls2-styles-chameleon.install | 1 + debian/rules | 71 +++++++++- docs/CMakeLists.txt | 4 +- examples/exhibition/CMakeLists.txt | 19 ++- examples/qml-inspect/CMakeLists.txt | 6 +- misc/DtkDeclarativeConfig.cmake.in | 16 +-- misc/dtkdeclarative.pc.in | 10 +- misc/qt_lib_dtkdeclarative.pri.in | 12 +- qmlplugin/targets.cmake | 8 +- qt6/src/CMakeLists.txt | 10 +- src/CMakeLists.txt | 8 +- src/src.cmake | 11 +- src/targets.cmake | 12 +- tests/CMakeLists.txt | 6 +- .../maincomponentplugin/CMakeLists.txt | 5 +- .../preloadplugin/CMakeLists.txt | 5 +- 26 files changed, 296 insertions(+), 141 deletions(-) create mode 100644 debian/dtk6-exhibition.install create mode 100644 debian/libdtk6declarative-dev.install create mode 100644 debian/libdtk6declarative-doc.install create mode 100644 debian/libdtk6declarative.install create mode 100644 debian/qml6-module-qtquick-controls2-styles-chameleon.install diff --git a/CMakeLists.txt b/CMakeLists.txt index 74ce0cdfa..7140cb511 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,36 +1,32 @@ cmake_minimum_required(VERSION 3.10) -file(READ "${CMAKE_CURRENT_SOURCE_DIR}/VERSION" DTK_FILE_VERSION) -string(STRIP "${DTK_FILE_VERSION}" DTK_FILE_VERSION) -set(DTK_VERSION "${DTK_FILE_VERSION}" CACHE STRING "Define project version") +file(READ "${CMAKE_CURRENT_SOURCE_DIR}/VERSION" FILE_VERSION) +string(STRIP "${FILE_VERSION}" FILE_VERSION) + project(DtkDeclarative - VERSION "${DTK_VERSION}" + VERSION ${FILE_VERSION} DESCRIPTION "DTK Declarative module" HOMEPAGE_URL "https://github.com/linuxdeepin/dtkdeclarative" LANGUAGES CXX ) -if (${PROJECT_VERSION_MAJOR} STREQUAL "5") - set(QT_DEFAULT_MAJOR_VERSION "5") - set(QT_VERSION_MAJOR "5") - set(EnableQt5 on) - set(EnableDtk5 on) - set(EnableQt6 off) - set(EnableDtk6 off) -elseif(${PROJECT_VERSION_MAJOR} STREQUAL "6") - set(QT_DEFAULT_MAJOR_VERSION "6") - set(QT_VERSION_MAJOR "6") - set(DTK_VERSION_MAJOR "6") - set(EnableQt5 off) - set(EnableDtk5 off) - set(EnableQt6 on) - set(EnableDtk6 on) +option(DTK5 "Build DTK5." ON) +if(DTK5) + set(DTK_VERSION_MAJOR "5") + set(DTK_NAME_SUFFIX "") else() - message(FATAL_ERROR "Only support DTK_VERSION is 5 or 6") + set(DTK_VERSION_MAJOR "6") + set(DTK_NAME_SUFFIX "6") endif() + +set(DTK_VERSION_MINOR ${PROJECT_VERSION_MINOR}) +set(DTK_VERSION_PATCH ${PROJECT_VERSION_PATCH}) +set(DTK_VERSION "${DTK_VERSION_MAJOR}.${DTK_VERSION_MINOR}.${DTK_VERSION_PATCH}") +set(QT_VERSION_MAJOR ${DTK_VERSION_MAJOR}) + set(ENABLE_COV OFF CACHE BOOL "Generate coverage info") -set(LIB_NAME dtk${DTK_VERSION_MAJOR}declarative) +set(LIB_NAME dtk${DTK_NAME_SUFFIX}declarative) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -50,9 +46,9 @@ include(DtkBuildConfig) set(BUILD_DOCS ON CACHE BOOL "Generate doxygen-based documentation") set(LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}" CACHE STRING "Library install path") -set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/dtk${PROJECT_VERSION_MAJOR}/DDeclarative" CACHE STRING "Headers install path") +set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/dtk${DTK_VERSION_MAJOR}/DDeclarative" CACHE STRING "Headers install path") set(TEMPLATE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/qtcreator/templates/wizards/projects/qml${DTK_VERSION_MAJOR}-app-template" CACHE STRING "Directory to install QtCreator template") -set(CONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_VERSION_MAJOR}Declarative" CACHE STRING "CMake config file install directory") +set(CONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_NAME_SUFFIX}Declarative" CACHE STRING "CMake config file install directory") set(PKGCONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig" CACHE STRING "Directory to install pkg-config file") set(MKSPECS_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/qt${QT_VERSION_MAJOR}/mkspecs/modules" CACHE STRING "Qt pri module install directory") set(QML_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/qt${QT_VERSION_MAJOR}/qml" CACHE STRING "Qml plugin install directory") @@ -67,12 +63,11 @@ if (${QT_VERSION_MAJOR} STREQUAL "6") endif() endif() -if(EnableQt5) +if(DTK5) if(TARGET Qt::QuickControls2 AND TARGET Qt::QuickControls2Private) set(USE_QQuickStylePluginPrivate ON) endif() -endif() -if(EnableQt6) +else() if(TARGET Qt6::QuickControls2 AND TARGET Qt6::QuickControls2Private) set(USE_QQuickStylePluginPrivate ON) endif() @@ -88,7 +83,7 @@ else () set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Ofast") endif () -set(DDECLARATIVE_TRANSLATIONS_DIR "dtk${PROJECT_VERSION_MAJOR}/DDeclarative/translations" CACHE STRING "DDeclarative translations directory") +set(DDECLARATIVE_TRANSLATIONS_DIR "dtk${DTK_VERSION_MAJOR}/DDeclarative/translations" CACHE STRING "DDeclarative translations directory") set(DDECLARATIVE_TRANSLATIONS_PATH "share/${DDECLARATIVE_TRANSLATIONS_DIR}") set(TRANSLATIONS_INSTALL_PATH "${DDECLARATIVE_TRANSLATIONS_PATH}") @@ -98,11 +93,10 @@ set(PLUGIN_NAME dtkdeclarativeplugin) set(STYLE_PLUGIN_NAME qtquickcontrolschameleonstyleplugin) set(PLUGIN_OUTPUT_DIR ${PROJECT_BINARY_DIR}/plugins) -if(EnableQt5) +if(DTK5) add_subdirectory(src) add_subdirectory(qmlplugin) -endif() -if(EnableQt6) +else() add_subdirectory(qt6) endif() add_subdirectory(chameleon) @@ -113,16 +107,17 @@ if(BUILD_DOCS) endif() if(BUILD_TESTING) + enable_testing() add_subdirectory(tests) add_dependencies(unit-test ${PLUGIN_NAME} ${STYLE_PLUGIN_NAME}) - if(EnableQt6) + if(NOT DTK5) add_dependencies(unit-test dtkdeclarativeprivatesplugin dtkdeclarativesettingsplugin) endif() endif() # Install wizards template set(QML_TEMPLATE_QTVERSION_INDEX 0) -if(EnableQt5) +if(DTK5) set(QML_TEMPLATE_QTVERSION_INDEX 3) endif() configure_package_config_file( @@ -135,20 +130,20 @@ install(DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/misc/qml-app-template/" DESTINATION configure_package_config_file( "${CMAKE_CURRENT_LIST_DIR}/misc/DtkDeclarativeConfig.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/Dtk${DTK_VERSION_MAJOR}DeclarativeConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/Dtk${DTK_NAME_SUFFIX}DeclarativeConfig.cmake" INSTALL_DESTINATION "${CONFIG_INSTALL_DIR}" ) write_basic_package_version_file( - "${CMAKE_CURRENT_BINARY_DIR}/Dtk${DTK_VERSION_MAJOR}DeclarativeConfigVersion.cmake" - VERSION ${VERSION} + "${CMAKE_CURRENT_BINARY_DIR}/Dtk${DTK_NAME_SUFFIX}DeclarativeConfigVersion.cmake" + VERSION ${DTK_VERSION} COMPATIBILITY SameMajorVersion ) # Install cmake config file -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Dtk${DTK_VERSION_MAJOR}DeclarativeConfig.cmake" DESTINATION "${CONFIG_INSTALL_DIR}") -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Dtk${DTK_VERSION_MAJOR}DeclarativeConfigVersion.cmake" DESTINATION "${CONFIG_INSTALL_DIR}") +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Dtk${DTK_NAME_SUFFIX}DeclarativeConfig.cmake" DESTINATION "${CONFIG_INSTALL_DIR}") +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Dtk${DTK_NAME_SUFFIX}DeclarativeConfigVersion.cmake" DESTINATION "${CONFIG_INSTALL_DIR}") # Install pkg-config file -configure_file("${PROJECT_SOURCE_DIR}/misc/dtkdeclarative.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/dtk${DTK_VERSION_MAJOR}declarative.pc" @ONLY) -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/dtk${DTK_VERSION_MAJOR}declarative.pc" DESTINATION "${PKGCONFIG_INSTALL_DIR}") +configure_file("${PROJECT_SOURCE_DIR}/misc/dtkdeclarative.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/dtk${DTK_NAME_SUFFIX}declarative.pc" @ONLY) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/dtk${DTK_NAME_SUFFIX}declarative.pc" DESTINATION "${PKGCONFIG_INSTALL_DIR}") # Install qmake module config file configure_file("${CMAKE_CURRENT_LIST_DIR}/misc/qt_lib_dtkdeclarative.pri.in" "${CMAKE_CURRENT_BINARY_DIR}/qt_lib_dtkdeclarative.pri" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/qt_lib_dtkdeclarative.pri" DESTINATION "${MKSPECS_INSTALL_DIR}") diff --git a/archlinux/PKGBUILD b/archlinux/PKGBUILD index 5e2f14d49..d9930d1b9 100644 --- a/archlinux/PKGBUILD +++ b/archlinux/PKGBUILD @@ -31,7 +31,7 @@ build() { -DQCH_INSTALL_DESTINATION=share/doc/qt \ -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_BUILD_TYPE=Release + -DDTK5=ON } package() { diff --git a/chameleon/CMakeLists.txt b/chameleon/CMakeLists.txt index e2ca6e1ca..6a182b913 100644 --- a/chameleon/CMakeLists.txt +++ b/chameleon/CMakeLists.txt @@ -1,12 +1,12 @@ set(PLUGIN_NAME ${STYLE_PLUGIN_NAME}) -find_package(Dtk${DTK_VERSION_MAJOR}Gui REQUIRED) +find_package(Dtk${DTK_NAME_SUFFIX}Gui REQUIRED) find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Qml Quick QuickControls2 REQUIRED ) -if(EnableQt5) +if(DTK5) find_package(Qt${QT_VERSION_MAJOR}QuickCompiler) endif() @@ -59,7 +59,7 @@ set(SRC_FILES qtquickcontrols2chameleonstyleplugin.h qtquickcontrols2chameleonstyleplugin.cpp ) -if(EnableQt5) +if(DTK5) file(GLOB _qml_files ${QML_FILES}) set(TARGETPATH "QtQuick/Controls.2/Chameleon") set(PLUGIN_INSTALL_DIR "${QML_INSTALL_DIR}/${TARGETPATH}") @@ -109,7 +109,7 @@ if(EnableQt5) ) endif() -if(EnableQt6) +if(NOT DTK5) qt_add_qml_module(${PLUGIN_NAME} URI "Chameleon" VERSION "1.0" diff --git a/debian/control b/debian/control index ec7d3ff86..37a5f8b1c 100644 --- a/debian/control +++ b/debian/control @@ -1,47 +1,130 @@ Source: dtkdeclarative Section: libs Priority: optional -Maintainer: Deepin Packages Builder +Maintainer: Shanshan Ye Build-Depends: - debhelper-compat ( =12), + debhelper-compat (= 12), cmake, - qtdeclarative5-dev, - qtbase5-dev-tools, - qtquickcontrols2-5-dev, - libdtkgui-dev, - libdtkcore-dev, - qtdeclarative5-private-dev, - qtbase5-private-dev, pkg-kde-tools, libgtest-dev, - doxygen, - qttools5-dev-tools, - qttools5-dev, - doxyqml, + libdtkcommon-dev, + qtdeclarative5-dev , + qtbase5-dev-tools , + qtquickcontrols2-5-dev , + libdtkgui-dev , + libdtkcore-dev , + qtdeclarative5-private-dev , + qtbase5-private-dev , + qttools5-dev-tools , + qttools5-dev , + qt6-declarative-dev , + qt6-base-dev-tools , + libqt6quickcontrols2-6 , + libdtk6gui-dev , + libdtk6core-dev , + qt6-declarative-private-dev , + qt6-base-private-dev , + qt6-tools-dev-tools , + qt6-tools-dev , + qt6-shadertools-dev , + doxygen , + doxyqml , Standards-Version: 3.9.8 Homepage: http://www.deepin.org +Package: qml6-module-qtquick-controls2-styles-chameleon +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, + qml6-module-qtquick, + qml6-module-qtquick-controls, + qml6-module-qtquick-shapes, + qml6-module-qt5compat-graphicaleffects, + qml6-module-qtqml-workerscript, + qml6-module-qtquick-templates, + qml6-module-qtquick-effects, + libdtk6declarative( =${binary:Version}) +Build-Profiles: +Description: Deepin Tool Kit Qt Quick Controls 2 QML module (DTK6 with Qt6) + Dtkdeclarative is base library of Deepin Qt/QtQuick applications. + . + This package is built for DTK6 with Qt6. + +Package: libdtk6declarative +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, + libdtk6core +Multi-Arch: same +Build-Profiles: +Description: Deepin Tool Kit Declarative library (DTK6 with Qt6) + Dtkdeclarative is base library of Deepin Qt/QtQuick applications. + . + This package contains the shared libraries. + This package is built for DTK6 with Qt6. + +Package: libdtk6declarative-dev +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, + libdtk6declarative( =${binary:Version}), + libdtk6core-dev, + libdtk6gui-dev, + libdtkcommon-dev, + qt6-base-dev, + qt6-declarative-dev +Build-Profiles: +Description: Deepin Tool Kit Declarative Devel library (DTK6 with Qt6) + Dtkdeclarative is base library of Deepin Qt/QtQuick applications. + . + This package contains the header files and shared libraries of DtkDeclarative. + This package is built for DTK6 with Qt6. + +Package: libdtk6declarative-doc +Architecture: any +Depends: ${misc:Depends} +Build-Profiles: +Description: Deepin Tool Kit Declarative Devel library (DTK6 with Qt6 Document) + Dtkdeclarative is base library of Deepin Qt/QtQuick applications. + +Package: dtk6-exhibition +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, + libdtk6declarative( =${binary:Version}), + qml6-module-qtquick-controls2-styles-chameleon( =${binary:Version}) +Build-Profiles: +Description: Deepin Tool Kit QML Controls example (DTK6 with Qt6) + This package contains an application. + . + This package is built for DTK6 with Qt6. + Package: qml-module-qtquick-controls2-styles-chameleon Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, qml-module-qtquick-shapes (>= 5.11.3), qml-module-qtgraphicaleffects, libdtkdeclarative5( =${binary:Version}) +Build-Profiles: Description: Deepin Tool Kit Qt Quick Controls 2 QML module Dtkdeclarative is base library of Deepin Qt/QtQuick applications. Package: libdtkdeclarative5 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, - libdtkcore5 (>= 5.6.12) + libdtkcore5 (>= 5.6.12) Multi-Arch: same -Description: Deepin Tool Kit Gui library +Build-Profiles: +Description: Deepin Tool Kit Declarative library Dtkdeclarative is base library of Deepin Qt/QtQuick applications. . This package contains the shared libraries. Package: libdtkdeclarative-dev Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, libdtkdeclarative5( =${binary:Version}) -Description: Deepin Tool Kit Gui Devel library +Depends: ${shlibs:Depends}, ${misc:Depends}, + libdtkdeclarative5( =${binary:Version}), + libdtkcore-dev, + libdtkgui-dev, + libdtkcommon-dev, + qtbase5-dev, + qtdeclarative5-dev +Build-Profiles: +Description: Deepin Tool Kit Declarative Devel library Dtkdeclarative is base library of Deepin Qt/QtQuick applications. . This package contains the header files and shared libraries of DtkDeclarative @@ -49,7 +132,8 @@ Description: Deepin Tool Kit Gui Devel library Package: libdtkdeclarative-doc Architecture: any Depends: ${misc:Depends} -Description: Deepin Tool Kit Gui Devel library (Document) +Build-Profiles: +Description: Deepin Tool Kit Declarative Devel library (Document) Dtkdeclarative is base library of Deepin Qt/QtQuick applications. Package: dtk-exhibition @@ -57,5 +141,6 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libdtkdeclarative5( =${binary:Version}), qml-module-qtquick-controls2-styles-chameleon( =${binary:Version}) -Description: Deepin Tool Kit QML Controls example. - This package contains a applicatioin. +Build-Profiles: +Description: Deepin Tool Kit QML Controls example + This package contains an application. diff --git a/debian/dtk6-exhibition.install b/debian/dtk6-exhibition.install new file mode 100644 index 000000000..877d7bdfa --- /dev/null +++ b/debian/dtk6-exhibition.install @@ -0,0 +1 @@ +usr/lib/*/*/DDeclarative/* diff --git a/debian/libdtk6declarative-dev.install b/debian/libdtk6declarative-dev.install new file mode 100644 index 000000000..c7bfb3f31 --- /dev/null +++ b/debian/libdtk6declarative-dev.install @@ -0,0 +1,6 @@ +usr/lib/*/libdtk6declarative.so +usr/include/dtk6/ +usr/lib/*/pkgconfig/dtk6declarative.pc +usr/lib/*/cmake/Dtk6Declarative/*.cmake +usr/lib/*/qt6/mkspecs/* +usr/share/qtcreator/templates/wizards/projects/qml6-app-template/* diff --git a/debian/libdtk6declarative-doc.install b/debian/libdtk6declarative-doc.install new file mode 100644 index 000000000..2d48d4200 --- /dev/null +++ b/debian/libdtk6declarative-doc.install @@ -0,0 +1 @@ +usr/share/qt6/doc/* diff --git a/debian/libdtk6declarative.install b/debian/libdtk6declarative.install new file mode 100644 index 000000000..628cd3483 --- /dev/null +++ b/debian/libdtk6declarative.install @@ -0,0 +1,3 @@ +usr/lib/*/libdtk6declarative.so.* +usr/lib/*/qt6/qml/org/deepin/dtk/* +usr/share/dtk6/DDeclarative/translations/*.qm diff --git a/debian/libdtkdeclarative-dev.install b/debian/libdtkdeclarative-dev.install index 4c3824669..f5d0880a6 100644 --- a/debian/libdtkdeclarative-dev.install +++ b/debian/libdtkdeclarative-dev.install @@ -1,6 +1,6 @@ -usr/lib/*/lib*.so -usr/include -usr/lib/*/pkgconfig/*.pc -usr/lib/*/cmake/*/*.cmake +usr/lib/*/libdtkdeclarative.so +usr/include/dtk5/ +usr/lib/*/pkgconfig/dtkdeclarative.pc +usr/lib/*/cmake/DtkDeclarative/*.cmake usr/lib/*/qt5/mkspecs/* -usr/share/qtcreator/* +usr/share/qtcreator/templates/wizards/projects/qml5-app-template/* diff --git a/debian/libdtkdeclarative5.install b/debian/libdtkdeclarative5.install index 9aa5ea5ba..167bdb468 100644 --- a/debian/libdtkdeclarative5.install +++ b/debian/libdtkdeclarative5.install @@ -1,3 +1,3 @@ -usr/lib/*/lib*.so.* +usr/lib/*/libdtkdeclarative.so.* usr/lib/*/qt5/qml/org/deepin/dtk/* -usr/share/*/*/translations/*.qm +usr/share/dtk5/DDeclarative/translations/*.qm diff --git a/debian/qml6-module-qtquick-controls2-styles-chameleon.install b/debian/qml6-module-qtquick-controls2-styles-chameleon.install new file mode 100644 index 000000000..890f096f3 --- /dev/null +++ b/debian/qml6-module-qtquick-controls2-styles-chameleon.install @@ -0,0 +1 @@ +usr/lib/*/qt6/qml/Chameleon/* diff --git a/debian/rules b/debian/rules index ce06521d0..347f0dee7 100755 --- a/debian/rules +++ b/debian/rules @@ -1,7 +1,6 @@ #!/usr/bin/make -f DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/default.mk -export QT_SELECT = qt5 # 安全编译参数 export DEB_BUILD_MAINT_OPTIONS = hardening=+all @@ -9,9 +8,19 @@ export DEB_CFLAGS_MAINT_APPEND = -Wall export DEB_CXXFLAGS_MAINT_APPEND = -Wall export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -Wl,-E -# reproducible编译参数 +# reproducible 编译参数 DEB_CMAKE_EXTRA_FLAGS += -DCMAKE_SKIP_BUILD_RPATH=ON +# 版本映射:x.y.z -> 5.y.z 和 6.y.z +DTK5_VERSION := $(shell echo $(DEB_VERSION_UPSTREAM) | sed -E 's/^[0-9]+(\.|[^0-9]|$$)/5\1/') +DTK6_VERSION := $(shell echo $(DEB_VERSION_UPSTREAM) | sed -E 's/^[0-9]+(\.|[^0-9]|$$)/6\1/') +DTK5_MAJOR_MINOR := $(shell echo $(DTK5_VERSION) | cut -d '.' -f 1,2) + +# Build-Profiles 控制 +BUILD_DOCS := $(if $(filter nodoc,$(DEB_BUILD_PROFILES)),OFF,ON) +BUILD_DTK5 := $(if $(filter nodtk5,$(DEB_BUILD_PROFILES)),OFF,ON) +BUILD_DTK6 := $(if $(filter nodtk6,$(DEB_BUILD_PROFILES)),OFF,ON) + DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) VERSION = $(DEB_VERSION_UPSTREAM) @@ -23,4 +32,60 @@ BUILD_VER = $(shell echo $(VERSION) | awk -F'[+_~-]' '{print $$2}' | sed 's/[^0- dh $@ override_dh_auto_configure: - dh_auto_configure -- $(DEB_CMAKE_EXTRA_FLAGS) -DBUILD_EXAMPLES=OFF -DBUILD_DOCS=ON -DBUILD_VERSION=$(BUILD_VER) -DDTK_VERSION=$(PACK_VER) +ifeq ($(BUILD_DTK5),ON) + mkdir -p build5 + QT_SELECT=qt5 dh_auto_configure --builddirectory=build5 -- \ + $(DEB_CMAKE_EXTRA_FLAGS) \ + -DBUILD_TESTING=OFF \ + -DBUILD_DOCS=$(BUILD_DOCS) \ + -DBUILD_VERSION=$(BUILD_VER) \ + -DDTK_VERSION=$(PACK_VER) \ + -DDTK5=ON +endif +ifeq ($(BUILD_DTK6),ON) + mkdir -p build6 + dh_auto_configure --builddirectory=build6 -- \ + $(DEB_CMAKE_EXTRA_FLAGS) \ + -DBUILD_TESTING=OFF \ + -DBUILD_DOCS=$(BUILD_DOCS) \ + -DBUILD_VERSION=$(BUILD_VER) \ + -DDTK_VERSION=$(PACK_VER) \ + -DDTK5=OFF +endif + +override_dh_auto_build: +ifeq ($(BUILD_DTK5),ON) + QT_SELECT=qt5 dh_auto_build --builddirectory=build5 +endif +ifeq ($(BUILD_DTK6),ON) + dh_auto_build --builddirectory=build6 +endif + +override_dh_auto_install: +ifeq ($(BUILD_DTK5),ON) + QT_SELECT=qt5 dh_auto_install --builddirectory=build5 +endif +ifeq ($(BUILD_DTK6),ON) + dh_auto_install --builddirectory=build6 +endif + +override_dh_makeshlibs: +ifeq ($(BUILD_DTK5),ON) + dh_makeshlibs -V "libdtkdeclarative5 (>= $(DTK5_MAJOR_MINOR))" -plibdtkdeclarative5 +endif +ifeq ($(BUILD_DTK6),ON) + dh_makeshlibs -V "libdtk6declarative (>= $(DTK6_VERSION))" -plibdtk6declarative +endif + +override_dh_auto_test: +ifeq ($(BUILD_DTK5),ON) + QT_SELECT=qt5 dh_auto_test --builddirectory=build5 +endif +ifeq ($(BUILD_DTK6),ON) + dh_auto_test --builddirectory=build6 +endif + +override_dh_auto_clean: + dh_auto_clean --builddirectory=build5 + dh_auto_clean --builddirectory=build6 + rm -rf build5 build6 diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index 4bac5ed7d..98b9978e8 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -10,11 +10,11 @@ set (DOXYGEN_GENERATE_QHP "YES" CACHE STRING "Doxygen QHP output") set (DOXYGEN_FILTER_PATTERNS *.qml=doxyqml CACHE STRING "Extra filter patterns") set (DOXYGEN_FILE_PATTERNS *.cpp *.h *.zh_CN.md *.zh_CN.dox *.qml CACHE STRING "Doxygen File Patterns") set (DOXYGEN_EXTENSION_MAPPING qml=C++ CACHE STRING "Extra extension mapping") -set (DOXYGEN_PROJECT_NUMBER ${CMAKE_PROJECT_VERSION} CACHE STRING "") # Should be the same as this project is using. +set (DOXYGEN_PROJECT_NUMBER ${DTK_VERSION} CACHE STRING "") # Should be the same as this project is using. set (DOXYGEN_EXTRACT_STATIC YES) set (DOXYGEN_OUTPUT_LANGUAGE "Chinese" CACHE STRING "Doxygen Output Language") set (DOXYGEN_IMAGE_PATH ${CMAKE_CURRENT_LIST_DIR}/images/) -if (EnableQt5) +if (DTK5) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Help) else() find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS ToolsTools) diff --git a/examples/exhibition/CMakeLists.txt b/examples/exhibition/CMakeLists.txt index 778db851f..1cd69e561 100644 --- a/examples/exhibition/CMakeLists.txt +++ b/examples/exhibition/CMakeLists.txt @@ -1,15 +1,14 @@ -set(BIN_NAME dtk-exhibition) +set(BIN_NAME dtk${DTK_NAME_SUFFIX}-exhibition) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Quick QuickControls2) -find_package(Dtk${DTK_VERSION_MAJOR}Core REQUIRED) -find_package(Dtk${DTK_VERSION_MAJOR}Gui REQUIRED) +find_package(Dtk${DTK_NAME_SUFFIX}Core REQUIRED) +find_package(Dtk${DTK_NAME_SUFFIX}Gui REQUIRED) set(CMAKE_EXE_LINKER_FLAGS "-z relro -z now -z noexecstack -pie -Wl,--as-needed") -if (EnableQt5) +if (DTK5) set(QML_RCS ${CMAKE_CURRENT_LIST_DIR}/qml.qrc) -endif() -if (EnableQt6) +else() set(QML_RCS ${CMAKE_CURRENT_LIST_DIR}/qml-qt6.qrc) endif() add_executable(${BIN_NAME} @@ -23,13 +22,13 @@ target_compile_options(${BIN_NAME} PRIVATE "-fpic") target_link_libraries(${BIN_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Quick Qt${QT_VERSION_MAJOR}::QuickControls2 - Dtk${DTK_VERSION_MAJOR}::Core - Dtk${DTK_VERSION_MAJOR}::Gui + Dtk${DTK_NAME_SUFFIX}::Core + Dtk${DTK_NAME_SUFFIX}::Gui ) set(EXAMPLE_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}") -if (EnableQt6) - set(EXAMPLE_INSTALL_DIR "${LIB_INSTALL_DIR}/dtk${PROJECT_VERSION_MAJOR}/DDeclarative") +if (NOT DTK5) + set(EXAMPLE_INSTALL_DIR "${LIB_INSTALL_DIR}/dtk${DTK_VERSION_MAJOR}/DDeclarative") endif() install(TARGETS ${BIN_NAME} DESTINATION ${EXAMPLE_INSTALL_DIR}) diff --git a/examples/qml-inspect/CMakeLists.txt b/examples/qml-inspect/CMakeLists.txt index 203dd1a2a..a73d85077 100644 --- a/examples/qml-inspect/CMakeLists.txt +++ b/examples/qml-inspect/CMakeLists.txt @@ -1,8 +1,8 @@ set(BIN_NAME qml-inspect) find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Quick QuickControls2) -find_package(Dtk${DTK_VERSION_MAJOR}Core REQUIRED) -find_package(Dtk${DTK_VERSION_MAJOR}Gui REQUIRED) +find_package(Dtk${DTK_NAME_SUFFIX}Core REQUIRED) +find_package(Dtk${DTK_NAME_SUFFIX}Gui REQUIRED) add_executable(${BIN_NAME} ${CMAKE_CURRENT_LIST_DIR}/main.cpp @@ -13,5 +13,5 @@ add_executable(${BIN_NAME} target_link_libraries(${BIN_NAME} PUBLIC Qt${QT_VERSION_MAJOR}::Quick Qt${QT_VERSION_MAJOR}::QuickControls2 - Dtk${DTK_VERSION_MAJOR}::Gui + Dtk${DTK_NAME_SUFFIX}::Gui ) diff --git a/misc/DtkDeclarativeConfig.cmake.in b/misc/DtkDeclarativeConfig.cmake.in index e8aea894f..74c86dcf1 100644 --- a/misc/DtkDeclarativeConfig.cmake.in +++ b/misc/DtkDeclarativeConfig.cmake.in @@ -1,17 +1,17 @@ @PACKAGE_INIT@ include(CMakeFindDependencyMacro) -find_dependency(Dtk@DTK_VERSION_MAJOR@Core) -find_dependency(Dtk@DTK_VERSION_MAJOR@Gui) +find_dependency(Dtk@DTK_NAME_SUFFIX@Core) +find_dependency(Dtk@DTK_NAME_SUFFIX@Gui) find_package(Qt@QT_VERSION_MAJOR@ COMPONENTS Qml Quick REQUIRED ) -include(${CMAKE_CURRENT_LIST_DIR}/Dtk@DTK_VERSION_MAJOR@DeclarativePropertiesTargets.cmake) -include(${CMAKE_CURRENT_LIST_DIR}/Dtk@DTK_VERSION_MAJOR@DeclarativeTargets.cmake) +include(${CMAKE_CURRENT_LIST_DIR}/Dtk@DTK_NAME_SUFFIX@DeclarativePropertiesTargets.cmake) +include(${CMAKE_CURRENT_LIST_DIR}/Dtk@DTK_NAME_SUFFIX@DeclarativeTargets.cmake) set(DTK_QML_APP_PLUGIN_PATH @DTK_QML_APP_PLUGIN_PATH@) -get_target_property(DtkDeclarative_INCLUDE_DIRS Dtk@DTK_VERSION_MAJOR@::Declarative INTERFACE_INCLUDE_DIRECTORIES) -get_target_property(DtkDeclarative_LIBRARY_DIRS Dtk@DTK_VERSION_MAJOR@::Declarative INTERFACE_LINK_DIRECTORIES) +get_target_property(DtkDeclarative_INCLUDE_DIRS Dtk@DTK_NAME_SUFFIX@::Declarative INTERFACE_INCLUDE_DIRECTORIES) +get_target_property(DtkDeclarative_LIBRARY_DIRS Dtk@DTK_NAME_SUFFIX@::Declarative INTERFACE_LINK_DIRECTORIES) set(DTKDeclarative_INCLUDE_DIR ${DtkDeclarative_INCLUDE_DIRS}) -set(DtkDeclarative_LIBRARIES Dtk@DTK_VERSION_MAJOR@::Declarative) -check_required_components(Dtk@DTK_VERSION_MAJOR@Core) +set(DtkDeclarative_LIBRARIES Dtk@DTK_NAME_SUFFIX@::Declarative) +check_required_components(Dtk@DTK_NAME_SUFFIX@Core) diff --git a/misc/dtkdeclarative.pc.in b/misc/dtkdeclarative.pc.in index dc3827fa2..857e9bac7 100644 --- a/misc/dtkdeclarative.pc.in +++ b/misc/dtkdeclarative.pc.in @@ -1,11 +1,11 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} libdir=${prefix}/@LIB_INSTALL_DIR@ -includedir=${prefix}/@INCLUDE_INSTALL_DIR@ +includedir=${prefix}/include/dtk@DTK_VERSION_MAJOR@/DDeclarative -Name: DtkDeclarative +Name: Dtk@DTK_NAME_SUFFIX@Declarative Description: Deepin Tool Kit DtkDeclarative header files -Version: @CMAKE_PROJECT_VERSION@ -Libs: -L${libdir} -ldtk@DTK_VERSION_MAJOR@declarative +Version: @DTK_VERSION@ +Libs: -L${libdir} -ldtk@DTK_NAME_SUFFIX@declarative Cflags: -I${includedir} -Requires: dtk@DTK_VERSION_MAJOR@core dtk@DTK_VERSION_MAJOR@gui Qt@QT_VERSION_MAJOR@Core Qt@QT_VERSION_MAJOR@Gui Qt@QT_VERSION_MAJOR@DBus Qt@QT_VERSION_MAJOR@Xml Qt@QT_VERSION_MAJOR@Quick +Requires: dtk@DTK_NAME_SUFFIX@core dtk@DTK_NAME_SUFFIX@gui Qt@QT_VERSION_MAJOR@Core Qt@QT_VERSION_MAJOR@Gui Qt@QT_VERSION_MAJOR@DBus Qt@QT_VERSION_MAJOR@Xml Qt@QT_VERSION_MAJOR@Quick diff --git a/misc/qt_lib_dtkdeclarative.pri.in b/misc/qt_lib_dtkdeclarative.pri.in index 879780241..f6dce3337 100644 --- a/misc/qt_lib_dtkdeclarative.pri.in +++ b/misc/qt_lib_dtkdeclarative.pri.in @@ -1,11 +1,11 @@ -QT.dtkdeclarative.VERSION = @CMAKE_PROJECT_VERSION@ -QT.dtkdeclarative.MAJOR_VERSION = @PROJECT_VERSION_MAJOR@ -QT.dtkdeclarative.MINOR_VERSION = @PROJECT_VERSION_MINOR@ -QT.dtkdeclarative.PATCH_VERSION = @PROJECT_VERSION_PATCH@ +QT.dtkdeclarative.VERSION = @DTK_VERSION@ +QT.dtkdeclarative.MAJOR_VERSION = @DTK_VERSION_MAJOR@ +QT.dtkdeclarative.MINOR_VERSION = @DTK_VERSION_MINOR@ +QT.dtkdeclarative.PATCH_VERSION = @DTK_VERSION_PATCH@ QT.dtkdeclarative.name = dtkdeclarative -QT.dtkdeclarative.module = dtk@DTK_VERSION_MAJOR@declarative +QT.dtkdeclarative.module = dtk@DTK_NAME_SUFFIX@declarative QT.dtkdeclarative.libs = @CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@ -QT.dtkdeclarative.includes = @CMAKE_INSTALL_PREFIX@/@INCLUDE_INSTALL_DIR@ +QT.dtkdeclarative.includes = @CMAKE_INSTALL_PREFIX@/include/dtk@DTK_VERSION_MAJOR@/DDeclarative QT.dtkdeclarative.frameworks = QT.dtkdeclarative.depends = core dbus xml gui dtkcore dtkgui quick quick_private QT.dtkdeclarative.module_config = v2 ltcg diff --git a/qmlplugin/targets.cmake b/qmlplugin/targets.cmake index 3b2bee28c..b10ed7cbe 100644 --- a/qmlplugin/targets.cmake +++ b/qmlplugin/targets.cmake @@ -1,6 +1,6 @@ find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Qml Quick) -find_package(Dtk${DTK_VERSION_MAJOR}Core REQUIRED) -find_package(Dtk${DTK_VERSION_MAJOR}Gui REQUIRED) +find_package(Dtk${DTK_NAME_SUFFIX}Core REQUIRED) +find_package(Dtk${DTK_NAME_SUFFIX}Gui REQUIRED) add_library(${PLUGIN_NAME}_interface INTERFACE) target_sources(${PLUGIN_NAME}_interface INTERFACE @@ -13,6 +13,6 @@ target_link_libraries(${PLUGIN_NAME}_interface INTERFACE Qt${QT_VERSION_MAJOR}::QmlPrivate Qt${QT_VERSION_MAJOR}::Quick Qt${QT_VERSION_MAJOR}::QuickPrivate - Dtk${DTK_VERSION_MAJOR}::Core - Dtk${DTK_VERSION_MAJOR}::Gui + Dtk${DTK_NAME_SUFFIX}::Core + Dtk${DTK_NAME_SUFFIX}::Gui ) diff --git a/qt6/src/CMakeLists.txt b/qt6/src/CMakeLists.txt index 63b82ca38..7fda45ee6 100644 --- a/qt6/src/CMakeLists.txt +++ b/qt6/src/CMakeLists.txt @@ -1,6 +1,6 @@ include(${PROJECT_SOURCE_DIR}/src/targets.cmake) -find_package(Qt${QT_DEFAULT_MAJOR_VERSION}ShaderTools) +find_package(Qt${QT_VERSION_MAJOR}ShaderTools) include(${PROJECT_SOURCE_DIR}/qt6/src/qml.cmake) qt_add_qml_module(${LIB_NAME} @@ -32,8 +32,8 @@ qt_add_translations(${LIB_NAME} ) set_target_properties(${LIB_NAME} PROPERTIES - VERSION ${CMAKE_PROJECT_VERSION} - SOVERSION ${CMAKE_PROJECT_VERSION_MAJOR} + VERSION ${DTK_VERSION} + SOVERSION ${DTK_VERSION_MAJOR} EXPORT_NAME Declarative ) @@ -80,9 +80,9 @@ set_target_properties(${PLUGIN_NAME} PROPERTIES ) # Install library -install(TARGETS ${LIB_NAME} EXPORT Dtk${DTK_VERSION_MAJOR}DeclarativeTargets DESTINATION "${LIB_INSTALL_DIR}") +install(TARGETS ${LIB_NAME} EXPORT Dtk${DTK_NAME_SUFFIX}DeclarativeTargets DESTINATION "${LIB_INSTALL_DIR}") # Install export targets -install(EXPORT Dtk${DTK_VERSION_MAJOR}DeclarativeTargets NAMESPACE Dtk${DTK_VERSION_MAJOR}:: FILE Dtk${DTK_VERSION_MAJOR}DeclarativeTargets.cmake DESTINATION "${CONFIG_INSTALL_DIR}") +install(EXPORT Dtk${DTK_NAME_SUFFIX}DeclarativeTargets NAMESPACE Dtk${DTK_NAME_SUFFIX}:: FILE Dtk${DTK_NAME_SUFFIX}DeclarativeTargets.cmake DESTINATION "${CONFIG_INSTALL_DIR}") # Install translations install(FILES ${QM_FILES} DESTINATION "${TRANSLATIONS_INSTALL_PATH}") # Install plugin diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ce8cd5dbc..4a5e211b0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -22,8 +22,8 @@ target_compile_definitions(${LIB_NAME} PRIVATE ) set_target_properties(${LIB_NAME} PROPERTIES - VERSION ${CMAKE_PROJECT_VERSION} - SOVERSION ${CMAKE_PROJECT_VERSION_MAJOR} + VERSION ${DTK_VERSION} + SOVERSION ${DTK_VERSION_MAJOR} EXPORT_NAME Declarative ) @@ -38,6 +38,6 @@ PRIVATE install(FILES ${QM_FILES} DESTINATION "${TRANSLATIONS_INSTALL_PATH}") # Install library -install(TARGETS ${LIB_NAME} EXPORT Dtk${DTK_VERSION_MAJOR}DeclarativeTargets DESTINATION "${LIB_INSTALL_DIR}") +install(TARGETS ${LIB_NAME} EXPORT Dtk${DTK_NAME_SUFFIX}DeclarativeTargets DESTINATION "${LIB_INSTALL_DIR}") # Install export targets -install(EXPORT Dtk${DTK_VERSION_MAJOR}DeclarativeTargets NAMESPACE Dtk:: FILE Dtk${DTK_VERSION_MAJOR}DeclarativeTargets.cmake DESTINATION "${CONFIG_INSTALL_DIR}") +install(EXPORT Dtk${DTK_NAME_SUFFIX}DeclarativeTargets NAMESPACE Dtk${DTK_NAME_SUFFIX}:: FILE Dtk${DTK_NAME_SUFFIX}DeclarativeTargets.cmake DESTINATION "${CONFIG_INSTALL_DIR}") diff --git a/src/src.cmake b/src/src.cmake index 588ce2d44..9d7b05ea0 100644 --- a/src/src.cmake +++ b/src/src.cmake @@ -19,8 +19,9 @@ file(GLOB PUBLIC_HEADERS ${PROJECT_SOURCE_DIR}/src/dtkdeclarative_global.h ) + # exclusive to dtk5 -if (EnableDtk5) +if (DTK5) list(APPEND D_HEADERS ${PROJECT_SOURCE_DIR}/src/DPlatformThemeProxy ${PROJECT_SOURCE_DIR}/src/DQuickSystemPalette @@ -43,12 +44,12 @@ if (EnableDtk5) endif() # exclusive to dtk6 -if (EnableDtk6) +if (NOT DTK5) list(REMOVE_ITEM HEADERS - ${PROJECT_SOURCE_DIR}/src/dquicksystempalette.h - ${PROJECT_SOURCE_DIR}/src/private/dquicksystempalette_p.h + ${PROJECT_SOURCE_DIR}/src/dquicksystempalette.h + ${PROJECT_SOURCE_DIR}/src/private/dquicksystempalette_p.h ) list(REMOVE_ITEM SRCS - ${PROJECT_SOURCE_DIR}/src/dquicksystempalette.cpp + ${PROJECT_SOURCE_DIR}/src/dquicksystempalette.cpp ) endif() diff --git a/src/targets.cmake b/src/targets.cmake index 3b32bd02b..9f42cea7f 100644 --- a/src/targets.cmake +++ b/src/targets.cmake @@ -16,8 +16,8 @@ if ("${QT_VERSION_MAJOR}" STREQUAL "6") endif() endif() -find_package(Dtk${DTK_VERSION_MAJOR}Core REQUIRED) -find_package(Dtk${DTK_VERSION_MAJOR}Gui REQUIRED) +find_package(Dtk${DTK_NAME_SUFFIX}Core REQUIRED) +find_package(Dtk${DTK_NAME_SUFFIX}Gui REQUIRED) find_package(PkgConfig REQUIRED) pkg_check_modules(GL REQUIRED IMPORTED_TARGET gl) @@ -53,8 +53,8 @@ endif() target_link_libraries(${LIB_NAME}_properties INTERFACE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Quick - Dtk${DTK_VERSION_MAJOR}::Core - Dtk${DTK_VERSION_MAJOR}::Gui + Dtk${DTK_NAME_SUFFIX}::Core + Dtk${DTK_NAME_SUFFIX}::Gui $ $ $ @@ -83,5 +83,5 @@ list(APPEND PUBLIC_HEADERS ${CONFIG_PATH}) install(FILES ${PUBLIC_HEADERS} ${D_HEADERS} DESTINATION "${INCLUDE_INSTALL_DIR}") # Install ${LIB_NAME}_properties -install(TARGETS ${LIB_NAME}_properties EXPORT Dtk${DTK_VERSION_MAJOR}DeclarativeProperties DESTINATION "${LIB_INSTALL_DIR}") -install(EXPORT Dtk${DTK_VERSION_MAJOR}DeclarativeProperties NAMESPACE Dtk${DTK_VERSION_MAJOR}:: FILE Dtk${DTK_VERSION_MAJOR}DeclarativePropertiesTargets.cmake DESTINATION "${CONFIG_INSTALL_DIR}") +install(TARGETS ${LIB_NAME}_properties EXPORT Dtk${DTK_NAME_SUFFIX}DeclarativeProperties DESTINATION "${LIB_INSTALL_DIR}") +install(EXPORT Dtk${DTK_NAME_SUFFIX}DeclarativeProperties NAMESPACE Dtk${DTK_NAME_SUFFIX}:: FILE Dtk${DTK_NAME_SUFFIX}DeclarativePropertiesTargets.cmake DESTINATION "${CONFIG_INSTALL_DIR}") diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index c924ef5ae..9b93675f1 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,7 +1,7 @@ set(BIN_NAME unit-test) -find_package(Dtk${DTK_VERSION_MAJOR}Core REQUIRED) -find_package(Dtk${DTK_VERSION_MAJOR}Gui REQUIRED) +find_package(Dtk${DTK_NAME_SUFFIX}Core REQUIRED) +find_package(Dtk${DTK_NAME_SUFFIX}Gui REQUIRED) find_package(GTest REQUIRED) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Gui Quick QuickControls2 Qml Test) @@ -39,7 +39,7 @@ file(GLOB TEST_SOURCES ut_dquickblitframebuffer.cpp ut_dtkdeclatative_qmls.cpp ) -if (EnableDtk5) +if (DTK5) list(APPEND TEST_SOURCES ut_dplatformthemeproxy.cpp ) diff --git a/tests/apploaderplugindump/maincomponentplugin/CMakeLists.txt b/tests/apploaderplugindump/maincomponentplugin/CMakeLists.txt index c0f736bc7..0844edaa3 100644 --- a/tests/apploaderplugindump/maincomponentplugin/CMakeLists.txt +++ b/tests/apploaderplugindump/maincomponentplugin/CMakeLists.txt @@ -1,7 +1,6 @@ -if(EnableQt5) +if(DTK5) qtquick_compiler_add_resources(MAINCOMPONENT_RCC_SOURCES maincomponent.qrc) -endif() -if(EnableQt6) +else() qt_add_resources(MAINCOMPONENT_RCC_SOURCES maincomponent.qrc) endif() diff --git a/tests/apploaderplugindump/preloadplugin/CMakeLists.txt b/tests/apploaderplugindump/preloadplugin/CMakeLists.txt index 9865ce962..74c582f08 100644 --- a/tests/apploaderplugindump/preloadplugin/CMakeLists.txt +++ b/tests/apploaderplugindump/preloadplugin/CMakeLists.txt @@ -1,7 +1,6 @@ -if(EnableQt5) +if(DTK5) qtquick_compiler_add_resources(PRELOAD_RCC_SOURCES preload.qrc) -endif() -if(EnableQt6) +else() qt_add_resources(PRELOAD_RCC_SOURCES preload.qrc) endif()