X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=CMakeLists.txt;h=f559febd4e1796228d07c10297d4b77d031cc17a;hb=d3ccb3a18e065b270a58b628482d1ca06f58766c;hp=ff0a93a2c5e3b4618421a9521feedd02b9145a13;hpb=ffaad0afbece28d246557bdff64b47103ea8f179;p=awesomized%2Flibmemcached diff --git a/CMakeLists.txt b/CMakeLists.txt index ff0a93a2..f559febd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,8 +4,10 @@ if(${CMAKE_VERSION} VERSION_LESS 3.12) cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) endif() +include(CMakeVersions.txt) + project(libmemcached - VERSION 1.99 + VERSION "${LIBMEMCACHED_VERSION}" DESCRIPTION "libmemcached https://github.com/m6w6/libmemcached" ) @@ -13,64 +15,51 @@ set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON) -include(Config.cmake) -include(Include.cmake) - -find_package(Threads REQUIRED) -find_library(HAVE_LIBSASL NAMES sasl sasl2) -check_header(sasl/sasl.h) - -check_header(arpa/inet.h) -check_header(dlfcn.h) -check_header(errno.h) -check_header(execinfo.h) -check_header(fcntl.h) -check_header(io.h) -check_header(limits.h) -check_header(netdb.h) -check_header(poll.h) -check_header(stddef.h) -check_header(stdlib.h) -check_header(strings.h) -check_header(sys/socket.h) -check_header(sys/time.h) -check_header(sys/types.h) -check_header(sys/un.h) -check_header(time.h) -check_header(umem.h) -check_header(unistd.h) -check_header(winsock2.h) -check_header(ws2tcpip.h) +include(CMakeConfig.txt) -check_decl(fcntl fcntl.h) -check_decl(htonll arpa/inet.h) -check_decl(MSG_DONTWAIT sys/socket.h) -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(strerror string.h) -check_decl(abi::__cxa_demangle cxxabi.h) -set(HAVE_GCC_ABI_DEMANGLE ${HAVE_ABI____CXA_DEMANGLE}) +if(NOT BUILD_DOCSONLY) + foreach(INCLUDE IN ITEMS ${CMAKE_BINARY_DIR} .) + include_directories( + ${INCLUDE}/ + ${INCLUDE}/include + ${INCLUDE}/src + ) + endforeach() -check_type(in_port_t netinet/in.h) + set(AUTOHEADER_FILE mem_config.h) -check_header(cstdint) -check_header(cinttypes) + set(CLIENTS + memcapable + memcat + memcp + memdump + memerror + memexist + memflush + memparse + memping + memrm + memslap + memstat + memtouch + ) -check_debug() + add_subdirectory(include) + add_subdirectory(src) + add_subdirectory(support) -include_directories(${CMAKE_BINARY_DIR}) + if(BUILD_TESTING) + add_subdirectory(tests) + endif() -add_subdirectory(clients) -add_subdirectory(libhashkit) -add_subdirectory(libhashkit-1.0) -add_subdirectory(libmemcached) -add_subdirectory(libmemcached-1.0) -add_subdirectory(libmemcachedutil) + # keep last + configure_file(src/mem_config.h.in ${AUTOHEADER_FILE} @ONLY) +endif() -add_subdirectory(docs) +if(BUILD_DOCS OR BUILD_DOCSONLY) + add_subdirectory(docs) +endif() -# keep last -configure_file(mem_config.h.in ${CMAKE_BINARY_DIR}/mem_config.h @ONLY) +if(ENV{INVALID_CONFIGURATION}) + message(FATAL_ERROR "invalid configuration -- giving up") +endif()