test: poll_timeout; see php-memcached-dev/php-memcached#531
[awesomized/libmemcached] / CMake / _Include.cmake
index 22f99a8c193e1d73d7aeb6872de1f30b3555c607..7466b4cab006a29244b316b50c24ab5d7d642016 100644 (file)
@@ -1,6 +1,11 @@
 include(_Configure)
 configure_init(${CMAKE_BINARY_DIR}/mem_config.h)
 
+add_compile_definitions(${GLOBAL_DEFINITIONS})
+# list(TRANSFORM) requires >=3.12
+string(REPLACE ";" " -D" GLOBAL_DEFINITION_FLAGS "${GLOBAL_DEFINITIONS}")
+set(GLOBAL_DEFINITION_FLAGS -D${GLOBAL_DEFINITION_FLAGS})
+
 if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
     include(CTest)
 endif()
@@ -32,6 +37,7 @@ macro(check_symbol NAME HEADER)
     if(${ARGC} GREATER 1)
         string(APPEND CMAKE_REQUIRED_FLAGS " ${ARGV2}")
     endif()
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS ${GLOBAL_DEFINITION_FLAGS})
     check_symbol_exists(${NAME} ${HEADER} ${HAVE})
     cmake_pop_check_state()
 endmacro()
@@ -43,6 +49,7 @@ macro(check_cxx_symbol NAME HEADER)
     if(${ARGC} GREATER 1)
         string(APPEND CMAKE_REQUIRED_FLAGS " ${ARGN}")
     endif()
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS ${GLOBAL_DEFINITION_FLAGS})
     check_cxx_symbol_exists(${NAME} ${HEADER} ${HAVE})
     cmake_pop_check_state()
 endmacro()
@@ -54,6 +61,7 @@ macro(check_include HEADER)
     if(${ARGC} GREATER 1)
         string(APPEND CMAKE_REQUIRED_FLAGS " ${ARGN}")
     endif()
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS ${GLOBAL_DEFINITION_FLAGS})
     check_include_file(${HEADER} ${HAVE})
     cmake_pop_check_state()
 endmacro()
@@ -65,6 +73,7 @@ macro(check_cxx_include HEADER)
     if(${ARGC} GREATER 1)
         string(APPEND CMAKE_REQUIRED_FLAGS " ${ARGN}")
     endif()
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS ${GLOBAL_DEFINITION_FLAGS})
     check_include_file_cxx(${HEADER} ${HAVE})
     cmake_pop_check_state()
 endmacro()
@@ -76,18 +85,25 @@ macro(check_type TYPE)
     if(${ARGC} GREATER 1)
         list(APPEND CMAKE_EXTRA_INCLUDE_FILES ${ARGN})
     endif()
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS ${GLOBAL_DEFINITION_FLAGS})
     check_type_size(${TYPE} ${HAVE})
     cmake_pop_check_state()
 endmacro()
 include(CheckCSourceCompiles)
 macro(check_c_source SOURCE HAVE)
     configure_define(${HAVE})
+    cmake_push_check_state()
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS ${GLOBAL_DEFINITION_FLAGS})
     check_c_source_compiles("${SOURCE}" ${HAVE})
+    cmake_pop_check_state()
 endmacro()
 include(CheckCXXSourceCompiles)
 macro(check_cxx_source SOURCE HAVE)
     configure_define(${HAVE})
+    cmake_push_check_state()
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS ${GLOBAL_DEFINITION_FLAGS})
     check_cxx_source_compiles("${SOURCE}" ${HAVE})
+    cmake_pop_check_state()
 endmacro()
 
 include(CheckBacktrace)
@@ -115,6 +131,11 @@ if(ENABLE_SASL)
     if(HAVE_LIBSASL)
         set(LIBMEMCACHED_WITH_SASL_SUPPORT 1)
         pkgconfig_export(REQUIRES libsasl2)
+        cmake_push_check_state()
+        set(CMAKE_REQUIRED_INCLUDES "${LIBSASL_INCLUDEDIR}")
+        set(CMAKE_REQUIRED_LIBRARIES "${LIBSASL_LIBRARIES}")
+        check_symbol(sasl_client_done sasl/sasl.h)
+        cmake_pop_check_state()
     endif()
 endif()