summaryrefslogtreecommitdiff
path: root/cmake/Modules/FindSYSTEMD.cmake
diff options
context:
space:
mode:
authorFlorent Le Coz <louiz@louiz.org>2014-11-13 06:22:17 +0100
committerFlorent Le Coz <louiz@louiz.org>2014-11-13 06:44:15 +0100
commit2bb4a347cdfbee92334d5340ba640c8680a81d9e (patch)
tree76f8d377ac569e11a9f259dd33b8b6c75ff6488d /cmake/Modules/FindSYSTEMD.cmake
parent12eeb4d11eee5b8e6514f0ce8bf7508cc2d6d7a1 (diff)
downloadbiboumi-2bb4a347cdfbee92334d5340ba640c8680a81d9e.tar.gz
biboumi-2bb4a347cdfbee92334d5340ba640c8680a81d9e.tar.bz2
biboumi-2bb4a347cdfbee92334d5340ba640c8680a81d9e.tar.xz
biboumi-2bb4a347cdfbee92334d5340ba640c8680a81d9e.zip
Improve dependencies checks in the build process
- Rename all Find*.cmake files to uppercase, to make things more consistent, and fix some issues with them (notably the REQUIRED flag) - Rename SYSTEMDDAEMON to SYSTEMD and only use the libsystemd instead of libsystemd-daemon because it's deprecated for a long time now - Provide a WITH_* and WITHOUT_* switch for all optional dependencies - Document things in the INSTALL file
Diffstat (limited to 'cmake/Modules/FindSYSTEMD.cmake')
-rw-r--r--cmake/Modules/FindSYSTEMD.cmake39
1 files changed, 39 insertions, 0 deletions
diff --git a/cmake/Modules/FindSYSTEMD.cmake b/cmake/Modules/FindSYSTEMD.cmake
new file mode 100644
index 0000000..c7decde
--- /dev/null
+++ b/cmake/Modules/FindSYSTEMD.cmake
@@ -0,0 +1,39 @@
+# - Find SystemdDaemon
+# Find the systemd daemon library
+#
+# This module defines the following variables:
+# SYSTEMD_FOUND - True if library and include directory are found
+# If set to TRUE, the following are also defined:
+# SYSTEMD_INCLUDE_DIRS - The directory where to find the header file
+# SYSTEMD_LIBRARIES - Where to find the library file
+#
+# For conveniance, these variables are also set. They have the same values
+# than the variables above. The user can thus choose his/her prefered way
+# to write them.
+# SYSTEMD_LIBRARY
+# SYSTEMD_INCLUDE_DIR
+#
+# This file is in the public domain
+
+include(FindPkgConfig)
+pkg_check_modules(SYSTEMD libsystemd)
+
+if(NOT SYSTEMD_FOUND)
+ find_path(SYSTEMD_INCLUDE_DIRS NAMES systemd/sd-daemon.h
+ DOC "The Systemd include directory")
+
+ find_library(SYSTEMD_LIBRARIES NAMES systemd
+ DOC "The Systemd library")
+
+ # Use some standard module to handle the QUIETLY and REQUIRED arguments, and
+ # set SYSTEMD_FOUND to TRUE if these two variables are set.
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(SYSTEMD REQUIRED_VARS SYSTEMD_LIBRARIES SYSTEMD_INCLUDE_DIRS)
+
+ if(SYSTEMD_FOUND)
+ set(SYSTEMD_LIBRARY ${SYSTEMD_LIBRARIES})
+ set(SYSTEMD_INCLUDE_DIR ${SYSTEMD_INCLUDE_DIRS})
+ endif()
+endif()
+
+mark_as_advanced(SYSTEMD_INCLUDE_DIRS SYSTEMD_LIBRARIES) \ No newline at end of file