diff options
Diffstat (limited to 'vcpkg/ports/kddockwidgets')
| -rw-r--r-- | vcpkg/ports/kddockwidgets/dependencies.diff | 38 | ||||
| -rw-r--r-- | vcpkg/ports/kddockwidgets/portfile.cmake | 53 | ||||
| -rw-r--r-- | vcpkg/ports/kddockwidgets/vcpkg.json | 27 |
3 files changed, 118 insertions, 0 deletions
diff --git a/vcpkg/ports/kddockwidgets/dependencies.diff b/vcpkg/ports/kddockwidgets/dependencies.diff new file mode 100644 index 0000000..2d3ceb4 --- /dev/null +++ b/vcpkg/ports/kddockwidgets/dependencies.diff @@ -0,0 +1,38 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 02895b0..c36650f 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -566,7 +566,7 @@ endif() + + if(KDDW_FRONTEND_QT) + install( +- TARGETS kddockwidgets kdbindings ++ TARGETS kddockwidgets + EXPORT kddockwidgetsTargets + RUNTIME DESTINATION ${INSTALL_RUNTIME_DIR} + LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR} +diff --git a/src/KDDockWidgetsConfig.cmake.in b/src/KDDockWidgetsConfig.cmake.in +index fbec60a..31d45e5 100644 +--- a/src/KDDockWidgetsConfig.cmake.in ++++ b/src/KDDockWidgetsConfig.cmake.in +@@ -24,5 +24,8 @@ if (NOT WIN32 AND NOT APPLE AND NOT EMSCRIPTEN AND NOT @KDDockWidgets_QT6@ AND @ + find_dependency(Qt5X11Extras REQUIRED) + endif() + ++find_dependency(KDBindings CONFIG) ++find_dependency(nlohmann_json) ++ + # Add the targets file + include("${CMAKE_CURRENT_LIST_DIR}/KDDockWidgets@KDDockWidgets_LIBRARY_QTID@Targets.cmake") +diff --git a/src/kdbindings.cmake b/src/kdbindings.cmake +index c923cd9..da7ad32 100644 +--- a/src/kdbindings.cmake ++++ b/src/kdbindings.cmake +@@ -11,5 +11,5 @@ + # Use a separate target for our kdbindings/signal.h header as it doesn't compile + # with -Wweak-vtables + +-add_library(kdbindings INTERFACE) +-target_include_directories(kdbindings SYSTEM INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/3rdparty>) ++find_package(KDBindings CONFIG REQUIRED GLOBAL) ++add_library(kdbindings ALIAS KDAB::KDBindings) diff --git a/vcpkg/ports/kddockwidgets/portfile.cmake b/vcpkg/ports/kddockwidgets/portfile.cmake new file mode 100644 index 0000000..d0048f4 --- /dev/null +++ b/vcpkg/ports/kddockwidgets/portfile.cmake @@ -0,0 +1,53 @@ +vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO KDAB/KDDockWidgets
+ REF "v${VERSION}"
+ SHA512 7b88f354e2aca4ac4c0f59874b6a7d6baaf77f5b54dd57b981ec7831e40acc0e2f6d3c6300af3d93c594bf34c7072c6a8a19a50c65039ccae22a9e47b90499d8
+ HEAD_REF master
+ PATCHES
+ dependencies.diff
+)
+file(REMOVE_RECURSE
+ "${SOURCE_PATH}/src/3rdparty"
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KD_STATIC)
+
+if(VCPKG_CROSSCOMPILING)
+ list(APPEND _qarg_OPTIONS
+ "-DQT_HOST_PATH=${CURRENT_HOST_INSTALLED_DIR}"
+ "-DQT_HOST_PATH_CMAKE_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share"
+ )
+endif()
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ ${_qarg_OPTIONS}
+ -DKDDockWidgets_QT6=ON
+ -DKDDockWidgets_FRONTENDS=qtwidgets
+ -DKDDockWidgets_STATIC=${KD_STATIC}
+ -DKDDockWidgets_PYTHON_BINDINGS=OFF
+ -DKDDockWidgets_TESTS=OFF
+ -DKDDockWidgets_EXAMPLES=OFF
+ # https://github.com/KDAB/KDDockWidgets/blob/v2.1.0/CMakeLists.txt#L301
+ -DCMAKE_DISABLE_FIND_PACKAGE_spdlog=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_fmt=ON
+ -DCMAKE_REQUIRE_FIND_PACKAGE_nlohmann_json=ON
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/KDDockWidgets-qt6" PACKAGE_NAME kddockwidgets-qt6)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+vcpkg_install_copyright(FILE_LIST
+ "${SOURCE_PATH}/LICENSE.txt"
+ "${SOURCE_PATH}/LICENSES/GPL-2.0-only.txt"
+ "${SOURCE_PATH}/LICENSES/GPL-3.0-only.txt"
+)
diff --git a/vcpkg/ports/kddockwidgets/vcpkg.json b/vcpkg/ports/kddockwidgets/vcpkg.json new file mode 100644 index 0000000..70545ca --- /dev/null +++ b/vcpkg/ports/kddockwidgets/vcpkg.json @@ -0,0 +1,27 @@ +{ + "name": "kddockwidgets", + "version": "2.1.0", + "port-version": 1, + "description": "KDAB's Dock Widget Framework for Qt", + "homepage": "https://www.kdab.com/development-resources/qt-tools/kddockwidgets/", + "license": "GPL-2.0-only OR GPL-3.0-only", + "dependencies": [ + "kdbindings", + "nlohmann-json", + { + "name": "qtbase", + "default-features": false, + "features": [ + "widgets" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |