Warning, /graphics/libkdcraw/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 #
0002 # SPDX-FileCopyrightText: 2010-2015 Gilles Caulier <caulier dot gilles at gmail dot com>
0003 #
0004 # SPDX-License-Identifier: BSD-3-Clause
0005 #
0006
0007 if (QT_MAJOR_VERSION STREQUAL "5")
0008 set(KDCRAW_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR_KF}/KDCRAW")
0009 set(KDCRAW_CMAKECONFIG_NAME "KF5KDcraw")
0010 set(LIBRARYFILE_NAME "KF5KDcraw")
0011 set(TARGET_EXPORT_NAME "KDcraw")
0012 set(NAMESPACE_NAME "KF5::")
0013 else()
0014 set(KDCRAW_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR}/KDcrawQt6")
0015 set(KDCRAW_CMAKECONFIG_NAME "KDcrawQt6")
0016 set(LIBRARYFILE_NAME "KDcrawQt6")
0017 set(TARGET_EXPORT_NAME "KDcrawQt6")
0018 set(NAMESPACE_NAME "")
0019 endif()
0020
0021 ecm_setup_version(${LIBKDCRAW_LIB_VERSION}
0022 VARIABLE_PREFIX KDCRAW
0023 VERSION_HEADER "libkdcraw_version.h"
0024 PACKAGE_VERSION_FILE "${KDCRAW_CMAKECONFIG_NAME}ConfigVersion.cmake"
0025 SOVERSION ${LIBKDCRAW_SO_VERSION}
0026 )
0027
0028 kde_enable_exceptions()
0029
0030 add_library(KDcraw SHARED)
0031
0032 set_target_properties(KDcraw PROPERTIES
0033 VERSION ${KDCRAW_VERSION}
0034 SOVERSION ${KDCRAW_SOVERSION}
0035 OUTPUT_NAME ${LIBRARYFILE_NAME}
0036 EXPORT_NAME ${TARGET_EXPORT_NAME}
0037 )
0038
0039 target_sources(KDcraw PRIVATE
0040 kdcraw.cpp
0041 kdcraw_p.cpp
0042 dcrawinfocontainer.cpp
0043 rawdecodingsettings.cpp
0044 )
0045
0046 ecm_qt_declare_logging_category(KDcraw
0047 HEADER libkdcraw_debug.h
0048 IDENTIFIER LIBKDCRAW_LOG
0049 CATEGORY_NAME "libkdcraw"
0050 DESCRIPTION "libkdcraw"
0051 EXPORT KDCRAW
0052 )
0053
0054 ecm_generate_headers(kdcraw_CamelCase_HEADERS
0055 HEADER_NAMES
0056 KDcraw
0057 DcrawInfoContainer
0058 RawDecodingSettings
0059 RawFiles
0060 PREFIX KDCRAW
0061 REQUIRED_HEADERS kdcraw_HEADERS
0062 )
0063
0064 if (QT_MAJOR_VERSION STREQUAL "5")
0065 set(_generate_export_header_version_args)
0066 else()
0067 # For Qt6/KF6 world transitively include the version header
0068 if(ECM_VERSION VERSION_LESS "5.105")
0069 set(include_version_header_code "#include <libkdcraw_version.h>\n")
0070 set(_generate_export_header_version_args CUSTOM_CONTENT_FROM_VARIABLE include_version_header_code)
0071 else()
0072 set(_generate_export_header_version_args USE_VERSION_HEADER)
0073 endif()
0074 endif()
0075 ecm_generate_export_header(KDcraw
0076 BASE_NAME libkdcraw
0077 VERSION ${LIBKDCRAW_LIB_VERSION}
0078 DEPRECATED_BASE_VERSION 0
0079 ${_generate_export_header_version_args}
0080 )
0081
0082 target_include_directories(KDcraw
0083 INTERFACE
0084 "$<INSTALL_INTERFACE:${KDCRAW_INSTALL_INCLUDEDIR};${KDCRAW_INSTALL_INCLUDEDIR}/kdcraw>"
0085 )
0086
0087 target_link_libraries(KDcraw
0088 PUBLIC
0089 Qt${QT_MAJOR_VERSION}::Core
0090 Qt${QT_MAJOR_VERSION}::Gui
0091 PRIVATE
0092 LibRaw::LibRaw
0093 )
0094
0095 install(TARGETS KDcraw
0096 EXPORT KDcrawTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}
0097 )
0098
0099 install(FILES
0100 ${kdcraw_CamelCase_HEADERS}
0101 DESTINATION ${KDCRAW_INSTALL_INCLUDEDIR}/KDCRAW
0102 COMPONENT Devel
0103 )
0104
0105 install(FILES
0106 ${kdcraw_HEADERS}
0107 ${CMAKE_CURRENT_BINARY_DIR}/libkdcraw_export.h
0108 DESTINATION ${KDCRAW_INSTALL_INCLUDEDIR}/kdcraw
0109 COMPONENT Devel
0110 )
0111
0112 install(FILES
0113 "${CMAKE_CURRENT_BINARY_DIR}/libkdcraw_version.h"
0114 DESTINATION "${KDCRAW_INSTALL_INCLUDEDIR}"
0115 COMPONENT Devel
0116 )
0117
0118 ecm_qt_install_logging_categories(
0119 EXPORT KDCRAW
0120 FILE libkdcraw.categories
0121 DESTINATION "${KDE_INSTALL_LOGGINGCATEGORIESDIR}"
0122 )
0123
0124 ############## CMake Config Files ##############
0125
0126 message("${CMAKECONFIG_INSTALL_DIR}")
0127 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/${KDCRAW_CMAKECONFIG_NAME}")
0128
0129 configure_package_config_file(
0130 "${CMAKE_SOURCE_DIR}/cmake/templates/KDcrawConfig.cmake.in"
0131 "${CMAKE_CURRENT_BINARY_DIR}/${KDCRAW_CMAKECONFIG_NAME}Config.cmake"
0132 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
0133 )
0134
0135 install(FILES
0136 "${CMAKE_CURRENT_BINARY_DIR}/${KDCRAW_CMAKECONFIG_NAME}Config.cmake"
0137 "${CMAKE_CURRENT_BINARY_DIR}/${KDCRAW_CMAKECONFIG_NAME}ConfigVersion.cmake"
0138 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0139 COMPONENT Devel
0140 )
0141
0142 install(EXPORT KDcrawTargets
0143 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0144 FILE ${KDCRAW_CMAKECONFIG_NAME}Targets.cmake
0145 NAMESPACE ${NAMESPACE_NAME}
0146 )