2 if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
3 if(NOT DEFINED ENV{CMAKE_BUILD_TYPE})
4 set(ENV{CMAKE_BUILD_TYPE} Release)
6 set(CMAKE_BUILD_TYPE $ENV{CMAKE_BUILD_TYPE}
7 CACHE STRING "build type (Release, Debug, ...)" FORCE)
9 set(CMAKE_INSTALL_PREFIX /usr/local
10 CACHE PATH "install prefix")
13 set(CMAKE_INSTALL_RPATH @loader_path
14 CACHE STRING "set relative rpath")
17 set(CMAKE_INSTALL_RPATH "\$ORIGIN"
18 CACHE STRING "set relative rpath")
21 option(BUILD_TESTING "whether to enable build of the test suite"
23 option(BUILD_DOCSONLY "build *only* documentation"
25 option(BUILD_DOCS "build documentation"
27 option(BUILD_DOCS_HTML "build HTML docs"
29 option(BUILD_DOCS_MAN "build manpages"
31 option(BUILD_DOCS_MANGZ "gzip manpages"
34 set(ENABLE_SANITIZERS "$ENV{ENABLE_SANITIZERS}"
35 CACHE STRING "sanitizers to enable (e.g. address undefined ...)")
36 option(ENABLE_SASL "enable SASL support"
38 option(ENABLE_DTRACE "enable dtrace support"
40 option(ENABLE_HASH_HSIEH "enable hsieh hash support"
41 $ENV{ENABLE_HASH_HSIEH})
42 if(NOT DEFINED ENV{ENABLE_HASH_FNV64})
43 set(ENV{ENABLE_HASH_FNV64} ON)
45 option(ENABLE_HASH_FNV64 "enable fnv64 hash support"
46 $ENV{ENABLE_HASH_FNV64})
47 if(NOT DEFINED ENV{ENABLE_HASH_MURMUR})
48 set(ENV{ENABLE_HASH_MURMUR} ON)
50 option(ENABLE_HASH_MURMUR "enable murmur hash support"
51 $ENV{ENABLE_HASH_MURMUR})
52 if(NOT DEFINED ENV{ENABLE_MEMASLAP})
53 set(ENV{ENABLE_MEMASLAP} ON)
55 option(ENABLE_MEMASLAP "enable memaslap client"
56 $ENV{ENABLE_MEMASLAP})
59 set(MEMCACHED_BINARY "$ENV{MEMCACHED_BINARY}"
60 CACHE STRING "memcached binary")
61 set(CMAKE_CTEST_ARGUMENTS "--output-on-failure")
62 if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.17)
63 # available since CMake 3.17
64 list(APPEND CMAKE_CTEST_ARGUMENTS --repeat until-pass:2)
65 if(NOT "$ENV{CIRRUS_CI}")
66 list(APPEND CMAKE_CTEST_ARGUMENTS -j2)
73 CACHE STRING "additional sphinx-build command line options")
74 set(SPHINX_THEME "sphinx_rtd_theme"
75 CACHE STRING "sphinx HTML theme")
76 set(SPHINX_THEME_OPTIONS ""
77 CACHE STRING "sphinx HTML theme options")
78 set(SPHINX_EXTENSIONS ""
79 CACHE STRING "comma separated list of quoted sphinx extensions")
80 set(SPHINX_CONF_APPEND ""
81 CACHE STRING "append verbatim code to sphinx' conf.py")
86 set(HAVE_VISIBILITY 1)
87 set(HAVE_SHARED_ENABLED 1)
88 set(HAVE_GCC_BUILTIN_ATOMIC 1)
92 list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake")
94 if(NOT BUILD_DOCSONLY)
95 include(CMake/_Include.cmake)