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 )