blob: 03d1356042b259769cf7d07656ce655244cddad2 [file] [log] [blame]
Andrew Geissler595f6302022-01-24 19:11:47 +00001SUMMARY = "sdbus-c++"
2DESCRIPTION = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API in modern C++"
3
4SECTION = "libs"
5
Andrew Geissler9aee5002022-03-30 16:27:02 +00006LICENSE = "LGPL-2.1-only"
Andrew Geissler595f6302022-01-24 19:11:47 +00007LIC_FILES_CHKSUM = "file://COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742"
8
9inherit cmake pkgconfig systemd ptest
10
11PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \
12 ${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}"
13PACKAGECONFIG[with-builtin-libsystemd] = ",,sdbus-c++-libsystemd,libcap"
14PACKAGECONFIG[with-external-libsystemd] = ",,systemd,libsystemd"
15PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DTESTS_INSTALL_PATH=${libdir}/${BPN}/tests,-DBUILD_TESTS=OFF,googletest gmock"
16
17DEPENDS += "expat"
18
Andrew Geisslerd5838332022-05-27 11:33:10 -050019SRCREV = "bca8e81037766a0454740c40307eea32831c101f"
Andrew Geissler595f6302022-01-24 19:11:47 +000020
21SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master"
Andrew Geisslerd5838332022-05-27 11:33:10 -050022SRC_URI += "file://run-ptest \
23 file://7f437a6e06d2ec3abd3e2fd1101ab6aab386bc44.patch "
Andrew Geissler595f6302022-01-24 19:11:47 +000024
Andrew Geissler9aee5002022-03-30 16:27:02 +000025EXTRA_OECMAKE = "-DBUILD_CODE_GEN=OFF \
Andrew Geissler595f6302022-01-24 19:11:47 +000026 -DBUILD_DOC=ON \
27 -DBUILD_DOXYGEN_DOC=OFF"
28
29S = "${WORKDIR}/git"
30
Andrew Geisslerd5838332022-05-27 11:33:10 -050031# Link libatomic on architectures without 64bit atomics fixes
32# libsdbus-c++.so.1.1.0: undefined reference to `__atomic_load_8'
33LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
34LDFLAGS:append:powerpc = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
35
Andrew Geissler595f6302022-01-24 19:11:47 +000036do_install:append() {
37 if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
38 rm -rf ${D}${sysconfdir}/dbus-1
39 fi
40}
41
42PTEST_PATH = "${libdir}/${BPN}/tests"
43FILES:${PN}-ptest =+ "${sysconfdir}/dbus-1/system.d/"
44FILES:${PN}-dev += "${bindir}/sdbus-c++-xml2cpp"