set(CMAKE_INSTALL_PREFIX /usr/local
CACHE PATH "install prefix")
-# make test
-
-set(BUILD_TESTING ON
- CACHE STRING "whether to enable build of the test suite")
+option(BUILD_TESTING "whether to enable build of the test suite"
+ OFF)
+option(BUILD_DOCSONLY "build *only* documentation"
+ OFF)
+option(BUILD_DOCS "build documentation"
+ OFF)
+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 ...)")
-set(MEMCACHED_BINARY "/usr/bin/memcached"
- CACHE FILEPATH "memcached binary")
-
-# sasl
-
-set(ENABLE_SASL OFF
- CACHE BOOL "enable SASL support")
-
-# hashes
-
-set(ENABLE_FNV64_HASH ON
- CACHE BOOL "enable fnv64 hash support")
-set(ENABLE_MURMUR_HASH ON
- CACHE BOOL "enable murmur hash support")
-set(ENABLE_HSIEH_HASH OFF
- CACHE BOOL "enable hsieh hash support")
-
-# memaslap, needs libevent and stdatomic
-set(ENABLE_MEMASLAP ON
- CACHE BOOL "enable memaslap client")
-
-# dtrace
-
-set(ENABLE_DTRACE OFF
- CACHE BOOL "enable dtrace support")
-
-# docs / sphinx
-
-set(BUILD_DOCS ON
- CACHE BOOL "build documentation")
-
-set(BUILD_DOCSONLY OFF
- CACHE BOOL "build *only* documentation")
-
-set(GZIP_MAN ON
- CACHE BOOL "gzip manpages")
+if(BUILD_TESTING)
+ set(MEMCACHED_BINARY "/usr/bin/memcached"
+ CACHE FILEPATH "memcached binary")
+endif()
-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 "'collapse_navigation':False, 'navigation_depth':2, 'titles_only':False, 'includehidden':False"
- 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")
+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 "'collapse_navigation':False, 'navigation_depth':2, 'titles_only':False, 'includehidden':False"
+ 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
"${SPHINX_BUILD_DIR}/conf.py"
@ONLY)
- add_custom_target(html
- ${SPHINX_EXECUTABLE}
- -q -b html
- -c "${SPHINX_BUILD_DIR}"
- -d "${SPHINX_CACHE_DIR}"
- ${SPHINX_OPTIONS}
- "${SPHINX_SOURCE_DIR}"
- "${SPHINX_HTML_DIR}"
- BYPRODUCTS ${SPHINX_HTML_DIR}
- )
- add_custom_target(man ALL
- ${SPHINX_EXECUTABLE}
- -q -b man
- -c "${SPHINX_BUILD_DIR}"
- -d "${SPHINX_CACHE_DIR}"
- ${SPHINX_OPTIONS}
- "${SPHINX_SOURCE_DIR}"
- "${SPHINX_MAN_DIR}"
- BYPRODUCTS ${SPHINX_MAN_DIR}
- )
-
- set(MAN_EXT "")
- if(GZIP_MAN)
- find_program(PIGZ pigz)
- if(PIGZ)
- set(GZIP ${PIGZ})
- else()
- find_package(UnixCommands)
- endif()
- if(GZIP)
- set(MAN_EXT ".gz")
- add_custom_target(man_gz ALL
- ${GZIP} -kf ${SPHINX_MAN_DIR}/*.{1,3}
- DEPENDS man
- )
+ if(BUILD_DOCS_HTML)
+ add_custom_target(html
+ ${SPHINX_EXECUTABLE}
+ -q -b html
+ -c "${SPHINX_BUILD_DIR}"
+ -d "${SPHINX_CACHE_DIR}"
+ ${SPHINX_OPTIONS}
+ "${SPHINX_SOURCE_DIR}"
+ "${SPHINX_HTML_DIR}"
+ BYPRODUCTS ${SPHINX_HTML_DIR}
+ )
+ endif()
+
+ if(BUILD_DOCS_MAN)
+ add_custom_target(man ALL
+ ${SPHINX_EXECUTABLE}
+ -q -b man
+ -c "${SPHINX_BUILD_DIR}"
+ -d "${SPHINX_CACHE_DIR}"
+ ${SPHINX_OPTIONS}
+ "${SPHINX_SOURCE_DIR}"
+ "${SPHINX_MAN_DIR}"
+ BYPRODUCTS ${SPHINX_MAN_DIR}
+ )
+
+ set(MAN_EXT "")
+ if(BUILD_DOCS_MANGZ)
+ find_program(PIGZ pigz)
+ if(PIGZ)
+ set(GZIP ${PIGZ})
+ else()
+ find_package(UnixCommands)
+ endif()
+ if(GZIP)
+ set(MAN_EXT ".gz")
+ add_custom_target(man_gz ALL
+ ${GZIP} -kf ${SPHINX_MAN_DIR}/*.{1,3}
+ DEPENDS man
+ )
+ endif()
endif()
+
+ install(DIRECTORY ${SPHINX_MAN_DIR}/
+ DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
+ FILES_MATCHING PATTERN *.1${MAN_EXT}
+ )
+ install(DIRECTORY ${SPHINX_MAN_DIR}/
+ DESTINATION ${CMAKE_INSTALL_MANDIR}/man3
+ FILES_MATCHING PATTERN *.3${MAN_EXT}
+ )
endif()
- install(DIRECTORY ${SPHINX_MAN_DIR}/
- DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
- FILES_MATCHING PATTERN *.1${MAN_EXT}
- )
- install(DIRECTORY ${SPHINX_MAN_DIR}/
- DESTINATION ${CMAKE_INSTALL_MANDIR}/man3
- FILES_MATCHING PATTERN *.3${MAN_EXT}
- )
endif()