cmake: fix docs
[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, a C/C++ memcached client library"
12 )
13 set(CMAKE_PROJECT_HOMEPAGE_URL "https://github.com/m6w6/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 include(CMakeConfig.txt)
20 include(GNUInstallDirs)
21 list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake")
22
23 if(BUILD_DOCS OR BUILD_DOCSONLY)
24 add_subdirectory(docs)
25 endif()
26
27 if(NOT BUILD_DOCSONLY)
28 include(CMake/_Include.cmake)
29
30 set(CLIENTS
31 memcapable
32 memcat
33 memcp
34 memdump
35 memerror
36 memexist
37 memflush
38 memparse
39 memping
40 memrm
41 memslap
42 memstat
43 memtouch
44 )
45
46 add_subdirectory(src)
47 add_subdirectory(contrib)
48 add_subdirectory(include)
49 add_subdirectory(support)
50
51 # tests need c++17 support
52 add_subdirectory(test)
53
54 # keep last
55 configure_file(${CONFIGURE_FILE_IN} ${CONFIGURE_FILE_OUT} @ONLY)
56 endif()
57
58 include(CPack.txt)
59
60 install(FILES
61 AUTHORS
62 BUGS.md
63 ChangeLog-0.md
64 ChangeLog-1.0.md
65 ChangeLog-1.1.md
66 CONTRIBUTING.md
67 LICENSE
68 NEWS
69 README.md
70 TODO
71 COMPONENT doc
72 DESTINATION ${CMAKE_INSTALL_DOCDIR}/
73 )
74 if(NOT WIN32)
75 # skip links on windows (cmake bug?)
76 install(FILES
77 ChangeLog
78 ChangeLog.md
79 COPYING
80 COMPONENT doc
81 DESTINATION ${CMAKE_INSTALL_DOCDIR}/
82 )
83 endif()
84
85 if(ENV{INVALID_CONFIGURATION})
86 message(FATAL_ERROR "invalid configuration -- giving up")
87 endif()