Warning, /graphics/kphotoalbum/lib/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2021 - 2023 Johannes Zarl-Zierl <johannes@zarl-zierl.at> 0002 # 0003 # SPDX-License-Identifier: BSD-3-Clause 0004 0005 ################################################################################ 0006 ### KPA::Base 0007 add_custom_target( 0008 UpdateVersion ALL 0009 COMMAND "${CMAKE_COMMAND}" 0010 "-DBASE_DIR=${kphotoalbum_SOURCE_DIR}" -DPROJECT_NAME=KPA -DPROJECT_VERSION="${kphotoalbum_VERSION}" 0011 "-DOUTPUT_DIR=${CMAKE_CURRENT_SOURCE_DIR}/kpabase" 0012 -DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}" -P "${kphotoalbum_SOURCE_DIR}/cmake/modules/UpdateVersion.cmake" 0013 COMMENT "Updating version header." 0014 BYPRODUCTS "${CMAKE_CURRENT_SOURCE_DIR}/kpabase/version.h" 0015 ) 0016 0017 find_package(KF5KDcraw) 0018 set_package_properties(KF5KDcraw 0019 PROPERTIES 0020 TYPE OPTIONAL 0021 PURPOSE "Enables RAW image support" 0022 ) 0023 set(HAVE_KDCRAW ${KF5KDcraw_FOUND}) 0024 0025 configure_file(kpabase/config-kpa-kdcraw.h.in "${CMAKE_CURRENT_BINARY_DIR}/kpabase/config-kpa-kdcraw.h") 0026 configure_file(kpabase/config-kpa-plugins.h.in "${CMAKE_CURRENT_BINARY_DIR}/kpabase/config-kpa-plugins.h") 0027 configure_file(kpabase/config-kpa-marble.h.in "${CMAKE_CURRENT_BINARY_DIR}/kpabase/config-kpa-marble.h") 0028 0029 add_library(kpabase 0030 "${CMAKE_CURRENT_BINARY_DIR}/kpabase/config-kpa-kdcraw.h" 0031 "${CMAKE_CURRENT_BINARY_DIR}/kpabase/config-kpa-plugins.h" 0032 "${CMAKE_CURRENT_BINARY_DIR}/kpabase/config-kpa-marble.h" 0033 kpabase/enums.cpp 0034 kpabase/enums.h 0035 kpabase/CrashSentinel.cpp 0036 kpabase/CrashSentinel.h 0037 kpabase/FileName.cpp 0038 kpabase/FileName.h 0039 kpabase/FileNameList.cpp 0040 kpabase/FileNameList.h 0041 kpabase/Logging.cpp 0042 kpabase/Logging.h 0043 kpabase/UIDelegate.cpp 0044 kpabase/UIDelegate.h 0045 kpabase/SettingsData.cpp 0046 kpabase/SettingsData.h 0047 kpabase/FileExtensions.cpp 0048 kpabase/FileExtensions.h 0049 kpabase/FileNameUtil.cpp 0050 kpabase/FileNameUtil.h 0051 kpabase/StringSet.cpp 0052 kpabase/StringSet.h 0053 kpabase/version.h 0054 ) 0055 add_library(KPA::Base ALIAS kpabase) 0056 # FIXME(jzarl): once KPhotoAlbum uses internal libs, export public symbols instead: 0057 set_target_properties(kpabase PROPERTIES CXX_VISIBILITY_PRESET default) 0058 0059 # see CMP0071 0060 set_property(SOURCE kpabase/version.h PROPERTY SKIP_AUTOMOC ON) 0061 0062 target_link_libraries(kpabase 0063 PUBLIC 0064 KF5::ConfigCore 0065 KF5::I18n 0066 Qt5::Core 0067 ) 0068 if(KF5KDcraw_FOUND) 0069 target_link_libraries(kpabase PRIVATE KF5::KDcraw) 0070 endif() 0071 0072 install(TARGETS kpabase ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0073 0074 # unit tests: 0075 add_subdirectory(kpabase) 0076 0077 ################################################################################ 0078 ### KPA::Thumbnails 0079 add_library(kpathumbnails 0080 kpathumbnails/ThumbnailCache.cpp 0081 kpathumbnails/ThumbnailCache.h 0082 kpathumbnails/CacheFileInfo.cpp 0083 kpathumbnails/CacheFileInfo.h 0084 ) 0085 add_library(KPA::Thumbnails ALIAS kpathumbnails) 0086 # FIXME(jzarl): once KPhotoAlbum uses internal libs, export public symbols instead: 0087 set_target_properties(kpathumbnails PROPERTIES CXX_VISIBILITY_PRESET default) 0088 0089 target_link_libraries(kpathumbnails 0090 PUBLIC 0091 KPA::Base 0092 Qt5::Gui 0093 ) 0094 0095 install(TARGETS kpathumbnails ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0096 0097 # unit tests: 0098 add_subdirectory(kpathumbnails) 0099 0100 ################################################################################ 0101 ### KPA::Exif 0102 add_library(kpaexif 0103 kpaexif/Database.cpp 0104 kpaexif/Database.h 0105 kpaexif/SearchInfo.cpp 0106 kpaexif/SearchInfo.h 0107 kpaexif/Info.cpp 0108 kpaexif/Info.h 0109 kpaexif/DatabaseElement.cpp 0110 kpaexif/DatabaseElement.h 0111 ) 0112 add_library(KPA::Exif ALIAS kpaexif) 0113 # FIXME(jzarl): once KPhotoAlbum uses internal libs, export public symbols instead: 0114 set_target_properties(kpaexif PROPERTIES CXX_VISIBILITY_PRESET default) 0115 0116 find_package(exiv2 CONFIG REQUIRED) 0117 # exiv2 0.28.1 moved exiv2lib into the Exiv2 namespace: 0118 if(TARGET Exiv2::exiv2lib) 0119 set(EXIV2_LIBRARIES Exiv2::exiv2lib) 0120 else() 0121 set(EXIV2_LIBRARIES exiv2lib) 0122 endif() 0123 0124 target_link_libraries(kpaexif 0125 PRIVATE 0126 Qt5::Sql 0127 PUBLIC 0128 ${EXIV2_LIBRARIES} # TODO(jzarl): make this private if possible 0129 KPA::Base 0130 Qt5::Core 0131 ) 0132 0133 install(TARGETS kpaexif ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0134 0135 # unit tests: 0136 add_subdirectory(kpaexif) 0137 0138 # vi:expandtab:tabstop=4 shiftwidth=4: