From a82a283b4bbf98f6502a052482fbf280e8b1a0c0 Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Thu, 18 Nov 2021 09:06:50 -0500 Subject: [PATCH 01/17] CMakeLists.txt - increase min Qt to version 5.15 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cc8f6e69..55bb7a39 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -132,7 +132,7 @@ if(${PROJECT_NAME}_QT6) set(${PROJECT_NAME}_LIBRARY_QTID "-qt6") else() set(Qt_VERSION_MAJOR 5) - set(QT_MIN_VERSION "5.12") + set(QT_MIN_VERSION "5.15") find_package(Qt5Widgets ${QT_MIN_VERSION} REQUIRED) find_package(Qt5Test ${QT_MIN_VERSION} REQUIRED) set(${PROJECT_NAME}_LIBRARY_QTID "") From 9e2b1d3e447bd652e0c7c28c567e016a252b65cd Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Fri, 19 Nov 2021 08:33:43 -0500 Subject: [PATCH 02/17] move github CI to appveyor for all platforms --- .travis.yml | 66 ---------------------------------------------------- appveyor.yml | 24 ++++++++++++------- 2 files changed, 15 insertions(+), 75 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 41dd4c67..00000000 --- a/.travis.yml +++ /dev/null @@ -1,66 +0,0 @@ -env: - global: - - secure: "NlWO/NTPlOU6cowOMuPOvjAprXVwIjmpHHf9CoMR71E2c/eBFFKIHj10kXuyFwz2KihHAIExmo9OlGtGniNWobvIrVrabO3dsOSb6UGbPAQkzQiyQLKsDNQAZx3nMuWEKBtMsVRee6rd7/2uGTY4WB5Ot3VhrUYcN1FoRgQQ9gk=" - -branches: - only: - - master - -matrix: - include: - - os: linux - dist: bionic - - os: osx - osx_image: xcode11.5 - env: - - QT_SELECT=qt5 - - CMAKE_PREFIX_PATH=/usr/local/opt/qt - -language: cpp -compiler: - - gcc - - clang - -script: - - mkdir build - - cd build - - cmake -DCMAKE_BUILD_TYPE=Release -DKDDockWidgets_TESTS=True -KDDockWidgets_EXAMPLES=True -DKDDockWidgets_DEVELOPER_MODE=True .. - - make - - make test - -notifications: - email: - recipients: - - allen.winter@kdab.com - - sergio.martins@kdab.com - on_success: never - on_failure: always - -dist: bionic -addons: - apt: - update: true - packages: - - qt5-default - - qtbase5-dev - - qtbase5-dev-tools - - qtbase5-private-dev - - qttools5-dev - - qttools5-dev-tools - - qtdeclarative5-dev - - qtdeclarative5-dev-tools - - libqt5xmlpatterns5-dev - - libqt5xmlpatterns5 - - qtxmlpatterns5-dev-tools - - libqt5x11extras5-dev - homebrew: - update: true - packages: - - qt5 - coverity_scan: - project: - name: KDAB/KDDockWidgets - notification_email: allen.winter@kdab.com - build_command_prepend: cd build && cmake .. - build_command: make - branch_pattern: coverity_scan diff --git a/appveyor.yml b/appveyor.yml index 459dfcd8..4b3e23ce 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -19,6 +19,8 @@ skip_tags: false # Build worker image image: + - Ubuntu + - macos - Visual Studio 2019 # scripts that are called at very beginning, before repo cloning @@ -36,16 +38,23 @@ platform: # build Configuration, i.e. Debug, Release, etc. configuration: - Release + - Debug install: - - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" - - set QTDIR=C:\Qt\5.15\msvc2019_64 - - set PATH=%QTDIR%\bin;%PATH% + - sh: if [ "`uname -s`" = "Darwin" ]; then brew install ninja; fi + +before_build: + - cmd: call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" + build_script: - mkdir build - cd build - - cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DKDDockWidgets_TESTS=True -DKDDockWidgets_EXAMPLES=True -DKDDockWidgets_DEVELOPER_MODE=True .. - - nmake + - cmd: cmake -G Ninja -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DKDDockWidgets_TESTS=True -DKDDockWidgets_EXAMPLES=True -DKDDockWidgets_DEVELOPER_MODE=True .. + - sh: cmake -G Ninja -DCMAKE_BUILD_TYPE=$CONFIGURATION -DKDDockWidgets_TESTS=True -DKDDockWidgets_EXAMPLES=True -DKDDockWidgets_DEVELOPER_MODE=True .. + - cmake --build . + - cmd: cmake --build . --target install + - sh: sudo cmake --build . --target install + - ctest --test-dir . # to disable automatic builds #build: off @@ -54,11 +63,8 @@ build_script: # tests configuration # #---------------------------------# -test_script: - - nmake test - # to disable automatic tests -#test: off +test: off #---------------------------------# From 313a17a96c7189927009ff1813e360eb1910be96 Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Fri, 19 Nov 2021 08:58:07 -0500 Subject: [PATCH 03/17] appveyor.yml - add Qt to PATH --- appveyor.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index 4b3e23ce..e51c851a 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -45,6 +45,8 @@ install: before_build: - cmd: call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" + - cmd: set PATH=C:\Qt\5.15\msvc2019_64;%PATH% + - sh: if [ "`uname -s`" = "Darwin" ]; then export PATH=$HOME/Qt/5.15/clang_64/bin:$PATH; else export PATH=$HOME/Qt/5.15/gcc_64/bin:$PATH; fi build_script: - mkdir build From f0fa0281bfcd3ff577466f4fa914574b5e01cc53 Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Fri, 19 Nov 2021 09:59:56 -0500 Subject: [PATCH 04/17] CMakeLists.txt - fix default install location on Windows --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 55bb7a39..4762f08b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -230,7 +230,7 @@ if(KDAB_INSTALL) if(UNIX) set(CMAKE_INSTALL_PREFIX "/usr/local/KDAB/${PROJECT_NAME}-${${PROJECT_NAME}_VERSION}" CACHE INTERNAL "Install to default KDAB Location") elseif(WIN32) - set(CMAKE_INSTALL_PREFIX "C:\\KDAB\\${PROJECT_NAME}-$$VERSION" CACHE INTERNAL "Install to default KDAB Location") + set(CMAKE_INSTALL_PREFIX "C:\\KDAB\\${PROJECT_NAME}-${${PROJECT_NAME}_VERSION}" CACHE INTERNAL "Install to default KDAB Location") endif() endif() From 0c291116b9fd7d6aead5f021a6204973ddf72ab4 Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Fri, 19 Nov 2021 10:05:07 -0500 Subject: [PATCH 05/17] appveyor.yml - install mesa on ubuntu --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index e51c851a..9c2bae94 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -41,7 +41,7 @@ configuration: - Debug install: - - sh: if [ "`uname -s`" = "Darwin" ]; then brew install ninja; fi + - sh: if [ "`uname -s`" = "Darwin" ]; then brew install ninja; else sudo get-apt -y install mesa-common-dev libglu1-mesa-dev; fi before_build: - cmd: call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" From 8845fae1475977862586c389caca4873ca72be2c Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Fri, 19 Nov 2021 10:23:55 -0500 Subject: [PATCH 06/17] appveyor.yml - fix typo --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 9c2bae94..caa8eb07 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -41,7 +41,7 @@ configuration: - Debug install: - - sh: if [ "`uname -s`" = "Darwin" ]; then brew install ninja; else sudo get-apt -y install mesa-common-dev libglu1-mesa-dev; fi + - sh: if [ "`uname -s`" = "Darwin" ]; then brew install ninja; else sudo apt-get -y install mesa-common-dev libglu1-mesa-dev; fi before_build: - cmd: call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" From 50c3f9b899bf947e27711bf6656498f44ed4c874 Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Fri, 19 Nov 2021 11:00:44 -0500 Subject: [PATCH 07/17] appveyor.yml - add bin to PATH on Windows to fix 'ctest' on Windows --- appveyor.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index caa8eb07..f04f2926 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -51,11 +51,12 @@ before_build: build_script: - mkdir build - cd build - - cmd: cmake -G Ninja -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DKDDockWidgets_TESTS=True -DKDDockWidgets_EXAMPLES=True -DKDDockWidgets_DEVELOPER_MODE=True .. - - sh: cmake -G Ninja -DCMAKE_BUILD_TYPE=$CONFIGURATION -DKDDockWidgets_TESTS=True -DKDDockWidgets_EXAMPLES=True -DKDDockWidgets_DEVELOPER_MODE=True .. + - cmd: cmake -G Ninja -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DKDDockWidgets_TESTS=True -DKDDockWidgets_EXAMPLES=True -DKDDockWidgets_DEVELOPER_MODE=True .. + - sh: cmake -G Ninja -DCMAKE_BUILD_TYPE=$CONFIGURATION -DKDDockWidgets_TESTS=True -DKDDockWidgets_EXAMPLES=True -DKDDockWidgets_DEVELOPER_MODE=True .. - cmake --build . - cmd: cmake --build . --target install - sh: sudo cmake --build . --target install + - cmd: set PATH=.\bin;%PATH% - ctest --test-dir . # to disable automatic builds From d3a3e7502e4ae4314f407a1346e77b22ec9bbd73 Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Fri, 19 Nov 2021 12:22:20 -0500 Subject: [PATCH 08/17] appveyor.yml - temporarily disable testing on Windows until I have the time to figure out a proper solution --- appveyor.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index f04f2926..69808ffa 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -57,7 +57,9 @@ build_script: - cmd: cmake --build . --target install - sh: sudo cmake --build . --target install - cmd: set PATH=.\bin;%PATH% - - ctest --test-dir . + #temporarily disable testing on Windows + #- ctest --test-dir . + - sh: ctest --test-dir . # to disable automatic builds #build: off From 5376ceec7eee8ceeeb4882251d4690261f41a345 Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Fri, 19 Nov 2021 15:39:19 -0500 Subject: [PATCH 09/17] prep for the 1.5.0 release --- CMakeLists.txt | 4 ++-- Changelog | 2 +- distro/debian.changelog | 6 ++++++ distro/debian.control | 3 +-- distro/qt5-kddockwidgets.dsc | 5 +++-- distro/qt5-kddockwidgets.spec | 4 +++- distro/qt6-kddockwidgets.dsc | 5 +++-- distro/qt6-kddockwidgets.spec | 4 +++- 8 files changed, 22 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4762f08b..6c174b89 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,8 +89,8 @@ else() endif() set(${PROJECT_NAME}_VERSION_MAJOR 1) -set(${PROJECT_NAME}_VERSION_MINOR 4) -set(${PROJECT_NAME}_VERSION_PATCH 98) +set(${PROJECT_NAME}_VERSION_MINOR 5) +set(${PROJECT_NAME}_VERSION_PATCH 0) set(${PROJECT_NAME}_VERSION ${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH}) set(PROJECT_VERSION ${${PROJECT_NAME}_VERSION}) #PROJECT_VERSION is needed by some ECM modules set(${PROJECT_NAME}_SOVERSION "1.5") diff --git a/Changelog b/Changelog index 24ca240b..80df9edc 100644 --- a/Changelog +++ b/Changelog @@ -1,4 +1,4 @@ -* v1.5.0 (unreleased) +* v1.5.0 (19 Novembe 2021) - Install the Python bindings to "site-packages" - The Python bindings for Qt6 use the "PyKDDockWidgetsQt6" namespace - Co-installable with Qt6 diff --git a/distro/debian.changelog b/distro/debian.changelog index b810eb59..d2cd7acb 100644 --- a/distro/debian.changelog +++ b/distro/debian.changelog @@ -1,3 +1,9 @@ +kddockwidgets (1.5.0) release candidate; urgency=high + + * 1.5.0 final + + -- Allen Winter Fri, 19 Nov 2021 15:30:00 -0500 + kddockwidgets (1.4.0) release candidate; urgency=high * 1.4.0 final diff --git a/distro/debian.control b/distro/debian.control index 9d45e4ef..cf9a7a7b 100644 --- a/distro/debian.control +++ b/distro/debian.control @@ -6,7 +6,6 @@ Build-Depends: debhelper (>=9), cdbs, cmake Standards-Version: 3.9.6 Homepage: https://github.com/KDAB/KDDockWidgets -Package: kddockwidgets Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} -Description: KDAB's Dock Widget Framework for Qt +Description: KDAB's Dock Widget Framework for Qt diff --git a/distro/qt5-kddockwidgets.dsc b/distro/qt5-kddockwidgets.dsc index 045820d4..13174864 100644 --- a/distro/qt5-kddockwidgets.dsc +++ b/distro/qt5-kddockwidgets.dsc @@ -1,10 +1,11 @@ Format: 1.0 Source: kddockwidgets -Version: 1.4.0-1 +Version: 1.5.0-1 Binary: kddockwidgets Maintainer: Allen Winter Architecture: any Build-Depends: debhelper (>=9), cdbs, cmake, qtbase5-dev, libqt5x11extras5-dev +Package: qt5-kddockwidgets Files: - 00000000000000000000000000000000 00000 qt5-kddockwidgets-1.4.0.tar.gz + 00000000000000000000000000000000 00000 qt5-kddockwidgets-1.5.0.tar.gz diff --git a/distro/qt5-kddockwidgets.spec b/distro/qt5-kddockwidgets.spec index 37caeb71..7bdfd40a 100644 --- a/distro/qt5-kddockwidgets.spec +++ b/distro/qt5-kddockwidgets.spec @@ -1,5 +1,5 @@ Name: qt5-kddockwidgets -Version: 1.4.0 +Version: 1.5.0 Release: 1 Summary: KDAB's Dock Widget Framework for Qt5 Source0: %{name}-%{version}.tar.gz @@ -98,6 +98,8 @@ cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release %{_libdir}/libkddockwidgets.so %changelog +* Fri Nov 19 2021 Allen Winter 1.5.0 + 1.5.0 final * Fri Jul 16 2021 Allen Winter 1.4.0 1.4.0 final * Mon Jun 07 2021 Allen Winter 1.3.1 diff --git a/distro/qt6-kddockwidgets.dsc b/distro/qt6-kddockwidgets.dsc index 9f42dc49..b208e5ff 100644 --- a/distro/qt6-kddockwidgets.dsc +++ b/distro/qt6-kddockwidgets.dsc @@ -1,10 +1,11 @@ Format: 1.0 Source: kddockwidgets -Version: 1.4.0-1 +Version: 1.5.0-1 Binary: kddockwidgets Maintainer: Allen Winter Architecture: any Build-Depends: debhelper (>=9), cdbs, cmake, qtbase6-dev, libqt6x11extras5-dev +Package: qt6-kddockwidgets Files: - 00000000000000000000000000000000 00000 qt6-kddockwidgets-1.4.0.tar.gz + 00000000000000000000000000000000 00000 qt6-kddockwidgets-1.5.0.tar.gz diff --git a/distro/qt6-kddockwidgets.spec b/distro/qt6-kddockwidgets.spec index 18390698..5c11f616 100644 --- a/distro/qt6-kddockwidgets.spec +++ b/distro/qt6-kddockwidgets.spec @@ -1,5 +1,5 @@ Name: qt6-kddockwidgets -Version: 1.4.0 +Version: 1.5.0 Release: 1 Summary: KDAB's Dock Widget Framework for Qt6 Source0: %{name}-%{version}.tar.gz @@ -87,6 +87,8 @@ cmake . -DCMAKE_INSTALL_PREFIX=/usr -DKDDockWidgets_QT6=True -DCMAKE_BUILD_TYPE= #%{_prefix}/mkspecs/modules/* ECMGeneratePriFile isn't ported to Qt6 yet %changelog +* Fri Nov 19 2021 Allen Winter 1.5.0 + 1.5.0 final * Fri Jul 16 2021 Allen Winter 1.4.0 1.4.0 final * Mon Jun 07 2021 Allen Winter 1.3.1 From 1419db80a2b51b0be8f483d02beb1134ef9366f4 Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Fri, 19 Nov 2021 17:24:14 -0500 Subject: [PATCH 10/17] OBS distro fixes --- distro/{debian.control => qt5-debian.control} | 1 + distro/qt5-kddockwidgets.dsc | 3 +-- distro/qt5-kddockwidgets.spec | 4 ++-- distro/qt6-debian.control | 12 ++++++++++++ distro/qt6-kddockwidgets.dsc | 3 +-- distro/qt6-kddockwidgets.spec | 6 +++--- 6 files changed, 20 insertions(+), 9 deletions(-) rename distro/{debian.control => qt5-debian.control} (92%) create mode 100644 distro/qt6-debian.control diff --git a/distro/debian.control b/distro/qt5-debian.control similarity index 92% rename from distro/debian.control rename to distro/qt5-debian.control index cf9a7a7b..8b6c97f0 100644 --- a/distro/debian.control +++ b/distro/qt5-debian.control @@ -6,6 +6,7 @@ Build-Depends: debhelper (>=9), cdbs, cmake Standards-Version: 3.9.6 Homepage: https://github.com/KDAB/KDDockWidgets +Package: qt5-kddockwidgets Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} Description: KDAB's Dock Widget Framework for Qt diff --git a/distro/qt5-kddockwidgets.dsc b/distro/qt5-kddockwidgets.dsc index 13174864..4202d750 100644 --- a/distro/qt5-kddockwidgets.dsc +++ b/distro/qt5-kddockwidgets.dsc @@ -4,8 +4,7 @@ Version: 1.5.0-1 Binary: kddockwidgets Maintainer: Allen Winter Architecture: any -Build-Depends: debhelper (>=9), cdbs, cmake, qtbase5-dev, libqt5x11extras5-dev -Package: qt5-kddockwidgets +Build-Depends: debhelper (>=9), cdbs, cmake, qtbase5-dev, qtbase5-private-dev, libqt5x11extras5-dev, libfontconfig-dev Files: 00000000000000000000000000000000 00000 qt5-kddockwidgets-1.5.0.tar.gz diff --git a/distro/qt5-kddockwidgets.spec b/distro/qt5-kddockwidgets.spec index 7bdfd40a..77e5fd43 100644 --- a/distro/qt5-kddockwidgets.spec +++ b/distro/qt5-kddockwidgets.spec @@ -18,11 +18,11 @@ BuildRequires: libqt5-qtbase-devel libqt5-qtx11extras-devel %endif %if %{defined fedora} -BuildRequires: gcc-c++ qt5-qtbase-devel qt5-qtx11extras-devel desktop-file-utils +BuildRequires: gcc-c++ qt5-qtbase-devel qt5-qtbase-private-devel qt5-qtx11extras-devel desktop-file-utils %endif %if %{defined rhel} -BuildRequires: gcc-c++ qt5-qtbase-devel qt5-qtx11extras-devel desktop-file-utils +BuildRequires: gcc-c++ qt5-qtbase-devel qt5-qtbase-private-devel qt5-qtx11extras-devel desktop-file-utils %endif %description diff --git a/distro/qt6-debian.control b/distro/qt6-debian.control new file mode 100644 index 00000000..7e50fe0e --- /dev/null +++ b/distro/qt6-debian.control @@ -0,0 +1,12 @@ +Source: kddockwidgets +Section: Miscellaneous +Priority: optional +Maintainer: Allen Winter +Build-Depends: debhelper (>=9), cdbs, cmake +Standards-Version: 3.9.6 +Homepage: https://github.com/KDAB/KDDockWidgets + +Package: qt6-kddockwidgets +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: KDAB's Dock Widget Framework for Qt diff --git a/distro/qt6-kddockwidgets.dsc b/distro/qt6-kddockwidgets.dsc index b208e5ff..66a788e5 100644 --- a/distro/qt6-kddockwidgets.dsc +++ b/distro/qt6-kddockwidgets.dsc @@ -4,8 +4,7 @@ Version: 1.5.0-1 Binary: kddockwidgets Maintainer: Allen Winter Architecture: any -Build-Depends: debhelper (>=9), cdbs, cmake, qtbase6-dev, libqt6x11extras5-dev -Package: qt6-kddockwidgets +Build-Depends: debhelper (>=9), cdbs, cmake, qtbase6-dev, qtbase6-private-dev, libqt6x11extras5-dev, libfontconfig-dev Files: 00000000000000000000000000000000 00000 qt6-kddockwidgets-1.5.0.tar.gz diff --git a/distro/qt6-kddockwidgets.spec b/distro/qt6-kddockwidgets.spec index 5c11f616..e3001258 100644 --- a/distro/qt6-kddockwidgets.spec +++ b/distro/qt6-kddockwidgets.spec @@ -14,15 +14,15 @@ Packager: Klaralvdalens Datakonsult AB (KDAB) BuildRequires: cmake %if %{defined suse_version} -BuildRequires: libqt6-qtbase-devel libqt6-qtx11extras-devel +BuildRequires: libqt6-qtbase-devel libqt6-qtbase-private-headers-devel libqt6-qtx11extras-devel %endif %if %{defined fedora} -BuildRequires: gcc-c++ qt6-qtbase-devel desktop-file-utils +BuildRequires: gcc-c++ qt6-qtbase-devel qt6-qtbase-private-devel desktop-file-utils libxkbcommon-devel %endif %if %{defined rhel} -BuildRequires: gcc-c++ qt6-qtbase-devel qt6-qtx11extras-devel desktop-file-utils +BuildRequires: gcc-c++ qt6-qtbase-devel qt6-qtbase-private-devel qt6-qtx11extras-devel desktop-file-utils libxkbcommon-devel %endif %description From 3007b46892299721ab7045372245480d2f7625f5 Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Mon, 22 Nov 2021 08:16:54 -0500 Subject: [PATCH 11/17] ready for 1.5 release --- Changelog | 2 +- distro/debian.changelog | 2 +- distro/qt5-kddockwidgets.spec | 2 +- distro/qt6-kddockwidgets.spec | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Changelog b/Changelog index 80df9edc..ceacb165 100644 --- a/Changelog +++ b/Changelog @@ -1,4 +1,4 @@ -* v1.5.0 (19 Novembe 2021) +* v1.5.0 (22 November 2021) - Install the Python bindings to "site-packages" - The Python bindings for Qt6 use the "PyKDDockWidgetsQt6" namespace - Co-installable with Qt6 diff --git a/distro/debian.changelog b/distro/debian.changelog index d2cd7acb..8812f32a 100644 --- a/distro/debian.changelog +++ b/distro/debian.changelog @@ -2,7 +2,7 @@ kddockwidgets (1.5.0) release candidate; urgency=high * 1.5.0 final - -- Allen Winter Fri, 19 Nov 2021 15:30:00 -0500 + -- Allen Winter Mon, 22 Nov 2021 08:00:00 -0500 kddockwidgets (1.4.0) release candidate; urgency=high diff --git a/distro/qt5-kddockwidgets.spec b/distro/qt5-kddockwidgets.spec index 77e5fd43..f9b44068 100644 --- a/distro/qt5-kddockwidgets.spec +++ b/distro/qt5-kddockwidgets.spec @@ -98,7 +98,7 @@ cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release %{_libdir}/libkddockwidgets.so %changelog -* Fri Nov 19 2021 Allen Winter 1.5.0 +* Mon Nov 22 2021 Allen Winter 1.5.0 1.5.0 final * Fri Jul 16 2021 Allen Winter 1.4.0 1.4.0 final diff --git a/distro/qt6-kddockwidgets.spec b/distro/qt6-kddockwidgets.spec index e3001258..58d91a4c 100644 --- a/distro/qt6-kddockwidgets.spec +++ b/distro/qt6-kddockwidgets.spec @@ -87,7 +87,7 @@ cmake . -DCMAKE_INSTALL_PREFIX=/usr -DKDDockWidgets_QT6=True -DCMAKE_BUILD_TYPE= #%{_prefix}/mkspecs/modules/* ECMGeneratePriFile isn't ported to Qt6 yet %changelog -* Fri Nov 19 2021 Allen Winter 1.5.0 +* Mon Nov 22 2021 Allen Winter 1.5.0 1.5.0 final * Fri Jul 16 2021 Allen Winter 1.4.0 1.4.0 final From 2be0d5d1d999e09b5f049c1174d7698873c10845 Mon Sep 17 00:00:00 2001 From: Sergio Martins Date: Wed, 24 Nov 2021 10:04:52 +0000 Subject: [PATCH 12/17] Add a warning about using private headers and ABI compat --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 114c4f28..e27b1cd4 100644 --- a/README.md +++ b/README.md @@ -160,6 +160,10 @@ Qt StyleSheets are not, and will not, be supported. See the comments in `examples/dockwidgets/MyTitleBar_CSS.h` for why. You can however use some minimal CSS, as shown in that example, just don't report bugs about it. +Warning: When using private headers, be sure to rebuild your application whenever you +update to a new KDDW version. Binary compatibility is only kept when using public +headers. + Licensing ========= From fc172b66f8dce9d011548196e18dd48ca53711fa Mon Sep 17 00:00:00 2001 From: Sergio Martins Date: Wed, 24 Nov 2021 11:16:36 +0000 Subject: [PATCH 13/17] Explain that changing window manager flags isn't portable This restriction comes from Qt itself, not from KDDW. Relates to bug #256 I will however try to reproduce it --- src/Config.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Config.h b/src/Config.h index 2f7a6570..8ab00c78 100644 --- a/src/Config.h +++ b/src/Config.h @@ -61,6 +61,9 @@ public: ~Config(); ///@brief Flag enum to tune certain behaviours, the defaults are Flag_Default + ///@warning Only the default is supported on all platforms. Not all options work with all window managers, + /// Qt does its best to abstract the differences however that's only a best effort. This is true specially + /// for any option that changes window flags. enum Flag { Flag_None = 0, ///< No option set From 07a135a10a104b3165c4bc00396d5380ac0e920c Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Wed, 24 Nov 2021 12:13:52 -0500 Subject: [PATCH 14/17] ECMGeneratePriFile.cmake - restore "Fix issues with pri file" commit b81c32b1c99de7b75858b117568c276d6318b6f4 Author: Jacob Young Date: Mon Dec 28 20:46:28 2020 -0500 --- cmake/ECM/modules/ECMGeneratePriFile.cmake | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/cmake/ECM/modules/ECMGeneratePriFile.cmake b/cmake/ECM/modules/ECMGeneratePriFile.cmake index 63139aef..f60c60a5 100644 --- a/cmake/ECM/modules/ECMGeneratePriFile.cmake +++ b/cmake/ECM/modules/ECMGeneratePriFile.cmake @@ -203,7 +203,6 @@ function(ECM_GENERATE_PRI_FILE) else() set(PRI_TARGET_LIBS "${BASEPATH}/${EGPF_LIB_INSTALL_DIR}") endif() - set(PRI_TARGET_DEFINES "") set(PRI_FILENAME ${CMAKE_CURRENT_BINARY_DIR}/qt_${PRI_TARGET_BASENAME}.pri) if (EGPF_FILENAME_VAR) @@ -211,6 +210,8 @@ function(ECM_GENERATE_PRI_FILE) endif() set(PRI_TARGET_MODULE_CONFIG "") + set(PRI_TARGET_DEFINES "") + set(PRI_TARGET_POSTFIX "") # backward compat: it was not obvious LIB_NAME needs to be a target name, # and some projects where the target name was not the actual library output name # passed the output name for LIB_NAME, so .name & .module prperties are correctly set. @@ -220,6 +221,10 @@ function(ECM_GENERATE_PRI_FILE) if (target_type STREQUAL "STATIC_LIBRARY") set(PRI_TARGET_MODULE_CONFIG "staticlib") endif() + get_target_property(target_defs ${EGPF_LIB_NAME} INTERFACE_COMPILE_DEFINITIONS) + list(FILTER target_defs EXCLUDE REGEX ^QT_) + string(JOIN " " PRI_TARGET_DEFINES "${target_defs}") + set(PRI_TARGET_POSTFIX "$$<$:Debug>>_POSTFIX>") endif() file(GENERATE @@ -230,8 +235,8 @@ QT.${PRI_TARGET_BASENAME}.MAJOR_VERSION = ${PRI_VERSION_MAJOR} QT.${PRI_TARGET_BASENAME}.MINOR_VERSION = ${PRI_VERSION_MINOR} QT.${PRI_TARGET_BASENAME}.PATCH_VERSION = ${PRI_VERSION_PATCH} QT.${PRI_TARGET_BASENAME}.name = ${PRI_TARGET_LIBNAME} -QT.${PRI_TARGET_BASENAME}.module = ${PRI_TARGET_LIBNAME} -QT.${PRI_TARGET_BASENAME}.defines = ${PRI_TARGET_DEFINES} +QT.${PRI_TARGET_BASENAME}.module = ${PRI_TARGET_LIBNAME}${PRI_TARGET_POSTFIX} +QT.${PRI_TARGET_BASENAME}.DEFINES = ${PRI_TARGET_DEFINES} QT.${PRI_TARGET_BASENAME}.includes = ${PRI_TARGET_INCLUDES} QT.${PRI_TARGET_BASENAME}.private_includes = QT.${PRI_TARGET_BASENAME}.libs = ${PRI_TARGET_LIBS} From 573e82e9eb7a8f5fb7ce04d2754a185ff235fc14 Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Wed, 24 Nov 2021 12:20:15 -0500 Subject: [PATCH 15/17] update 1.5.0 release date --- Changelog | 2 +- distro/debian.changelog | 2 +- distro/qt5-kddockwidgets.spec | 2 +- distro/qt6-kddockwidgets.spec | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Changelog b/Changelog index ceacb165..061344c9 100644 --- a/Changelog +++ b/Changelog @@ -1,4 +1,4 @@ -* v1.5.0 (22 November 2021) +* v1.5.0 (24 November 2021) - Install the Python bindings to "site-packages" - The Python bindings for Qt6 use the "PyKDDockWidgetsQt6" namespace - Co-installable with Qt6 diff --git a/distro/debian.changelog b/distro/debian.changelog index 8812f32a..be5d72b0 100644 --- a/distro/debian.changelog +++ b/distro/debian.changelog @@ -2,7 +2,7 @@ kddockwidgets (1.5.0) release candidate; urgency=high * 1.5.0 final - -- Allen Winter Mon, 22 Nov 2021 08:00:00 -0500 + -- Allen Winter Mon, 24 Nov 2021 12:00:00 -0500 kddockwidgets (1.4.0) release candidate; urgency=high diff --git a/distro/qt5-kddockwidgets.spec b/distro/qt5-kddockwidgets.spec index f9b44068..dcec0006 100644 --- a/distro/qt5-kddockwidgets.spec +++ b/distro/qt5-kddockwidgets.spec @@ -98,7 +98,7 @@ cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release %{_libdir}/libkddockwidgets.so %changelog -* Mon Nov 22 2021 Allen Winter 1.5.0 +* Mon Nov 24 2021 Allen Winter 1.5.0 1.5.0 final * Fri Jul 16 2021 Allen Winter 1.4.0 1.4.0 final diff --git a/distro/qt6-kddockwidgets.spec b/distro/qt6-kddockwidgets.spec index 58d91a4c..8523a038 100644 --- a/distro/qt6-kddockwidgets.spec +++ b/distro/qt6-kddockwidgets.spec @@ -87,7 +87,7 @@ cmake . -DCMAKE_INSTALL_PREFIX=/usr -DKDDockWidgets_QT6=True -DCMAKE_BUILD_TYPE= #%{_prefix}/mkspecs/modules/* ECMGeneratePriFile isn't ported to Qt6 yet %changelog -* Mon Nov 22 2021 Allen Winter 1.5.0 +* Mon Nov 24 2021 Allen Winter 1.5.0 1.5.0 final * Fri Jul 16 2021 Allen Winter 1.4.0 1.4.0 final From 9990300006854afa4b4fa796912da067e770046a Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Wed, 24 Nov 2021 12:32:06 -0500 Subject: [PATCH 16/17] distro/qt5-kddockwidgets.spec - add BuildRequires for SUSE libqt5-qtbase-private-headers-devel is needed --- distro/qt5-kddockwidgets.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/distro/qt5-kddockwidgets.spec b/distro/qt5-kddockwidgets.spec index dcec0006..5066ef13 100644 --- a/distro/qt5-kddockwidgets.spec +++ b/distro/qt5-kddockwidgets.spec @@ -14,7 +14,7 @@ Packager: Klaralvdalens Datakonsult AB (KDAB) BuildRequires: cmake %if %{defined suse_version} -BuildRequires: libqt5-qtbase-devel libqt5-qtx11extras-devel +BuildRequires: libqt5-qtbase-devel libqt5-qtbase-private-headers-devel libqt5-qtx11extras-devel %endif %if %{defined fedora} From 30185d5b2a3c673b80b78e2881747dbebb30c13b Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Wed, 24 Nov 2021 16:49:11 -0500 Subject: [PATCH 17/17] This is would become version 1.5.1 --- CMakeLists.txt | 2 +- Changelog | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6c174b89..af965663 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -90,7 +90,7 @@ endif() set(${PROJECT_NAME}_VERSION_MAJOR 1) set(${PROJECT_NAME}_VERSION_MINOR 5) -set(${PROJECT_NAME}_VERSION_PATCH 0) +set(${PROJECT_NAME}_VERSION_PATCH 1) set(${PROJECT_NAME}_VERSION ${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH}) set(PROJECT_VERSION ${${PROJECT_NAME}_VERSION}) #PROJECT_VERSION is needed by some ECM modules set(${PROJECT_NAME}_SOVERSION "1.5") diff --git a/Changelog b/Changelog index 061344c9..f55b15c6 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,6 @@ +* v1.5.1 (unreleased) + - + * v1.5.0 (24 November 2021) - Install the Python bindings to "site-packages" - The Python bindings for Qt6 use the "PyKDDockWidgetsQt6" namespace