test: poll_timeout; see php-memcached-dev/php-memcached#531
[awesomized/libmemcached] / CMakeConfig.txt
1 if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
2 if(NOT DEFINED ENV{CMAKE_BUILD_TYPE})
3 set(ENV{CMAKE_BUILD_TYPE} Release)
4 endif()
5 set(CMAKE_BUILD_TYPE $ENV{CMAKE_BUILD_TYPE}
6 CACHE STRING "build type (Release, Debug, ...)" FORCE)
7 endif()
8 set(CMAKE_INSTALL_PREFIX /usr/local
9 CACHE PATH "install prefix")
10
11 if(APPLE)
12 set(CMAKE_INSTALL_RPATH @loader_path
13 CACHE STRING "set relative rpath")
14 elseif(UNIX)
15 # FIXME
16 set(CMAKE_INSTALL_RPATH "\$ORIGIN"
17 CACHE STRING "set relative rpath")
18 endif()
19
20 if(${CMAKE_VERSION} VERSION_LESS "3.12")
21 set(TARGET_NAMELINK_COMPONENT "")
22 else()
23 set(TARGET_NAMELINK_COMPONENT NAMELINK_COMPONENT dev DESTINATION ${CMAKE_INSTALL_LIBDIR})
24 endif()
25
26 set(CLIENT_PREFIX mem
27 CACHE STRING "client prefix (default mem; i.e.: memstat, memcp, memcat ...)")
28
29 option(BUILD_SHARED_LIBS "whether to build shared libraries"
30 ON)
31 option(BUILD_TESTING "whether to enable build of the test suite"
32 $ENV{BUILD_TESTING})
33 option(BUILD_DOCSONLY "build *only* documentation"
34 $ENV{BUILD_DOCSONLY})
35 option(BUILD_DOCS "build documentation"
36 ${BUILD_DOCSONLY})
37 option(BUILD_DOCS_HTML "build HTML docs"
38 ${BUILD_DOCS})
39 option(BUILD_DOCS_MAN "build manpages"
40 ${BUILD_DOCS})
41 option(BUILD_DOCS_MANGZ "gzip manpages"
42 ${BUILD_DOCS_MAN})
43 if(BUILD_DOCS_MANGZ)
44 set(BUILD_DOCS_MAN ON CACHE BOOL "forced by BUILD_DOCS_MANGZ" FORCE)
45 endif()
46 if(BUILD_DOCS_MAN OR BUILD_DOCS_HTML)
47 set(BUILD_DOCS ON CACHE BOOL "forced by BUILD_DOCS_MAN OR BUILD_DOCS_HTML" FORCE)
48 endif()
49
50 set(ENABLE_SANITIZERS "$ENV{ENABLE_SANITIZERS}"
51 CACHE STRING "sanitizers to enable (e.g. address;undefined ...)")
52 option(ENABLE_SASL "enable SASL support"
53 $ENV{ENABLE_SASL})
54 option(ENABLE_DTRACE "enable dtrace support"
55 $ENV{ENABLE_DTRACE})
56 option(ENABLE_HASH_HSIEH "enable hsieh hash support"
57 $ENV{ENABLE_HASH_HSIEH})
58 if(NOT DEFINED ENV{ENABLE_HASH_FNV64})
59 set(ENV{ENABLE_HASH_FNV64} ON)
60 endif()
61 option(ENABLE_HASH_FNV64 "enable fnv64 hash support"
62 $ENV{ENABLE_HASH_FNV64})
63 if(NOT DEFINED ENV{ENABLE_HASH_MURMUR})
64 set(ENV{ENABLE_HASH_MURMUR} ON)
65 endif()
66 option(ENABLE_HASH_MURMUR "enable murmur hash support"
67 $ENV{ENABLE_HASH_MURMUR})
68 if(NOT DEFINED ENV{ENABLE_MEMASLAP})
69 set(ENV{ENABLE_MEMASLAP} ON)
70 endif()
71 option(ENABLE_MEMASLAP "enable memaslap client"
72 $ENV{ENABLE_MEMASLAP})
73 option(ENABLE_OPENSSL_CRYPTO
74 "enable OpenSSL's libcrypto instead of bundled AES implementation"
75 $ENV{ENABLE_OPENSSL_CRYPTO})
76
77 if(BUILD_TESTING)
78 set(MEMCACHED_BINARY "$ENV{MEMCACHED_BINARY}"
79 CACHE STRING "memcached binary")
80 set(CMAKE_CTEST_ARGUMENTS "--output-on-failure")
81 if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.17)
82 # available since CMake 3.17
83 list(APPEND CMAKE_CTEST_ARGUMENTS --repeat until-pass:2)
84 if(NOT "$ENV{CIRRUS_CI}")
85 list(APPEND CMAKE_CTEST_ARGUMENTS -j2)
86 endif()
87 endif()
88 endif()
89
90 if(BUILD_DOCS)
91 set(SPHINX_OPTIONS ""
92 CACHE STRING "additional sphinx-build command line options")
93 set(SPHINX_THEME "sphinx_rtd_theme"
94 CACHE STRING "sphinx HTML theme")
95 set(SPHINX_THEME_OPTIONS ""
96 CACHE STRING "sphinx HTML theme options")
97 set(SPHINX_EXTENSIONS ""
98 CACHE STRING "comma separated list of quoted sphinx extensions")
99 set(SPHINX_CONF_APPEND ""
100 CACHE STRING "append verbatim code to sphinx' conf.py")
101 endif()