1 cmake_minimum_required(VERSION 3.9...3.18)
3 if(${CMAKE_VERSION} VERSION_LESS 3.12)
4 cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
7 include(CMakeVersions.txt)
10 VERSION "${LIBMEMCACHED_VERSION}"
11 DESCRIPTION "libmemcached, a C/C++ memcached client library"
13 set(PROJECT_HOMEPAGE_URL "https://github.com/awesomized/libmemcached")
14 set(PROJECT_CONTACT "Michael Wallner <mike@php.net>")
17 set(CMAKE_POSITION_INDEPENDENT_CODE ON)
19 include(CMakeConfig.txt)
20 include(GNUInstallDirs)
21 list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake")
23 if(BUILD_DOCS OR BUILD_DOCSONLY)
24 add_subdirectory(docs)
27 if(NOT BUILD_DOCSONLY)
28 include(CMake/_Include.cmake)
46 add_subdirectory(include)
48 add_subdirectory(contrib)
49 add_subdirectory(support)
51 # tests need c++17 support
52 add_subdirectory(test)
55 configure_file(${CONFIGURE_FILE_IN} ${CONFIGURE_FILE_OUT} @ONLY)
58 list(APPEND PROJECT_CONFIG ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_PROCESSOR})
59 list(APPEND PROJECT_CONFIG ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION})
60 list(APPEND PROJECT_CONFIG ${CMAKE_BUILD_TYPE})
76 DESTINATION ${CMAKE_INSTALL_DOCDIR}/
79 # skip links on windows (cmake bug?)
85 DESTINATION ${CMAKE_INSTALL_DOCDIR}/
89 if(ENV{INVALID_CONFIGURATION})
90 message(FATAL_ERROR "invalid configuration -- giving up")