projects
/
awesomized
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
test: poll_timeout; see php-memcached-dev/php-memcached#531
[awesomized/libmemcached]
/
CMake
/
_Include.cmake
diff --git
a/CMake/_Include.cmake
b/CMake/_Include.cmake
index 7c1b546d24040f331d3d3714b1b143c630b350c9..7466b4cab006a29244b316b50c24ab5d7d642016 100644
(file)
--- a/
CMake/_Include.cmake
+++ b/
CMake/_Include.cmake
@@
-1,12
+1,16
@@
include(_Configure)
configure_init(${CMAKE_BINARY_DIR}/mem_config.h)
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()
include(CMakePushCheckState)
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
include(CTest)
endif()
include(CMakePushCheckState)
-include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
macro(make_have_identifier NAME ID)
include(CMakePackageConfigHelpers)
macro(make_have_identifier NAME ID)
@@
-33,6
+37,7
@@
macro(check_symbol NAME HEADER)
if(${ARGC} GREATER 1)
string(APPEND CMAKE_REQUIRED_FLAGS " ${ARGV2}")
endif()
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()
check_symbol_exists(${NAME} ${HEADER} ${HAVE})
cmake_pop_check_state()
endmacro()
@@
-44,6
+49,7
@@
macro(check_cxx_symbol NAME HEADER)
if(${ARGC} GREATER 1)
string(APPEND CMAKE_REQUIRED_FLAGS " ${ARGN}")
endif()
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()
check_cxx_symbol_exists(${NAME} ${HEADER} ${HAVE})
cmake_pop_check_state()
endmacro()
@@
-55,6
+61,7
@@
macro(check_include HEADER)
if(${ARGC} GREATER 1)
string(APPEND CMAKE_REQUIRED_FLAGS " ${ARGN}")
endif()
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()
check_include_file(${HEADER} ${HAVE})
cmake_pop_check_state()
endmacro()
@@
-66,6
+73,7
@@
macro(check_cxx_include HEADER)
if(${ARGC} GREATER 1)
string(APPEND CMAKE_REQUIRED_FLAGS " ${ARGN}")
endif()
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()
check_include_file_cxx(${HEADER} ${HAVE})
cmake_pop_check_state()
endmacro()
@@
-77,18
+85,25
@@
macro(check_type TYPE)
if(${ARGC} GREATER 1)
list(APPEND CMAKE_EXTRA_INCLUDE_FILES ${ARGN})
endif()
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})
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})
check_c_source_compiles("${SOURCE}" ${HAVE})
+ cmake_pop_check_state()
endmacro()
include(CheckCXXSourceCompiles)
macro(check_cxx_source SOURCE HAVE)
configure_define(${HAVE})
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})
check_cxx_source_compiles("${SOURCE}" ${HAVE})
+ cmake_pop_check_state()
endmacro()
include(CheckBacktrace)
endmacro()
include(CheckBacktrace)
@@
-101,12
+116,26
@@
include(CheckThreads)
include(CheckVisibility)
include(InstallPublicHeaders)
include(CheckVisibility)
include(InstallPublicHeaders)
+function(pkgconfig_export VAR VAL)
+ get_property(PREV GLOBAL PROPERTY PKGCONFIG_${VAR})
+ set_property(GLOBAL PROPERTY PKGCONFIG_${VAR} "${PREV} ${VAL}")
+endfunction()
+macro(pkgconfig_import VAR)
+ get_property(PKGCONFIG_${VAR} GLOBAL PROPERTY PKGCONFIG_${VAR})
+endmacro()
+
## sasl
configure_define_01(LIBMEMCACHED_WITH_SASL_SUPPORT)
if(ENABLE_SASL)
check_dependency(LIBSASL sasl2)
if(HAVE_LIBSASL)
set(LIBMEMCACHED_WITH_SASL_SUPPORT 1)
## sasl
configure_define_01(LIBMEMCACHED_WITH_SASL_SUPPORT)
if(ENABLE_SASL)
check_dependency(LIBSASL sasl2)
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()
endif()
endif()
@@
-118,30
+147,42
@@
configure_set(HAVE_HSIEH_HASH ${ENABLE_HASH_HSIEH})
check_include(alloca.h)
check_include(arpa/inet.h)
check_include(dlfcn.h)
check_include(alloca.h)
check_include(arpa/inet.h)
check_include(dlfcn.h)
+check_include(getopt.h)
+check_include(libgen.h)
check_include(netdb.h)
check_include(netdb.h)
+check_include(netinet/in.h)
+check_include(netinet/tcp.h)
check_include(poll.h)
check_include(strings.h)
check_include(poll.h)
check_include(strings.h)
+check_include(sys/poll.h)
check_include(sys/socket.h)
check_include(sys/time.h)
check_include(sys/un.h)
check_include(unistd.h)
check_include(sys/socket.h)
check_include(sys/time.h)
check_include(sys/un.h)
check_include(unistd.h)
-if(WIN32)
- check_include(io.h)
- check_include(winsock2.h)
- check_include(ws2tcpip.h)
-endif()
-
check_type(in_port_t netinet/in.h)
check_type(in_port_t netinet/in.h)
+check_type(pid_t sys/types.h)
+check_type(ssize_t sys/types.h)
+check_type("struct msghdr" sys/socket.h)
+check_type("struct timespec" time.h)
check_cxx_symbol(abi::__cxa_demangle cxxabi.h)
check_cxx_symbol(abi::__cxa_demangle cxxabi.h)
+check_symbol(CLOCK_MONOTONIC time.h)
+check_symbol(clock_gettime time.h)
+check_symbol(ERESTART errno.h)
check_symbol(fcntl fcntl.h)
check_symbol(fcntl fcntl.h)
+check_symbol(gettimeofday sys/time.h)
check_symbol(htonll arpa/inet.h)
check_symbol(htonll arpa/inet.h)
+check_symbol(index strings.h)
check_symbol(MSG_DONTWAIT sys/socket.h)
check_symbol(MSG_MORE sys/socket.h)
check_symbol(MSG_NOSIGNAL sys/socket.h)
check_symbol(SO_RCVTIMEO sys/socket.h)
check_symbol(SO_SNDTIMEO sys/socket.h)
check_symbol(MSG_DONTWAIT sys/socket.h)
check_symbol(MSG_MORE sys/socket.h)
check_symbol(MSG_NOSIGNAL sys/socket.h)
check_symbol(SO_RCVTIMEO sys/socket.h)
check_symbol(SO_SNDTIMEO sys/socket.h)
+check_symbol(rand stdlib.h)
+check_symbol(random stdlib.h)
+check_symbol(realpath stdlib.h)
+check_symbol(sendmsg sys/socket.h)
check_symbol(setenv stdlib.h)
check_symbol(strerror_r string.h)
check_c_source("
check_symbol(setenv stdlib.h)
check_symbol(strerror_r string.h)
check_c_source("
@@
-152,3
+193,11
@@
check_c_source("
}"
HAVE_STRERROR_R_CHAR_P
)
}"
HAVE_STRERROR_R_CHAR_P
)
+
+if(WIN32)
+ check_include(io.h)
+ check_include(winsock2.h)
+ check_include(ws2tcpip.h)
+
+ check_symbol(htonll winsock2.h)
+endif()