Commit Graph

68 Commits

Author SHA1 Message Date
101dd1c2ba Add boost asio integration 2022-10-30 18:35:47 +01:00
35bffd0f25 build: don't include libsystemd as shared pkg-config dep when statically linked (#283)
This works whether `BUILD_LIBSYSTEMD` is `ON` or the separate build of
libsystemd picked up by pkg-config is static. The Gentoo Linux package
requires the latter.

This change also handles `BUILD_SHARED_LIBS` being `OFF`. In this case,
the libsystemd dependency does need to be included, even though it is
static.

CMake does not allow you to build shared and static libraries
simultaneously (with a single `add_library` call), but this change
declares the libsystemd dependency as `Requires.private` rather than
omitting it entirely. This is in case someone builds and installs both a
static and shared build and then calls `pkg-config --static sdbus-c++`.
The static build needs to be installed first so that the pkg-config
file from the shared build takes precedence.
2022-09-03 22:54:06 +02:00
751c1addc4 chore: version 1.2.0 2022-08-09 09:50:33 +02:00
b7a9c63ff0 refactor: add validity checks for names and paths (#242) 2022-02-11 21:53:37 +01:00
bca8e81037 build: version 1.1.0 2021-12-22 13:17:31 +01:00
0b8f2d9752 fix: use correct path to README file for CPack 2021-12-15 12:46:05 +01:00
ef4d9bcba2 chore: add note on libsystemd-dev when libsystemd pkgconfig file is not found 2021-12-14 21:35:11 +01:00
125cb1616c version 1.0.0 2021-10-25 09:02:37 +02:00
f05f63cd48 cpack: remove test component
If -DBUILD_TESTS=ON, then creating debian packages fails
because dpkg-shlibdeps obiously can't find the sdbus-c++ dependency
for the tests package.

We could disable CPACK_DEBIAN_PACKAGE_SHLIBDEPS for the tests package.
Nevertheless I don't think we want a tests package at all.
2021-10-25 09:00:30 +02:00
a5ecbbfcec add examples for the ObjectManager API 2021-10-18 11:58:07 +02:00
a341754533 add dependency to libsytemd-dev to sdbus-c++-dev package 2021-09-23 20:18:14 +02:00
9cb8b89a01 add cpack to build debian packages, split the packages by components 2021-09-23 20:18:14 +02:00
e1008dd8cf reformat CMake linking 2021-04-13 11:02:20 +02:00
fc9f770512 Find and link against pthread
Building on SUSE fails, as std::thread usage requires linking
against pthread:

/usr/bin/c++ -fPIC -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -DNDEBUG -O3 -DNDEBUG -flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now -shared -Wl,-soname,libsdbus-c++.so.0 -o libsdbus-c++.so.0.8.3 CMakeFiles/sdbus-c++-objlib.dir/src/Connection.cpp.o CMakeFiles/sdbus-c++-objlib.dir/src/Error.cpp.o CMakeFiles/sdbus-c++-objlib.dir/src/Message.cpp.o CMakeFiles/sdbus-c++-objlib.dir/src/Object.cpp.o CMakeFiles/sdbus-c++-objlib.dir/src/Proxy.cpp.o CMakeFiles/sdbus-c++-objlib.dir/src/Types.cpp.o CMakeFiles/sdbus-c++-objlib.dir/src/Flags.cpp.o CMakeFiles/sdbus-c++-objlib.dir/src/VTableUtils.c.o CMakeFiles/sdbus-c++-objlib.dir/src/SdBus.cpp.o  /usr/lib64/libsystemd.so
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libsdbus-c++.so.0.8.3.uWoUml.ltrans0.ltrans.o: in function `sdbus::internal::Connection::enterEventLoopAsync()':
<artificial>:(.text+0x2bb): undefined reference to `pthread_create'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libsdbus-c++.so.0.8.3.uWoUml.ltrans0.ltrans.o: in function `non-virtual thunk to sdbus::internal::Connection::enterEventLoopAsync()':
<artificial>:(.text+0x37a): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
2021-04-13 10:56:43 +02:00
a649a0225e style: fix indentation in CMakeLists.txt 2021-03-12 14:01:02 +01:00
cfb9956de6 Fixes for floating point systemd version such as 243.4 (#128)
```
~/package $ pkg-config --modversion libsystemd
243.4
~/package $
```
Split it to the list and use the first one
2021-03-12 13:26:21 +01:00
6e8e5aadb6 Bump up to v0.8.3 2020-09-11 22:29:15 +02:00
250aa2bbe3 Add additional messages to CMake build for optional parts 2020-07-21 12:12:14 +02:00
175c43ec53 Bump revision up to v0.8.2 2020-06-17 15:29:46 +02:00
a23aadbe5e Fix required CMake version to v3.13
Fixes #86
2020-02-14 14:31:14 +01:00
dee6adce02 Bump revision up to v0.8.1 2020-02-02 02:31:39 +01:00
3e68fee4cd Switch to more modern CMake 2020-02-02 02:29:32 +01:00
d591b69f92 Bump revision up to 0.8.0 2020-02-01 13:56:13 +01:00
10977c6137 Bump revision up to 0.7.8 2020-01-25 23:38:54 +01:00
68b5eac9e9 Bump revision up to 0.7.7 2020-01-19 18:59:36 +01:00
5121d46eed Bump revision up to 0.7.6 2020-01-05 22:49:26 +01:00
cc495811f9 Bump revision up to 0.7.5 2019-11-10 17:43:14 +01:00
d50a15b2a2 Move C++17 uncaught_exceptions to public API 2019-11-10 17:31:58 +01:00
3a76e9c120 Bump revision up to 0.7.4 2019-11-03 20:40:13 +01:00
c139110112 Add support for custom timeout value for D-Bus method calls (#72) 2019-11-03 13:54:13 +01:00
e7155c5506 Bump revision up to 0.7.3 2019-10-13 15:39:32 +02:00
750dab3927 Bump revision up to 0.7.2 2019-07-08 10:01:11 +02:00
00177a7e4c Bump revision up to 0.7.1 2019-06-12 09:18:55 +02:00
07625a435b Bump revision up to 0.7.0 2019-06-04 21:39:29 +02:00
91fa35140b Add support for ObjectManager and other standard D-Bus interfaces (#55)
Fixes #50
2019-05-29 22:28:15 +02:00
0014bb0b6e Go a step further towards modern CMake and cleaner project structure 2019-05-23 21:40:59 +02:00
81b5a67f35 Use shallow clone for libsystemd external project 2019-05-13 19:21:23 +02:00
0cffed4574 Add option to build libsystemd automatically as integral part of sdbus-c++ 2019-04-28 17:09:37 +02:00
1b1b9ae8ae Move code generator to tools subdirectory for higher consistency with OSS standards 2019-04-26 00:03:46 +02:00
1b02c604d8 Rename test subdirectory to tests for higher consistency with OSS standards 2019-04-25 23:54:51 +02:00
981206fa8c Rename doc subdirectory to docs for higher consistency with OSS standards 2019-04-25 23:48:11 +02:00
824aaa711e Separate doxygen doc building from other docs 2019-04-25 13:34:33 +02:00
882262bc2f Switch back to support also CMake 3.5 2019-04-25 12:51:50 +02:00
4ede37d6a3 Install additional documentation files 2019-04-25 12:42:08 +02:00
62a546c9d3 Bump revision up to 0.6.0 2019-04-15 21:05:54 +02:00
5b99658f36 Turn on compiler warnings 2019-04-14 20:56:47 +02:00
93b6e5237a Clean up some names (rename classes, methods, files)
* ConvenienceClasses.h/.inl/.cpp -> ConvenienceApiClasses.h/.inl/.cpp
  * IObjectProxy class -> IProxy
  * Interfaces class -> AdaptorInterfaces
  * Interfaces.h -> split into AdaptorInterfaces.h and ProxyInterfaces.h
  * createObjectProxy() method -> createProxy()
2019-04-09 21:28:07 +02:00
e7c78460cf Bump revision up to 0.5.3 2019-04-09 20:56:33 +02:00
a919058d13 Bump up revision to 0.5.2 2019-04-03 00:17:31 +02:00
08945acbc4 Simplify and unify callback design for both sync and async methods 2019-04-03 00:05:20 +02:00