aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/dbus-cxx
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/dbus-cxx
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/dbus-cxx')
-rw-r--r--vcpkg/ports/dbus-cxx/create-cmakeconfig.patch85
-rw-r--r--vcpkg/ports/dbus-cxx/portfile.cmake44
-rw-r--r--vcpkg/ports/dbus-cxx/use-cmakeconfig.patch132
-rw-r--r--vcpkg/ports/dbus-cxx/vcpkg.json40
4 files changed, 301 insertions, 0 deletions
diff --git a/vcpkg/ports/dbus-cxx/create-cmakeconfig.patch b/vcpkg/ports/dbus-cxx/create-cmakeconfig.patch
new file mode 100644
index 0000000..e727980
--- /dev/null
+++ b/vcpkg/ports/dbus-cxx/create-cmakeconfig.patch
@@ -0,0 +1,85 @@
+diff --git a/cmake/dbus-cxxConfig.cmake.in b/cmake/dbus-cxxConfig.cmake.in
+new file mode 100644
+index 0000000..42181f0
+--- /dev/null
++++ b/cmake/dbus-cxxConfig.cmake.in
+@@ -0,0 +1,79 @@
++@PACKAGE_INIT@
++
++set(dbus-cxx_KNOWN_COMPONENTS "glib" "qt" "uv")
++
++include(CMakeFindDependencyMacro)
++
++find_dependency(Threads)
++find_dependency(sigc++-3)
++
++if(@ENABLE_GLIB_SUPPORT@)
++ find_dependency(PkgConfig)
++ pkg_check_modules(glib REQUIRED IMPORTED_TARGET glib-2.0)
++endif()
++
++if(@ENABLE_UV_SUPPORT@)
++ find_dependency(libuv)
++endif()
++
++if(@ENABLE_QT_SUPPORT@)
++ find_dependency(Qt6 COMPONENTS Core)
++endif()
++
++include("${CMAKE_CURRENT_LIST_DIR}/dbus-cxxTargets.cmake")
++
++if("glib" IN_LIST dbus-cxx_FIND_COMPONENTS)
++ if(@ENABLE_GLIB_SUPPORT@)
++ if(TARGET dbus-cxx::dbus-cxx-glib)
++ set(dbus-cxx_glib_FOUND TRUE)
++ else()
++ set(dbus-cxx_glib_FOUND FALSE)
++ if(dbus-cxx_FIND_REQUIRED_glib)
++ message(FATAL_ERROR "Requested 'glib' component but target 'dbus-cxx::dbus-cxx-glib' is not available.")
++ endif()
++ endif()
++ else()
++ set(dbus-cxx_glib_FOUND FALSE)
++ if(dbus-cxx_FIND_REQUIRED_glib)
++ message(FATAL_ERROR "Requested 'glib' component but dbus-cxx was built without glib support.")
++ endif()
++ endif()
++endif()
++
++if("uv" IN_LIST dbus-cxx_FIND_COMPONENTS)
++ if(@ENABLE_UV_SUPPORT@)
++ if(TARGET dbus-cxx::dbus-cxx-uv)
++ set(dbus-cxx_uv_FOUND TRUE)
++ else()
++ set(dbus-cxx_uv_FOUND FALSE)
++ if(dbus-cxx_FIND_REQUIRED_uv)
++ message(FATAL_ERROR "Requested 'uv' component but target 'dbus-cxx::dbus-cxx-uv' is not available.")
++ endif()
++ endif()
++ else()
++ set(dbus-cxx_uv_FOUND FALSE)
++ if(dbus-cxx_FIND_REQUIRED_uv)
++ message(FATAL_ERROR "Requested 'uv' component but dbus-cxx was built without uv support.")
++ endif()
++ endif()
++endif()
++
++if("qt" IN_LIST dbus-cxx_FIND_COMPONENTS)
++ if(@ENABLE_QT_SUPPORT@)
++ if(TARGET dbus-cxx::dbus-cxx-qt)
++ set(dbus-cxx_qt_FOUND TRUE)
++ else()
++ set(dbus-cxx_qt_FOUND FALSE)
++ if(dbus-cxx_FIND_REQUIRED_qt)
++ message(FATAL_ERROR "Requested 'qt' component but target 'dbus-cxx::dbus-cxx-qt' is not available.")
++ endif()
++ endif()
++ else()
++ set(dbus-cxx_qt_FOUND FALSE)
++ if(dbus-cxx_FIND_REQUIRED_qt)
++ message(FATAL_ERROR "Requested 'qt' component but dbus-cxx was built without qt support.")
++ endif()
++ endif()
++endif()
++
++check_required_components(dbus-cxx)
diff --git a/vcpkg/ports/dbus-cxx/portfile.cmake b/vcpkg/ports/dbus-cxx/portfile.cmake
new file mode 100644
index 0000000..cbcbb22
--- /dev/null
+++ b/vcpkg/ports/dbus-cxx/portfile.cmake
@@ -0,0 +1,44 @@
+vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO dbus-cxx/dbus-cxx
+ REF "${VERSION}"
+ SHA512 ad6551d03d0c7d499e9f0c6d77584e39d361a1464017be3c40c237d4c43306ad0ffb49b52c06b89cd62ec7346ebcb29f3d166a31b245fd978159e337a08ebafb
+ HEAD_REF master
+ PATCHES
+ create-cmakeconfig.patch
+ use-cmakeconfig.patch
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ "glib" ENABLE_GLIB_SUPPORT
+ "libuv" ENABLE_UV_SUPPORT
+ "qt6" ENABLE_QT_SUPPORT
+)
+
+if (EXISTS "${CURRENT_INSTALLED_DIR}/lib/pkgconfig/libuv-static.pc")
+ set(UV_STATIC ON)
+else ()
+ set(UV_STATIC OFF)
+endif ()
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ ${FEATURE_OPTIONS}
+ -DBUILD_TESTING=OFF
+ -DENABLE_CODE_COVERAGE_REPORT=OFF
+ -DENABLE_EXAMPLES=OFF
+ -DENABLE_TOOLS=OFF
+ -DBUILD_SITE=OFF
+ -DUV_STATIC=${UV_STATIC}
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(PACKAGE_NAME "dbus-cxx" CONFIG_PATH "lib/cmake/dbus-cxx")
+vcpkg_fixup_pkgconfig()
+vcpkg_copy_pdbs()
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
diff --git a/vcpkg/ports/dbus-cxx/use-cmakeconfig.patch b/vcpkg/ports/dbus-cxx/use-cmakeconfig.patch
new file mode 100644
index 0000000..c8a139f
--- /dev/null
+++ b/vcpkg/ports/dbus-cxx/use-cmakeconfig.patch
@@ -0,0 +1,132 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0030f17..0e19089 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -23,7 +23,6 @@ include( CTest )
+ include( CheckCXXSymbolExists )
+ include( CheckCXXCompilerFlag )
+ IF( CMAKE_BUILD_TYPE MATCHES Debug )
+-include( CodeCoverage )
+ ENDIF( CMAKE_BUILD_TYPE MATCHES Debug )
+
+ find_package(PkgConfig REQUIRED)
+@@ -36,7 +35,8 @@ set( DBUS_CXX_INCLUDE_VERSION 2.0 )
+ set( PKG_VERSION ${dbus-cxx_VERSION} )
+
+ # Our required dependencies: libsigc++ 3.0
+-pkg_check_modules( sigc REQUIRED IMPORTED_TARGET sigc++-3.0 )
++find_package(sigc++-3 CONFIG REQUIRED)
++add_library(PkgConfig::sigc ALIAS sigc-3.0)
+
+ #
+ # Check our options
+@@ -355,18 +355,26 @@ INSTALL( FILES "${PROJECT_BINARY_DIR}/dbus-cxx-2.0.pc"
+ # Support for find_package
+ #
+ install(EXPORT dbus-cxxTargets
+- FILE dbus-cxxConfig.cmake
+- NAMESPACE dbus-cxx::
++ FILE dbus-cxxTargets.cmake
++ NAMESPACE dbus-cxx::
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/dbus-cxx
+ )
+
+ include(CMakePackageConfigHelpers)
+-write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/dbus-cxxConfigVersion.cmake"
++write_basic_package_version_file(
++ "${CMAKE_CURRENT_BINARY_DIR}/dbus-cxxConfigVersion.cmake"
+ VERSION ${PROJECT_VERSION}
+ COMPATIBILITY SameMajorVersion
+ )
+-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/dbus-cxxConfigVersion.cmake"
+- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/dbus-cxx
++configure_package_config_file(
++ "${PROJECT_SOURCE_DIR}/cmake/dbus-cxxConfig.cmake.in"
++ "${CMAKE_CURRENT_BINARY_DIR}/dbus-cxxConfig.cmake"
++ INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dbus-cxx"
++)
++install(FILES
++ "${CMAKE_CURRENT_BINARY_DIR}/dbus-cxxConfig.cmake"
++ "${CMAKE_CURRENT_BINARY_DIR}/dbus-cxxConfigVersion.cmake"
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dbus-cxx"
+ )
+
+ #
+diff --git a/dbus-cxx-glib/CMakeLists.txt b/dbus-cxx-glib/CMakeLists.txt
+index 6b98f27..87c245c 100644
+--- a/dbus-cxx-glib/CMakeLists.txt
++++ b/dbus-cxx-glib/CMakeLists.txt
+@@ -67,6 +67,6 @@ INSTALL( FILES "${CMAKE_CURRENT_BINARY_DIR}/dbus-cxx-glib-2.0.pc"
+ install( TARGETS dbus-cxx-glib
+ EXPORT dbus-cxxTargets
+ COMPONENT glib
+- PUBLIC_HEADER DESTINATION include/dbus-cxx-glib-${DBUS_CXX_INCLUDE_VERSION}
+- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" )
++ PUBLIC_HEADER DESTINATION include/dbus-cxx-glib-${DBUS_CXX_INCLUDE_VERSION} COMPONENT glib
++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT glib
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT glib)
+diff --git a/dbus-cxx-qt/CMakeLists.txt b/dbus-cxx-qt/CMakeLists.txt
+index 9c637ed..a7b75ca 100644
+--- a/dbus-cxx-qt/CMakeLists.txt
++++ b/dbus-cxx-qt/CMakeLists.txt
+@@ -16,7 +16,7 @@ set(CMAKE_AUTOMOC ON)
+ set(CMAKE_AUTORCC ON)
+ set(CMAKE_AUTOUIC ON)
+
+-find_package(Qt5 COMPONENTS Core REQUIRED)
++find_package(Qt6 COMPONENTS Core REQUIRED)
+
+ set( dbus-cxx-qt-headers dbus-cxx-qt.h qtthreaddispatcher.h qtdispatcher.h )
+ set( dbus-cxx-qt-sources dbus-cxx-qt.cpp qtthreaddispatcher.cpp qtdispatcher.cpp )
+@@ -28,7 +28,7 @@ set_target_properties( dbus-cxx-qt PROPERTIES
+ VERSION 2.0.0 SOVERSION 2
+ PUBLIC_HEADER "${dbus-cxx-qt-headers}"
+ )
+-target_link_libraries( dbus-cxx-qt PUBLIC Qt5::Core dbus-cxx PkgConfig::sigc ${LIBRT} )
++target_link_libraries( dbus-cxx-qt PUBLIC Qt6::Core dbus-cxx PkgConfig::sigc ${LIBRT} )
+ target_include_directories( dbus-cxx-qt INTERFACE
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ $<INSTALL_INTERFACE:include/dbus-cxx-qt-${DBUS_CXX_INCLUDE_VERSION}>
+@@ -73,6 +73,6 @@ INSTALL( FILES "${CMAKE_CURRENT_BINARY_DIR}/dbus-cxx-qt-2.0.pc"
+ install( TARGETS dbus-cxx-qt
+ EXPORT dbus-cxxTargets
+ COMPONENT qt
+- PUBLIC_HEADER DESTINATION include/dbus-cxx-qt-${DBUS_CXX_INCLUDE_VERSION}
+- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" )
++ PUBLIC_HEADER DESTINATION include/dbus-cxx-qt-${DBUS_CXX_INCLUDE_VERSION} COMPONENT qt
++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT qt
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT qt)
+diff --git a/dbus-cxx-uv/CMakeLists.txt b/dbus-cxx-uv/CMakeLists.txt
+index 23d51c5..a1e3abb 100644
+--- a/dbus-cxx-uv/CMakeLists.txt
++++ b/dbus-cxx-uv/CMakeLists.txt
+@@ -18,7 +18,7 @@ else()
+ set( LIBUV_PKG_NAME libuv )
+ endif()
+
+-pkg_check_modules( libuv REQUIRED IMPORTED_TARGET ${LIBUV_PKG_NAME} )
++find_package(libuv CONFIG REQUIRED)
+
+ set( dbus-cxx-uv-headers dbus-cxx-uv.h uvdispatcher.h )
+ set( dbus-cxx-uv-sources dbus-cxx-uv.cpp uvdispatcher.cpp )
+@@ -33,7 +33,7 @@ target_include_directories( dbus-cxx-uv INTERFACE
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ $<INSTALL_INTERFACE:include/dbus-cxx-uv-${DBUS_CXX_INCLUDE_VERSION}>
+ )
+-target_link_libraries( dbus-cxx-uv PUBLIC PkgConfig::libuv )
++target_link_libraries( dbus-cxx-uv PUBLIC $<IF:$<TARGET_EXISTS:libuv::uv_a>,libuv::uv_a,libuv::uv> )
+
+ set_property( TARGET dbus-cxx-uv PROPERTY CXX_STANDARD 17 )
+
+@@ -74,6 +74,6 @@ INSTALL( FILES "${CMAKE_CURRENT_BINARY_DIR}/dbus-cxx-uv-2.0.pc"
+ install( TARGETS dbus-cxx-uv
+ EXPORT dbus-cxxTargets
+ COMPONENT uv
+- PUBLIC_HEADER DESTINATION include/dbus-cxx-uv-${DBUS_CXX_INCLUDE_VERSION}
+- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" )
++ PUBLIC_HEADER DESTINATION include/dbus-cxx-uv-${DBUS_CXX_INCLUDE_VERSION} COMPONENT uv
++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT uv
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT uv)
diff --git a/vcpkg/ports/dbus-cxx/vcpkg.json b/vcpkg/ports/dbus-cxx/vcpkg.json
new file mode 100644
index 0000000..17f9029
--- /dev/null
+++ b/vcpkg/ports/dbus-cxx/vcpkg.json
@@ -0,0 +1,40 @@
+{
+ "name": "dbus-cxx",
+ "version": "2.6.0",
+ "port-version": 1,
+ "description": "DBus-cxx provides an object-oriented interface to DBus.",
+ "homepage": "https://dbus-cxx.github.io/",
+ "license": "LGPL-3.0-or-later AND BSD-3-Clause",
+ "supports": "linux",
+ "dependencies": [
+ "libsigcpp",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ],
+ "features": {
+ "glib": {
+ "description": "Build dbus-cxx with GLib module",
+ "dependencies": [
+ "glib"
+ ]
+ },
+ "libuv": {
+ "description": "Build dbus-cxx with libuv module",
+ "dependencies": [
+ "libuv"
+ ]
+ },
+ "qt6": {
+ "description": "Build dbus-cxx with QT6 module",
+ "dependencies": [
+ "qtbase"
+ ]
+ }
+ }
+}