Merge pull request #140 from hussainnaqvee/patch-1
[awesomized/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-awesome
10 VERSION "${LIBMEMCACHED_VERSION}"
11 DESCRIPTION "libmemcached-awesome, a C/C++ memcached client library"
12 )
13 set(PROJECT_HOMEPAGE_URL "https://github.com/awesomized/libmemcached")
14 set(PROJECT_CONTACT "Michael Wallner <mike@php.net>")
15
16 set(CXX_STANDARD 11)
17 set(CMAKE_POSITION_INDEPENDENT_CODE ON)
18
19 set(GLOBAL_DEFINITIONS _GNU_SOURCE)
20
21 include(CMakeConfig.txt)
22 include(GNUInstallDirs)
23 list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake")
24
25 if(BUILD_DOCS OR BUILD_DOCSONLY)
26 add_subdirectory(docs)
27 endif()
28
29 if(NOT BUILD_DOCSONLY)
30 include(CMake/_Include.cmake)
31
32 set(CLIENTS
33 capable
34 cat
35 cp
36 dump
37 error
38 exist
39 flush
40 parse
41 ping
42 rm
43 slap
44 stat
45 touch
46 )
47
48 add_subdirectory(include)
49 add_subdirectory(src)
50 add_subdirectory(contrib)
51 add_subdirectory(support)
52
53 # tests need c++17 support
54 add_subdirectory(test)
55
56 # keep last
57 configure_file(${CONFIGURE_FILE_IN} ${CONFIGURE_FILE_OUT} @ONLY)
58 endif()
59
60 list(APPEND PROJECT_CONFIG ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_PROCESSOR})
61 list(APPEND PROJECT_CONFIG ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION})
62 list(APPEND PROJECT_CONFIG ${CMAKE_BUILD_TYPE})
63
64 include(CPack.txt)
65
66 install(FILES
67 AUTHORS
68 BUGS.md
69 ChangeLog-0.md
70 ChangeLog-1.0.md
71 ChangeLog-1.1.md
72 CONTRIBUTING.md
73 LICENSE
74 NEWS
75 README.md
76 TODO
77 COMPONENT doc
78 DESTINATION ${CMAKE_INSTALL_DOCDIR}/
79 )
80 if(NOT WIN32)
81 # skip links on windows (cmake bug?)
82 install(FILES
83 ChangeLog
84 ChangeLog.md
85 COPYING
86 COMPONENT doc
87 DESTINATION ${CMAKE_INSTALL_DOCDIR}/
88 )
89 endif()
90
91 if(ENV{INVALID_CONFIGURATION})
92 message(FATAL_ERROR "invalid configuration -- giving up")
93 endif()