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