blob: 2fb975ced6234612c432b30fdad17ba76f56f71f [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 Geissler87f5cff2022-09-30 13:13:31 -050019SRCREV = "751c1addc4fd2f949a466f488c1b7de2ca3b76dc"
Andrew Geissler595f6302022-01-24 19:11:47 +000020
21SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master"
Andrew Geissler87f5cff2022-09-30 13:13:31 -050022SRC_URI += "file://run-ptest"
Andrew Geissler595f6302022-01-24 19:11:47 +000023
Andrew Geissler9aee5002022-03-30 16:27:02 +000024EXTRA_OECMAKE = "-DBUILD_CODE_GEN=OFF \
Andrew Geissler595f6302022-01-24 19:11:47 +000025 -DBUILD_DOC=ON \
26 -DBUILD_DOXYGEN_DOC=OFF"
27
28S = "${WORKDIR}/git"
29
Andrew Geisslerd5838332022-05-27 11:33:10 -050030# Link libatomic on architectures without 64bit atomics fixes
31# libsdbus-c++.so.1.1.0: undefined reference to `__atomic_load_8'
32LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
33LDFLAGS:append:powerpc = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
Andrew Geissler78b72792022-06-14 06:47:25 -050034LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
Andrew Geisslerd5838332022-05-27 11:33:10 -050035
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"
Andrew Geisslerc5535c92023-01-27 16:10:19 -060045
46# It adds -isystem which is spurious, no idea where it gets it from
47CCACHE_DISABLE = "1"