mirror of
https://github.com/Kistler-Group/sdbus-cpp.git
synced 2025-07-30 10:07:16 +02:00
chore(cmake): add support for libelogind (#352)
* CMakeLists.txt: Fallback to elogind when libsystemd could not be found. Set LIBSYSTEMD variable. * pkgconfig/sdbus-c++.pc.in (Description): Parameterize with above LIBSYSTEMD variable. Co-authored-by: Sven Eden <sven.eden@prydeworx.com>
This commit is contained in:
@ -12,11 +12,22 @@ include(GNUInstallDirs) # Installation directories for `install` command and pkg
|
|||||||
# PERFORMING CHECKS & PREPARING THE DEPENDENCIES
|
# PERFORMING CHECKS & PREPARING THE DEPENDENCIES
|
||||||
#-------------------------------
|
#-------------------------------
|
||||||
|
|
||||||
|
set(LIBSYSTEMD "libsystemd")
|
||||||
|
|
||||||
option(BUILD_LIBSYSTEMD "Build libsystemd static library and incorporate it into libsdbus-c++" OFF)
|
option(BUILD_LIBSYSTEMD "Build libsystemd static library and incorporate it into libsdbus-c++" OFF)
|
||||||
|
|
||||||
if(NOT BUILD_LIBSYSTEMD)
|
if(NOT BUILD_LIBSYSTEMD)
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
pkg_check_modules(Systemd IMPORTED_TARGET GLOBAL libsystemd>=236)
|
pkg_check_modules(Systemd IMPORTED_TARGET GLOBAL libsystemd>=236)
|
||||||
|
if(NOT TARGET PkgConfig::Systemd)
|
||||||
|
message(WARNING "libsystemd not found, checking for libelogind instead")
|
||||||
|
pkg_check_modules(Systemd IMPORTED_TARGET GLOBAL libelogind>=236)
|
||||||
|
if(TARGET PkgConfig::Systemd)
|
||||||
|
set(LIBSYSTEMD "libelogind")
|
||||||
|
string(REPLACE "." ";" VERSION_LIST ${Systemd_VERSION})
|
||||||
|
list(GET VERSION_LIST 0 Systemd_VERSION)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
if(NOT TARGET PkgConfig::Systemd)
|
if(NOT TARGET PkgConfig::Systemd)
|
||||||
message(FATAL_ERROR "libsystemd of version at least 236 is required, but was not found "
|
message(FATAL_ERROR "libsystemd of version at least 236 is required, but was not found "
|
||||||
"(if you have systemd in your OS, you may want to install package containing pkgconfig "
|
"(if you have systemd in your OS, you may want to install package containing pkgconfig "
|
||||||
|
@ -5,7 +5,7 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
|||||||
|
|
||||||
Name: @PROJECT_NAME@
|
Name: @PROJECT_NAME@
|
||||||
Description: C++ library on top of sd-bus, a systemd D-Bus library
|
Description: C++ library on top of sd-bus, a systemd D-Bus library
|
||||||
Requires@PKGCONFIG_REQS@: libsystemd
|
Requires@PKGCONFIG_REQS@: @LIBSYSTEMD@
|
||||||
Version: @SDBUSCPP_VERSION@
|
Version: @SDBUSCPP_VERSION@
|
||||||
Libs: -L${libdir} -l@PROJECT_NAME@
|
Libs: -L${libdir} -l@PROJECT_NAME@
|
||||||
Cflags: -I${includedir}
|
Cflags: -I${includedir}
|
||||||
|
Reference in New Issue
Block a user