summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2018-03-08 06:00:40 +0000
committerPierre Bourdon <delroth@gmail.com>2018-03-08 06:00:40 +0000
commitf221fac02e39f8a965560741d46c15536c3a5cff (patch)
tree70034d2314af9d8d3dd9d8d634ff9704efdb164c
parent1a1133bf8e57cc97024f55bba740400cfeec63a4 (diff)
cmake: check for optional libsystemd presence
-rw-r--r--CMake/FindLibsystemd.cmake28
-rw-r--r--CMakeLists.txt8
2 files changed, 36 insertions, 0 deletions
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
#