set(CMAKE_BUILD_TYPE Release CACHE STRING "build type (Release, Debug, ...)") set(CMAKE_INSTALL_PREFIX /usr/local CACHE PATH "install prefix") if(APPLE) set(CMAKE_INSTALL_RPATH @loader_path CACHE STRING "set relative rpath") elseif(UNIX) # FIXME set(CMAKE_INSTALL_RPATH $ORIGIN CACHE STRING "set relative rpath") endif() option(BUILD_TESTING "whether to enable build of the test suite" OFF) option(BUILD_DOCSONLY "build *only* documentation" OFF) option(BUILD_DOCS "build documentation" ${BUILD_DOCSONLY}) option(BUILD_DOCS_HTML "build HTML docs" ${BUILD_DOCS}) option(BUILD_DOCS_MAN "build manpages" ${BUILD_DOCS}) option(BUILD_DOCS_MANGZ "gzip manpages" ${BUILD_DOCS_MAN}) option(ENABLE_DTRACE "enable dtrace support" OFF) 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" OFF) option(ENABLE_MEMASLAP "enable memaslap client" ON) option(ENABLE_SASL "enable SASL support" OFF) set(ENABLE_SANITIZERS "" CACHE STRING "sanitizers to enable (e.g. address undefined ...)") if(BUILD_TESTING) set(MEMCACHED_BINARY "/usr/bin/memcached" CACHE FILEPATH "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) endif() endif() if(BUILD_DOCS) set(SPHINX_OPTIONS "" CACHE STRING "additional sphinx-build command line options") set(SPHINX_THEME "sphinx_rtd_theme" CACHE STRING "sphinx HTML theme") set(SPHINX_THEME_OPTIONS "" CACHE STRING "sphinx HTML theme options") set(SPHINX_EXTENSIONS "" CACHE STRING "comma separated list of quoted sphinx extensions") 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()