Changeset View
Changeset View
Standalone View
Standalone View
CMakeLists.txt
1 | # | 1 | # | ||
---|---|---|---|---|---|
2 | # Copyright (c) 2010-2015, Gilles Caulier, <caulier dot gilles at gmail dot com> | 2 | # Copyright (c) 2010-2015, Gilles Caulier, <caulier dot gilles at gmail dot com> | ||
3 | # | 3 | # | ||
4 | # Redistribution and use is allowed according to the terms of the BSD license. | 4 | # Redistribution and use is allowed according to the terms of the BSD license. | ||
5 | # For details see the accompanying COPYING-CMAKE-SCRIPTS file. | 5 | # For details see the accompanying COPYING-CMAKE-SCRIPTS file. | ||
6 | 6 | | |||
7 | set(CMAKE_MIN_VERSION "3.0.0") | 7 | set(CMAKE_MIN_VERSION "3.0.0") | ||
8 | set(ECM_MIN_VERSION "1.1.0") | 8 | set(ECM_MIN_VERSION "1.1.0") | ||
9 | set(REQUIRED_QT_VERSION "5.2.0") | 9 | set(REQUIRED_QT_VERSION "5.2.0") | ||
10 | set(EXIV2_MIN_VERSION "0.24") | 10 | set(EXIV2_MIN_VERSION "0.25") | ||
11 | 11 | | |||
12 | cmake_minimum_required(VERSION ${CMAKE_MIN_VERSION}) | 12 | cmake_minimum_required(VERSION ${CMAKE_MIN_VERSION}) | ||
13 | 13 | | |||
14 | project(libkexiv2) | 14 | project(libkexiv2 VERSION "5.0.0") | ||
15 | 15 | | |||
16 | message(STATUS "----------------------------------------------------------------------------------") | 16 | message(STATUS "----------------------------------------------------------------------------------") | ||
17 | message(STATUS "Starting CMake configuration for: ${PROJECT_NAME}") | 17 | message(STATUS "Starting CMake configuration for: ${PROJECT_NAME}") | ||
18 | 18 | | |||
19 | # ======================================================= | 19 | # ======================================================= | ||
20 | # Information to update before to release this library. | 20 | # Information to update before to release this library. | ||
21 | 21 | | |||
22 | # Library version history: | 22 | # Library version history: | ||
Show All 19 Lines | |||||
42 | # 2.1.0 => 10.0.1 (Released with KDE 4.7.1) - Add AltLangStrEdit visible lines API | 42 | # 2.1.0 => 10.0.1 (Released with KDE 4.7.1) - Add AltLangStrEdit visible lines API | ||
43 | # 2.1.1 => 10.0.2 (Released with KDE 4.7.4) - Add AltLangStrEdit::setCurrentLanguageCode() | 43 | # 2.1.1 => 10.0.2 (Released with KDE 4.7.4) - Add AltLangStrEdit::setCurrentLanguageCode() | ||
44 | # 2.2.0 => 11.0.0 (Released with KDE 4.8.1) - Remove deprecated methods | 44 | # 2.2.0 => 11.0.0 (Released with KDE 4.8.1) - Remove deprecated methods | ||
45 | # 2.3.0 => 11.1.0 (Released with KDE 4.8.2) - Add new static methods about XMP sidecar file management. | 45 | # 2.3.0 => 11.1.0 (Released with KDE 4.8.2) - Add new static methods about XMP sidecar file management. | ||
46 | # 2.3.1 => 11.2.0 - Add new method to set specific XMP tag string | 46 | # 2.3.1 => 11.2.0 - Add new method to set specific XMP tag string | ||
47 | # 2.4.0 => 11.3.0 - Add new method to access on text edit widget from AltLangStrEdit | 47 | # 2.4.0 => 11.3.0 - Add new method to access on text edit widget from AltLangStrEdit | ||
48 | # 5.0.0 => 15.0.0 (Released with KDE 5.x) | 48 | # 5.0.0 => 15.0.0 (Released with KDE 5.x) | ||
49 | 49 | | |||
50 | # Library API version | | |||
51 | set(KEXIV2_LIB_MAJOR_VERSION "5") | | |||
52 | set(KEXIV2_LIB_MINOR_VERSION "0") | | |||
53 | set(KEXIV2_LIB_PATCH_VERSION "0") | | |||
54 | | ||||
55 | # Library ABI version used by linker. | 50 | # Library ABI version used by linker. | ||
56 | # For details : http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info | 51 | # For details : http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info | ||
57 | set(KEXIV2_LIB_SO_CUR_VERSION "15") | 52 | set(KEXIV2_LIB_SO_CUR_VERSION "15") | ||
58 | set(KEXIV2_LIB_SO_REV_VERSION "0") | 53 | set(KEXIV2_LIB_SO_REV_VERSION "0") | ||
59 | set(KEXIV2_LIB_SO_AGE_VERSION "0") | 54 | set(KEXIV2_LIB_SO_AGE_VERSION "0") | ||
60 | 55 | | |||
61 | set(LIBKEXIV2_LIB_VERSION "${KEXIV2_LIB_MAJOR_VERSION}.${KEXIV2_LIB_MINOR_VERSION}.${KEXIV2_LIB_PATCH_VERSION}") | | |||
62 | set(LIBKEXIV2_SO_VERSION "${KEXIV2_LIB_SO_CUR_VERSION}.${KEXIV2_LIB_SO_REV_VERSION}.${KEXIV2_LIB_SO_AGE_VERSION}") | 56 | set(LIBKEXIV2_SO_VERSION "${KEXIV2_LIB_SO_CUR_VERSION}.${KEXIV2_LIB_SO_REV_VERSION}.${KEXIV2_LIB_SO_AGE_VERSION}") | ||
63 | 57 | | |||
64 | ############## ECM setup ###################### | 58 | ############## ECM setup ###################### | ||
65 | 59 | | |||
66 | find_package(ECM ${ECM_MIN_VERSION} CONFIG REQUIRED) | 60 | find_package(ECM ${ECM_MIN_VERSION} CONFIG REQUIRED) | ||
67 | set(CMAKE_MODULE_PATH ${libkexiv2_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH}) | 61 | set(CMAKE_MODULE_PATH ${libkexiv2_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH}) | ||
68 | 62 | | |||
69 | include(ECMGenerateHeaders) | 63 | include(ECMGenerateHeaders) | ||
70 | include(ECMGeneratePriFile) | 64 | include(ECMGeneratePriFile) | ||
71 | include(ECMPackageConfigHelpers) | 65 | include(ECMPackageConfigHelpers) | ||
72 | include(ECMSetupVersion) | 66 | include(ECMSetupVersion) | ||
73 | include(ECMMarkNonGuiExecutable) | 67 | include(ECMMarkNonGuiExecutable) | ||
74 | include(KDEInstallDirs) | 68 | include(KDEInstallDirs) | ||
75 | include(KDECMakeSettings) | 69 | include(KDECMakeSettings) | ||
76 | include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) | 70 | include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) | ||
77 | include(GenerateExportHeader) | 71 | include(GenerateExportHeader) | ||
78 | include(FeatureSummary) | 72 | include(FeatureSummary) | ||
79 | 73 | | |||
74 | ecm_setup_version(${libkexiv2_VERSION} | ||||
75 | VARIABLE_PREFIX KEXIV2 | ||||
76 | VERSION_HEADER "src/libkexiv2_version.h" | ||||
77 | PACKAGE_VERSION_FILE "KF5KExiv2ConfigVersion.cmake" | ||||
78 | SOVERSION ${LIBKEXIV2_SO_VERSION} | ||||
79 | ) | ||||
80 | | ||||
80 | ############## Find Packages ################### | 81 | ############## Find Packages ################### | ||
81 | 82 | | |||
82 | find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS | 83 | find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS | ||
83 | Core | 84 | Core | ||
84 | Gui | 85 | Gui | ||
85 | ) | 86 | ) | ||
86 | 87 | | |||
87 | find_package(Exiv2 ${EXIV2_MIN_VERSION} REQUIRED) | 88 | find_package(LibExiv2 ${EXIV2_MIN_VERSION} REQUIRED) | ||
88 | set_package_properties("Exiv2" PROPERTIES | | |||
89 | DESCRIPTION "Required to build libkexiv2" | | |||
90 | URL "http://www.exiv2.org" | | |||
91 | TYPE RECOMMENDED | | |||
92 | PURPOSE "Library to manage image metadata" | | |||
93 | ) | | |||
94 | | ||||
95 | ecm_setup_version(${LIBKEXIV2_LIB_VERSION} | | |||
96 | VARIABLE_PREFIX KEXIV2 | | |||
97 | VERSION_HEADER "src/libkexiv2_version.h" | | |||
98 | PACKAGE_VERSION_FILE "KF5KExiv2ConfigVersion.cmake" | | |||
99 | SOVERSION ${LIBKEXIV2_SO_VERSION} | | |||
100 | ) | | |||
101 | 89 | | |||
102 | ############## Targets ######################### | 90 | ############## Targets ######################### | ||
103 | 91 | | |||
104 | add_subdirectory(src) | 92 | add_subdirectory(src) | ||
105 | 93 | | |||
106 | if (BUILD_TESTING) | 94 | if (BUILD_TESTING) | ||
107 | add_subdirectory(tests) | 95 | add_subdirectory(tests) | ||
108 | endif() | 96 | endif() | ||
Show All 26 Lines |