X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=CMake%2F_Include.cmake;h=a6b5463c1a1b201be45a823df8a0f5d1884e0cef;hb=a1ee4cf8c5fa2119359b40eb2e7933135bcb7700;hp=9f6891c2a35145492ed15ccc3694813bfe801631;hpb=49aa94b8c4df6c3fd9d5c9688651c6f928f9aad1;p=m6w6%2Flibmemcached diff --git a/CMake/_Include.cmake b/CMake/_Include.cmake index 9f6891c2..a6b5463c 100644 --- a/CMake/_Include.cmake +++ b/CMake/_Include.cmake @@ -1,10 +1,13 @@ -set(THREADS_PREFER_PTHREAD_FLAG ON) # globals -include(CTest) +if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) + include(CTest) +endif() include(GNUInstallDirs) +include(CMakePackageConfigHelpers) find_package(PkgConfig) +set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) # locals @@ -14,6 +17,7 @@ include(CheckDebug) include(CheckDecl) include(CheckDependency) include(CheckHeader) +include(CheckCompiles) include(CheckType) include(CheckStdatomic) @@ -31,10 +35,15 @@ endif() ## dtrace if(ENABLE_DTRACE) - set(HAVE_DTRACE 1) + find_package(DTrace) + if(DTRACE_EXECUTABLE) + set(HAVE_DTRACE 1) + else() + message(WARNING "The dtrace command is required to enable dtrace/systemtap support.") + endif() endif() -##uuid +## uuid if(BUILD_TESTING) check_dependency(LIBUUID uuid uuid/uuid.h) endif() @@ -48,13 +57,13 @@ if(ENABLE_SASL) endif() ## hashes -if(ENABLE_FNV64_HASH) +if(ENABLE_HASH_FNV64) set(HAVE_FNV64_HASH 1) endif() -if(ENABLE_MURMUR_HASH) +if(ENABLE_HASH_MURMUR) set(HAVE_MURMUR_HASH 1) endif() -if(ENABLE_HSIEH_HASH) +if(ENABLE_HASH_HSIEH) set(HAVE_HSIEH_HASH 1) endif() @@ -90,8 +99,10 @@ check_decl(MSG_MORE sys/socket.h) check_decl(MSG_NOSIGNAL sys/socket.h) check_decl(rcvtimeo sys/socket.h) check_decl(sndtimeo sys/socket.h) -check_decl(strerror_r string.h) +check_decl(setenv stdlib.h) check_decl(strerror string.h) +check_decl(strerror_r string.h) +check_compiles(HAVE_STRERROR_R_CHAR_P "char x, y = *strerror_r(0,&x,1);" string.h) check_decl(abi::__cxa_demangle cxxabi.h) set(HAVE_GCC_ABI_DEMANGLE ${HAVE_ABI____CXA_DEMANGLE})