Changeset View
Standalone View
src/CMakeLists.txt
1 | ######################### libalkimia Version ########################## | 1 | ######################### libalkimia Version ########################## | ||
---|---|---|---|---|---|
2 | # The current version of libalkimia (used for packages and config.h) | 2 | # The current version of libalkimia (used for packages and config.h) | ||
3 | set(VERSION_MAJOR "7") | 3 | set(VERSION_MAJOR "7") | ||
4 | set(VERSION_MINOR "0") | 4 | set(VERSION_MINOR "0") | ||
5 | set(VERSION_PATCH "0") | 5 | set(VERSION_PATCH "1") | ||
habacker: net better to set minor level ? there is a dependency change | |||||
From https://semver.org/
Since we did not add any additional code and do not provide additional functionality with this change (other than being able to support building with MSVC) I decided to simply increment the patchlevel since the change is totally backward compatible. tbaumgart: From https://semver.org/
> What should I do if I update my own dependencies without changing… | |||||
6 | 6 | | |||
7 | include(GenerateExportHeader) | 7 | include(GenerateExportHeader) | ||
8 | include(ECMGenerateHeaders) | 8 | include(ECMGenerateHeaders) | ||
9 | include(ECMGeneratePriFile) | 9 | include(ECMGeneratePriFile) | ||
10 | include(ECMPackageConfigHelpers) | 10 | include(ECMPackageConfigHelpers) | ||
11 | include(ECMSetupVersion) | 11 | include(ECMSetupVersion) | ||
12 | 12 | | |||
13 | set(ALKIMIA_LIB_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") | 13 | set(ALKIMIA_LIB_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") | ||
14 | set(ALKIMIA_LIB_SOVERSION "${VERSION_MAJOR}") | 14 | set(ALKIMIA_LIB_SOVERSION "${VERSION_MAJOR}") | ||
15 | 15 | | |||
16 | set(alkimia_LIB_SRCS | 16 | set(alkimia_LIB_SRCS | ||
17 | alkvalue.cpp | 17 | alkvalue.cpp | ||
18 | alkquoteitem.cpp | 18 | alkquoteitem.cpp | ||
19 | alkcompany.cpp | 19 | alkcompany.cpp | ||
20 | ) | 20 | ) | ||
21 | 21 | | |||
22 | set(alkimia_HEADERS | 22 | set(alkimia_HEADERS | ||
23 | alkvalue.h | 23 | ${CMAKE_CURRENT_BINARY_DIR}/alkvalue.h | ||
24 | alkquoteitem.h | 24 | alkquoteitem.h | ||
25 | alkcompany.h | 25 | alkcompany.h | ||
26 | ${CMAKE_CURRENT_BINARY_DIR}/alk_export.h | 26 | ${CMAKE_CURRENT_BINARY_DIR}/alk_export.h | ||
27 | ) | 27 | ) | ||
28 | 28 | | |||
29 | add_library(alkimia SHARED ${alkimia_LIB_SRCS}) | 29 | add_library(alkimia SHARED ${alkimia_LIB_SRCS}) | ||
30 | 30 | | |||
31 | kde_target_enable_exceptions(alkimia PUBLIC) | 31 | kde_target_enable_exceptions(alkimia PUBLIC) | ||
32 | 32 | | |||
33 | target_include_directories(alkimia PUBLIC ${GMP_INCLUDE_DIR}) | 33 | target_include_directories(alkimia PUBLIC ${MP_INCLUDE_DIR}) | ||
34 | target_link_libraries(alkimia PUBLIC ${QT_USE_LIBSPREFIX}Core ${QT_USE_LIBSPREFIX}DBus ${GMP_LIBRARIES}) | 34 | target_link_libraries(alkimia PUBLIC ${QT_USE_LIBSPREFIX}Core ${QT_USE_LIBSPREFIX}DBus ${MP_LIBRARIES}) | ||
35 | generate_export_header(alkimia BASE_NAME alk) | 35 | generate_export_header(alkimia BASE_NAME alk) | ||
36 | 36 | | |||
37 | if(WIN32) | 37 | if(WIN32) | ||
38 | set_target_properties(alkimia PROPERTIES SUFFIX "${ALKIMIA_LIB_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}") | 38 | set_target_properties(alkimia PROPERTIES SUFFIX "${ALKIMIA_LIB_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}") | ||
39 | else() | 39 | else() | ||
40 | set_target_properties(alkimia PROPERTIES VERSION ${ALKIMIA_LIB_VERSION} SOVERSION ${ALKIMIA_LIB_SOVERSION}) | 40 | set_target_properties(alkimia PROPERTIES VERSION ${ALKIMIA_LIB_VERSION} SOVERSION ${ALKIMIA_LIB_SOVERSION}) | ||
41 | endif() | 41 | endif() | ||
42 | set_target_properties(alkimia PROPERTIES OUTPUT_NAME alkimia${ALKIMIA_LIB_SUFFIX}) | 42 | set_target_properties(alkimia PROPERTIES OUTPUT_NAME alkimia${ALKIMIA_LIB_SUFFIX}) | ||
43 | set(INCLUDE_INSTALL_DIR include/alkimia/${ALKIMIA_INCLUDE_SUFFIX}) | 43 | set(INCLUDE_INSTALL_DIR include/alkimia/${ALKIMIA_INCLUDE_SUFFIX}) | ||
44 | 44 | | |||
45 | if (NOT WIN32) | 45 | if (NOT WIN32) | ||
46 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libalkimia.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libalkimia${ALKIMIA_PATH_SUFFIX}.pc IMMEDIATE @ONLY) | 46 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libalkimia.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libalkimia${ALKIMIA_PATH_SUFFIX}.pc IMMEDIATE @ONLY) | ||
47 | endif(NOT WIN32) | 47 | endif(NOT WIN32) | ||
48 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/alkvalue.h.in ${CMAKE_CURRENT_BINARY_DIR}/alkvalue.h IMMEDIATE) | ||||
48 | 49 | | |||
49 | ########### create package configuration file ########### | 50 | ########### create package configuration file ########### | ||
50 | 51 | | |||
51 | # create a Config.cmake and a ConfigVersion.cmake file and install them | 52 | # create a Config.cmake and a ConfigVersion.cmake file and install them | ||
52 | set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/LibAlkimia${ALKIMIA_PATH_SUFFIX}-${VERSION_MAJOR}.${VERSION_MINOR}") | 53 | set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/LibAlkimia${ALKIMIA_PATH_SUFFIX}-${VERSION_MAJOR}.${VERSION_MINOR}") | ||
53 | 54 | | |||
54 | ecm_setup_version(${ALKIMIA_LIB_VERSION} VARIABLE_PREFIX ALKIMIA | 55 | ecm_setup_version(${ALKIMIA_LIB_VERSION} VARIABLE_PREFIX ALKIMIA | ||
55 | PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/LibAlkimia${ALKIMIA_PATH_SUFFIX}ConfigVersion.cmake" | 56 | PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/LibAlkimia${ALKIMIA_PATH_SUFFIX}ConfigVersion.cmake" | ||
Show All 27 Lines | |||||
83 | 84 | | |||
84 | install(FILES ${alkimia_HEADERS} | 85 | install(FILES ${alkimia_HEADERS} | ||
85 | DESTINATION ${INCLUDE_INSTALL_DIR}/alkimia | 86 | DESTINATION ${INCLUDE_INSTALL_DIR}/alkimia | ||
86 | COMPONENT Devel) | 87 | COMPONENT Devel) | ||
87 | 88 | | |||
88 | install(FILES | 89 | install(FILES | ||
89 | "${CMAKE_CURRENT_BINARY_DIR}/LibAlkimia${ALKIMIA_PATH_SUFFIX}Config.cmake" | 90 | "${CMAKE_CURRENT_BINARY_DIR}/LibAlkimia${ALKIMIA_PATH_SUFFIX}Config.cmake" | ||
90 | "${CMAKE_CURRENT_BINARY_DIR}/LibAlkimia${ALKIMIA_PATH_SUFFIX}ConfigVersion.cmake" | 91 | "${CMAKE_CURRENT_BINARY_DIR}/LibAlkimia${ALKIMIA_PATH_SUFFIX}ConfigVersion.cmake" | ||
91 | "../cmake/modules/FindGMP.cmake" | 92 | "../cmake/modules/Find${MP_CMAKE_MODULE}.cmake" | ||
Not better to specify some mp related variable e.g MP_FIND_PACKAGE_PATTERN set to "MPIR" or "GMP" and to install only the supported file ? habacker: Not better to specify some mp related variable e.g MP_FIND_PACKAGE_PATTERN set to "MPIR" or… | |||||
92 | DESTINATION "${CMAKECONFIG_INSTALL_DIR}" | 93 | DESTINATION "${CMAKECONFIG_INSTALL_DIR}" | ||
93 | COMPONENT Devel) | 94 | COMPONENT Devel) | ||
94 | 95 | | |||
95 | if (NOT WIN32) | 96 | if (NOT WIN32) | ||
96 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libalkimia${ALKIMIA_PATH_SUFFIX}.pc | 97 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libalkimia${ALKIMIA_PATH_SUFFIX}.pc | ||
97 | DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) | 98 | DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) | ||
98 | endif(NOT WIN32) | 99 | endif(NOT WIN32) | ||
99 | 100 | | |||
Show All 12 Lines |
net better to set minor level ? there is a dependency change