X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=CMakeLists.txt;h=1396a42a587a35afee82ca9ab37c4caa283260ea;hb=refs%2Fheads%2Ftest%2Fpoll_timeout;hp=cab79f2c7ba53270c05161a6be5107c681bfdf32;hpb=fd0f1940d4b11f582fc237ff5ccf2c385eaa0e7d;p=awesomized%2Flibmemcached diff --git a/CMakeLists.txt b/CMakeLists.txt index cab79f2c..1396a42a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,48 +6,86 @@ endif() include(CMakeVersions.txt) -project(libmemcached +project(libmemcached-awesome VERSION "${LIBMEMCACHED_VERSION}" - DESCRIPTION "libmemcached https://github.com/m6w6/libmemcached" + DESCRIPTION "libmemcached-awesome, a C/C++ memcached client library" ) +set(PROJECT_HOMEPAGE_URL "https://github.com/awesomized/libmemcached") +set(PROJECT_CONTACT "Michael Wallner ") set(CXX_STANDARD 11) set(CMAKE_POSITION_INDEPENDENT_CODE ON) +set(GLOBAL_DEFINITIONS _GNU_SOURCE) + include(CMakeConfig.txt) +include(GNUInstallDirs) +list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake") -if(NOT BUILD_DOCSONLY) +if(BUILD_DOCS OR BUILD_DOCSONLY) + add_subdirectory(docs) +endif() - set(AUTOHEADER_FILE mem_config.h) +if(NOT BUILD_DOCSONLY) + include(CMake/_Include.cmake) set(CLIENTS - memcapable - memcat - memcp - memdump - memerror - memexist - memflush - memparse - memping - memrm - memslap - memstat - memtouch + capable + cat + cp + dump + error + exist + flush + parse + ping + rm + slap + stat + touch ) + add_subdirectory(include) add_subdirectory(src) add_subdirectory(contrib) - add_subdirectory(include) add_subdirectory(support) + + # tests need c++17 support add_subdirectory(test) # keep last - configure_file(src/mem_config.h.in ${AUTOHEADER_FILE} @ONLY) + configure_file(${CONFIGURE_FILE_IN} ${CONFIGURE_FILE_OUT} @ONLY) endif() -if(BUILD_DOCS OR BUILD_DOCSONLY) - add_subdirectory(docs) +list(APPEND PROJECT_CONFIG ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_PROCESSOR}) +list(APPEND PROJECT_CONFIG ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}) +list(APPEND PROJECT_CONFIG ${CMAKE_BUILD_TYPE}) + +include(CPack.txt) + +install(FILES + AUTHORS + BUGS.md + ChangeLog-0.md + ChangeLog-1.0.md + ChangeLog-1.1.md + CONTRIBUTING.md + LICENSE + NEWS + README.md + TODO + COMPONENT doc + DESTINATION ${CMAKE_INSTALL_DOCDIR}/ + ) +if(NOT WIN32) + # skip links on windows (cmake bug?) + install(FILES + ChangeLog + ChangeLog.md + COPYING + COMPONENT doc + DESTINATION ${CMAKE_INSTALL_DOCDIR}/ + ) endif() if(ENV{INVALID_CONFIGURATION})