X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=CMakeConfig.txt;h=baced8881fe6d27588587c1be03b89025f0f7a1a;hb=91e5fd8766a7a8b42aa1357b0db06b60f0154f46;hp=0c8a118b6b99bab997f055b5303b83ff573f02ae;hpb=28c4d79e109e11d7d2a9f3189de57da28302ec68;p=awesomized%2Flibmemcached diff --git a/CMakeConfig.txt b/CMakeConfig.txt index 0c8a118b..baced888 100644 --- a/CMakeConfig.txt +++ b/CMakeConfig.txt @@ -1,14 +1,29 @@ -set(CMAKE_BUILD_TYPE Release - CACHE STRING "build type (Release, Debug, ...)") + +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + if(NOT DEFINED ENV{CMAKE_BUILD_TYPE}) + set(ENV{CMAKE_BUILD_TYPE} Release) + endif() + set(CMAKE_BUILD_TYPE $ENV{CMAKE_BUILD_TYPE} + CACHE STRING "build type (Release, Debug, ...)" FORCE) +endif() 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) + $ENV{BUILD_TESTING}) option(BUILD_DOCSONLY "build *only* documentation" - OFF) + $ENV{BUILD_DOCSONLY}) option(BUILD_DOCS "build documentation" - OFF) + ${BUILD_DOCSONLY}) option(BUILD_DOCS_HTML "build HTML docs" ${BUILD_DOCS}) option(BUILD_DOCS_MAN "build manpages" @@ -17,32 +32,37 @@ option(BUILD_DOCS_MANGZ "gzip manpages" ${BUILD_DOCS_MAN}) option(ENABLE_DTRACE "enable dtrace support" - OFF) + $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" - OFF) + $ENV{ENABLE_HASH_HSIEH}) option(ENABLE_MEMASLAP "enable memaslap client" ON) option(ENABLE_SASL "enable SASL support" - OFF) + $ENV{ENABLE_SASL}) -set(ENABLE_SANITIZERS "" +set(ENABLE_SANITIZERS $ENV{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 "nature" #"sphinx_rtd_theme" + 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" + set(SPHINX_THEME_OPTIONS "" CACHE STRING "sphinx HTML theme options") set(SPHINX_EXTENSIONS "" CACHE STRING "comma separated list of quoted sphinx extensions")