github: update workflow for new clang version
[m6w6/libmemcached] / CMakeLists.txt
index ef29a4116b7d955f385ad9ac1ab24250430bbac2..c476f76d7c8bbea2a5e5fd3f2ce4e63ee15a0eaa 100644 (file)
@@ -8,15 +8,24 @@ include(CMakeVersions.txt)
 
 project(libmemcached
         VERSION "${LIBMEMCACHED_VERSION}"
-        DESCRIPTION "libmemcached https://github.com/m6w6/libmemcached"
+        DESCRIPTION "libmemcached, a C/C++ memcached client library"
         )
+set(PROJECT_HOMEPAGE_URL "https://github.com/m6w6/libmemcached")
+set(PROJECT_CONTACT "Michael Wallner <mike@php.net>")
 
 set(CXX_STANDARD 11)
 set(CMAKE_POSITION_INDEPENDENT_CODE ON)
 
 include(CMakeConfig.txt)
+include(GNUInstallDirs)
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake")
+
+if(BUILD_DOCS OR BUILD_DOCSONLY)
+    add_subdirectory(docs)
+endif()
 
 if(NOT BUILD_DOCSONLY)
+    include(CMake/_Include.cmake)
 
     set(CLIENTS
             memcapable
@@ -34,9 +43,9 @@ if(NOT BUILD_DOCSONLY)
             memtouch
             )
 
+    add_subdirectory(include)
     add_subdirectory(src)
     add_subdirectory(contrib)
-    add_subdirectory(include)
     add_subdirectory(support)
 
     # tests need c++17 support
@@ -46,8 +55,35 @@ if(NOT BUILD_DOCSONLY)
     configure_file(${CONFIGURE_FILE_IN} ${CONFIGURE_FILE_OUT} @ONLY)
 endif()
 
-if(BUILD_DOCS OR BUILD_DOCSONLY)
-    add_subdirectory(docs)
+list(APPEND PROJECT_CONFIG ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_PROCESSOR})
+list(APPEND PROJECT_CONFIG ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION})
+list(APPEND PROJECT_CONFIG ${CMAKE_BUILD_TYPE})
+
+include(CPack.txt)
+
+install(FILES
+            AUTHORS
+            BUGS.md
+            ChangeLog-0.md
+            ChangeLog-1.0.md
+            ChangeLog-1.1.md
+            CONTRIBUTING.md
+            LICENSE
+            NEWS
+            README.md
+            TODO
+        COMPONENT doc
+        DESTINATION ${CMAKE_INSTALL_DOCDIR}/
+        )
+if(NOT WIN32)
+    # skip links on windows (cmake bug?)
+    install(FILES
+                ChangeLog
+                ChangeLog.md
+                COPYING
+            COMPONENT doc
+            DESTINATION ${CMAKE_INSTALL_DOCDIR}/
+            )
 endif()
 
 if(ENV{INVALID_CONFIGURATION})