1 set(PROJECT_VERSION 0.1.9)
2 set(PROJECT_LICENSE MPL-2.0)
3 set(PROJECT_CONTACT tqfx@tqfx.org)
4 set(PROJECT_DESCRIPTION "An algorithm library based on C/C++")
5 set(PROJECT_HOMEPAGE_URL "https://github.com/tqfx/liba.git")
6 string(REGEX MATCH "[^.]+\\.[^.]+\\.[0-9]+" PROJECT_VERSION_PATCH "${PROJECT_VERSION}")
7 string(REGEX REPLACE "^[^.]+\\.[^.]+\\.([0-9]+).*" "\\1" PROJECT_VERSION_PATCH "${PROJECT_VERSION_PATCH}")
8 string(REGEX MATCH "[^.]+\\.[0-9]+" PROJECT_VERSION_MINOR "${PROJECT_VERSION}")
9 string(REGEX REPLACE "^[^.]+\\.([0-9]+).*" "\\1" PROJECT_VERSION_MINOR "${PROJECT_VERSION_MINOR}")
10 string(REGEX MATCH "[0-9]+" PROJECT_VERSION_MAJOR "${PROJECT_VERSION}")
12 set(${PROJECT_NAME}_VERSION ${PROJECT_VERSION})
13 set(${PROJECT_NAME}_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
14 set(${PROJECT_NAME}_VERSION_MINOR ${PROJECT_VERSION_MINOR})
15 set(${PROJECT_NAME}_VERSION_PATCH ${PROJECT_VERSION_PATCH})
18 set(${PROJECT_NAME}_DESCRIPTION ${PROJECT_DESCRIPTION})
21 set(${PROJECT_NAME}_HOMEPAGE_URL ${PROJECT_HOMEPAGE_URL})
24 set(${PROJECT_NAME}_LICENSE ${PROJECT_LICENSE})
26 if(CMAKE_VERSION VERSION_LESS 3.21)
27 if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
28 set(PROJECT_IS_TOP_LEVEL 1)
30 set(PROJECT_IS_TOP_LEVEL 0)
33 if(NOT CMAKE_PROJECT_VERSION_PATCH AND PROJECT_IS_TOP_LEVEL)
34 set(CMAKE_PROJECT_VERSION_PATCH ${PROJECT_VERSION_PATCH} CACHE STATIC "Value Computed by CMake" FORCE)
36 if(NOT CMAKE_PROJECT_VERSION_MINOR AND PROJECT_IS_TOP_LEVEL)
37 set(CMAKE_PROJECT_VERSION_MINOR ${PROJECT_VERSION_MINOR} CACHE STATIC "Value Computed by CMake" FORCE)
39 if(NOT CMAKE_PROJECT_VERSION_MAJOR AND PROJECT_IS_TOP_LEVEL)
40 set(CMAKE_PROJECT_VERSION_MAJOR ${PROJECT_VERSION_MAJOR} CACHE STATIC "Value Computed by CMake" FORCE)
42 if(NOT CMAKE_PROJECT_HOMEPAGE_URL AND PROJECT_IS_TOP_LEVEL)
43 set(CMAKE_PROJECT_HOMEPAGE_URL ${PROJECT_HOMEPAGE_URL} CACHE STATIC "Value Computed by CMake" FORCE)
45 if(NOT CMAKE_PROJECT_DESCRIPTION AND PROJECT_IS_TOP_LEVEL)
46 set(CMAKE_PROJECT_DESCRIPTION ${PROJECT_DESCRIPTION} CACHE STATIC "Value Computed by CMake" FORCE)
48 if(NOT CMAKE_PROJECT_VERSION AND PROJECT_IS_TOP_LEVEL)
49 set(CMAKE_PROJECT_VERSION ${PROJECT_VERSION} CACHE STATIC "Value Computed by CMake" FORCE)
51 set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME ${PROJECT_NAME})
52 set(CPACK_RPM_PACKAGE_LICENSE ${PROJECT_LICENSE})
53 set(CPACK_PACKAGE_CONTACT ${PROJECT_CONTACT})
54 set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})