cab79f2c7ba53270c05161a6be5107c681bfdf32
[m6w6/libmemcached] / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.9...3.18)
2
3 if(${CMAKE_VERSION} VERSION_LESS 3.12)
4 cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
5 endif()
6
7 include(CMakeVersions.txt)
8
9 project(libmemcached
10 VERSION "${LIBMEMCACHED_VERSION}"
11 DESCRIPTION "libmemcached https://github.com/m6w6/libmemcached"
12 )
13
14 set(CXX_STANDARD 11)
15 set(CMAKE_POSITION_INDEPENDENT_CODE ON)
16
17 include(CMakeConfig.txt)
18
19 if(NOT BUILD_DOCSONLY)
20
21 set(AUTOHEADER_FILE mem_config.h)
22
23 set(CLIENTS
24 memcapable
25 memcat
26 memcp
27 memdump
28 memerror
29 memexist
30 memflush
31 memparse
32 memping
33 memrm
34 memslap
35 memstat
36 memtouch
37 )
38
39 add_subdirectory(src)
40 add_subdirectory(contrib)
41 add_subdirectory(include)
42 add_subdirectory(support)
43 add_subdirectory(test)
44
45 # keep last
46 configure_file(src/mem_config.h.in ${AUTOHEADER_FILE} @ONLY)
47 endif()
48
49 if(BUILD_DOCS OR BUILD_DOCSONLY)
50 add_subdirectory(docs)
51 endif()
52
53 if(ENV{INVALID_CONFIGURATION})
54 message(FATAL_ERROR "invalid configuration -- giving up")
55 endif()