From f221fac02e39f8a965560741d46c15536c3a5cff Mon Sep 17 00:00:00 2001 From: Pierre Bourdon Date: Thu, 8 Mar 2018 06:00:40 +0000 Subject: [PATCH] cmake: check for optional libsystemd presence --- CMake/FindLibsystemd.cmake | 28 ++++++++++++++++++++++++++++ CMakeLists.txt | 8 ++++++++ 2 files changed, 36 insertions(+) create mode 100644 CMake/FindLibsystemd.cmake diff --git a/CMake/FindLibsystemd.cmake b/CMake/FindLibsystemd.cmake new file mode 100644 index 0000000000..f75558a444 --- /dev/null +++ b/CMake/FindLibsystemd.cmake @@ -0,0 +1,28 @@ +include(FindPkgConfig) +pkg_check_modules(PC_SYSTEMD QUIET "libsystemd") +if (PC_SYSTEMD_FOUND) + add_definitions(${PC_SYSTEMD_CFLAGS} ${PC_SYSTEMD_CFLAGS_OTHER}) +endif(PC_SYSTEMD_FOUND) + +find_path( + SYSTEMD_INCLUDE_DIRS + NAMES systemd/sd-daemon.h + HINTS ${PC_SYSTEMD_INCLUDEDIR} ${PC_SYSTEMD_INCLUDE_DIRS} +) + +find_library( + SYSTEMD_LIBRARIES + NAMES systemd + HINTS ${PC_SYSTEMD_LIBDIR} ${PC_SYSTEMD_LIBRARY_DIRS} +) + +include(FindPackageHandleStandardArgs) + +find_package_handle_standard_args( + SYSTEMD + REQUIRED_VARS SYSTEMD_LIBRARIES SYSTEMD_INCLUDE_DIRS +) +mark_as_advanced( + SYSTEMD_FOUND + SYSTEMD_LIBRARIES SYSTEMD_INCLUDE_DIRS +) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8090ff1a2b..14681c35ef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -757,6 +757,14 @@ if(ENABLE_WX) endif() endif() +find_package(Libsystemd) +if(SYSTEMD_FOUND) + message(STATUS "libsystemd found, enabling traversal server watchdog support") + add_definitions(-DHAVE_LIBSYSTEMD) +else() + message(STATUS "libsystemd not found, disabling traversal server watchdog support") +endif() + ######################################## # Pre-build events: Define configuration variables and write SCM info header #