From 923be73636e44401919e764a00854f7f14eff8a3 Mon Sep 17 00:00:00 2001 From: Niclas Antti Date: Mon, 19 Nov 2018 13:57:00 +0200 Subject: [PATCH] MXS-2171 Refuse to build without libsystemd-dev on systems that have systemd --- cmake/CheckPlatform.cmake | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/cmake/CheckPlatform.cmake b/cmake/CheckPlatform.cmake index 574b0f04a..ae66d659b 100644 --- a/cmake/CheckPlatform.cmake +++ b/cmake/CheckPlatform.cmake @@ -41,10 +41,21 @@ if(NOT HAVE_LIBPTHREAD) message(FATAL_ERROR "Could not find libpthread") endif() -# systemd libraries are optional +# run "ps -p 1 | grep systemd" to determine if this system uses systemd +execute_process( + COMMAND "ps" "-p" "1" + COMMAND "grep" "systemd" + RESULT_VARIABLE NOT_SYSTEMD_IS_RUNNING + OUTPUT_VARIABLE PS_OUTPUT) + find_library(HAVE_SYSTEMD NAMES systemd) if(HAVE_SYSTEMD) - add_definitions(-DHAVE_SYSTEMD=1) + add_definitions(-DHAVE_SYSTEMD=1) +else() + # If systemd is in use, require libsystemd-dev to be installed + if(NOT NOT_SYSTEMD_IS_RUNNING) + message( FATAL_ERROR "systemd is running: please install libsystemd-dev" ) + endif() endif() # The XSI version of strerror_r return an int and the GNU version a char*