X-Git-Url: https://git.m6w6.name/?p=awesomized%2Flibmemcached;a=blobdiff_plain;f=CMakeConfig.txt;h=2a8617f1ad0614b44caf09b523dd1d41ab0849bf;hp=baced8881fe6d27588587c1be03b89025f0f7a1a;hb=refs%2Fheads%2Ftest%2Fpoll_timeout;hpb=8e4d46a24fcb064e30edd886e703d21895b3708a diff --git a/CMakeConfig.txt b/CMakeConfig.txt index baced888..2a8617f1 100644 --- a/CMakeConfig.txt +++ b/CMakeConfig.txt @@ -1,4 +1,3 @@ - if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) if(NOT DEFINED ENV{CMAKE_BUILD_TYPE}) set(ENV{CMAKE_BUILD_TYPE} Release) @@ -14,10 +13,21 @@ if(APPLE) CACHE STRING "set relative rpath") elseif(UNIX) # FIXME - set(CMAKE_INSTALL_RPATH $ORIGIN + set(CMAKE_INSTALL_RPATH "\$ORIGIN" CACHE STRING "set relative rpath") endif() +if(${CMAKE_VERSION} VERSION_LESS "3.12") + set(TARGET_NAMELINK_COMPONENT "") +else() + set(TARGET_NAMELINK_COMPONENT NAMELINK_COMPONENT dev DESTINATION ${CMAKE_INSTALL_LIBDIR}) +endif() + +set(CLIENT_PREFIX mem + CACHE STRING "client prefix (default mem; i.e.: memstat, memcp, memcat ...)") + +option(BUILD_SHARED_LIBS "whether to build shared libraries" + ON) option(BUILD_TESTING "whether to enable build of the test suite" $ENV{BUILD_TESTING}) option(BUILD_DOCSONLY "build *only* documentation" @@ -30,30 +40,50 @@ option(BUILD_DOCS_MAN "build manpages" ${BUILD_DOCS}) option(BUILD_DOCS_MANGZ "gzip manpages" ${BUILD_DOCS_MAN}) +if(BUILD_DOCS_MANGZ) + set(BUILD_DOCS_MAN ON CACHE BOOL "forced by BUILD_DOCS_MANGZ" FORCE) +endif() +if(BUILD_DOCS_MAN OR BUILD_DOCS_HTML) + set(BUILD_DOCS ON CACHE BOOL "forced by BUILD_DOCS_MAN OR BUILD_DOCS_HTML" FORCE) +endif() +set(ENABLE_SANITIZERS "$ENV{ENABLE_SANITIZERS}" + CACHE STRING "sanitizers to enable (e.g. address;undefined ...)") +option(ENABLE_SASL "enable SASL support" + $ENV{ENABLE_SASL}) option(ENABLE_DTRACE "enable dtrace support" $ENV{ENABLE_DTRACE}) -option(ENABLE_HASH_FNV64 "enable fnv64 hash support" - ON) -option(ENABLE_HASH_MURMUR "enable murmur hash support" - ON) option(ENABLE_HASH_HSIEH "enable hsieh hash support" $ENV{ENABLE_HASH_HSIEH}) +if(NOT DEFINED ENV{ENABLE_HASH_FNV64}) + set(ENV{ENABLE_HASH_FNV64} ON) +endif() +option(ENABLE_HASH_FNV64 "enable fnv64 hash support" + $ENV{ENABLE_HASH_FNV64}) +if(NOT DEFINED ENV{ENABLE_HASH_MURMUR}) + set(ENV{ENABLE_HASH_MURMUR} ON) +endif() +option(ENABLE_HASH_MURMUR "enable murmur hash support" + $ENV{ENABLE_HASH_MURMUR}) +if(NOT DEFINED ENV{ENABLE_MEMASLAP}) + set(ENV{ENABLE_MEMASLAP} ON) +endif() option(ENABLE_MEMASLAP "enable memaslap client" - ON) -option(ENABLE_SASL "enable SASL support" - $ENV{ENABLE_SASL}) - -set(ENABLE_SANITIZERS $ENV{ENABLE_SANITIZERS} - CACHE STRING "sanitizers to enable (e.g. address undefined ...)") + $ENV{ENABLE_MEMASLAP}) +option(ENABLE_OPENSSL_CRYPTO + "enable OpenSSL's libcrypto instead of bundled AES implementation" + $ENV{ENABLE_OPENSSL_CRYPTO}) if(BUILD_TESTING) - set(MEMCACHED_BINARY "/usr/bin/memcached" - CACHE FILEPATH "memcached binary") + set(MEMCACHED_BINARY "$ENV{MEMCACHED_BINARY}" + CACHE STRING "memcached binary") set(CMAKE_CTEST_ARGUMENTS "--output-on-failure") if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.17) # available since CMake 3.17 - list(APPEND CMAKE_CTEST_ARGUMENTS -j2 --repeat until-pass:2) + list(APPEND CMAKE_CTEST_ARGUMENTS --repeat until-pass:2) + if(NOT "$ENV{CIRRUS_CI}") + list(APPEND CMAKE_CTEST_ARGUMENTS -j2) + endif() endif() endif() @@ -69,17 +99,3 @@ if(BUILD_DOCS) set(SPHINX_CONF_APPEND "" CACHE STRING "append verbatim code to sphinx' conf.py") endif() - -# legacy - -set(HAVE_VISIBILITY 1) -set(HAVE_SHARED_ENABLED 1) -set(HAVE_GCC_BUILTIN_ATOMIC 1) - -# modules - -set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMake) - -if(NOT BUILD_DOCSONLY) - include(CMake/_Include.cmake) -endif()