X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=CMake%2F_Include.cmake;h=a6b5463c1a1b201be45a823df8a0f5d1884e0cef;hb=151ace1b6a881e117cdb6fe6d7b33ddbd9d701fd;hp=0f25ab4875a6eb363f298ade9b2c5646a51ae3ea;hpb=911c5ad81ebd8ff9a72cfbb5bc1e2a7b49ee3f92;p=m6w6%2Flibmemcached diff --git a/CMake/_Include.cmake b/CMake/_Include.cmake index 0f25ab48..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() @@ -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})