cmake: fix MEMCACHED_BINARY
authorMichael Wallner <mike@php.net>
Fri, 16 Oct 2020 15:10:02 +0000 (17:10 +0200)
committerMichael Wallner <mike@php.net>
Fri, 16 Oct 2020 15:10:02 +0000 (17:10 +0200)
CMakeConfig.txt
test/CMakeLists.txt

index 3f12665e87e4b2b2f6a2da5f389af94b8cc312ce..7e36cf5ac5d1574cf0b34d78fa14318b928a8b38 100644 (file)
@@ -1,4 +1,4 @@
+
 if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
     if(NOT DEFINED ENV{CMAKE_BUILD_TYPE})
         set(ENV{CMAKE_BUILD_TYPE} Release)
@@ -48,7 +48,8 @@ set(ENABLE_SANITIZERS $ENV{ENABLE_SANITIZERS}
     CACHE STRING "sanitizers to enable (e.g. address undefined ...)")
 
 if(BUILD_TESTING)
-    find_program(MEMCACHED_BINARY memcached DOC "memcached binary")
+    set(MEMCACHED_BINARY $ENV{MEMCACHED_BINARY}
+            CACHE STRING "memcached binary")
     set(CMAKE_CTEST_ARGUMENTS "--output-on-failure")
     if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.17)
         # available since CMake 3.17
index 9ea8cd2ca363a6e404553cbd322be66b18420849..2339a55b73cc81b33d5db74cb749f79f481b0e38 100644 (file)
@@ -4,6 +4,15 @@ endif()
 
 include(CMake/Catch.cmake)
 
+if(NOT MEMCACHED_BINARY)
+    find_program(MEMCACHED_BINARY memcached DOC "memcached binary")
+    if(NOT MEMCACHED_BINARY)
+        message(SEND_ERROR "Could not find memcached(1) binary")
+        set(ENV{INVALID_CONFIGURATION} 1)
+    endif()
+endif()
+
+
 check_decl(pipe2 unistd.h)
 check_decl(SOCK_NONBLOCK sys/socket.h)
 check_decl(SOCK_CLOEXEC sys/socket.h)