cmake
[awesomized/libmemcached] / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.9..3.16)
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(CMAKE_CXX_STANDARD 11)
15 set(CMAKE_CXX_STANDARD_REQUIRED ON)
16 set(CMAKE_POSITION_INDEPENDENT_CODE ON)
17
18 include(CMakeConfig.txt)
19
20 include_directories(${CMAKE_BINARY_DIR})
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(clients)
40 add_subdirectory(libhashkit)
41 add_subdirectory(libhashkit-1.0)
42 add_subdirectory(libmemcached)
43 add_subdirectory(libmemcached-1.0)
44 add_subdirectory(libmemcachedutil)
45 add_subdirectory(libmemcachedutil-1.0)
46
47 if(BUILD_TESTING)
48 add_subdirectory(libtest)
49 add_subdirectory(tests)
50 endif()
51
52 add_subdirectory(docs)
53 add_subdirectory(support)
54
55 # keep last
56 configure_file(mem_config.h.in ${CMAKE_BINARY_DIR}/${AUTOHEADER_FILE} @ONLY)