Warning, /sdk/libkomparediff2/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 set(KOMPAREDIFF2_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR}/KompareDiff2")
0002 set(KOMPAREDIFF2_CMAKECONFIG_NAME "LibKompareDiff2")
0003 
0004 add_definitions(-DTRANSLATION_DOMAIN=\"libkomparediff2\")
0005 
0006 ecm_setup_version(PROJECT
0007     VARIABLE_PREFIX      KOMPAREDIFF2
0008     VERSION_HEADER       "komparediff2_version.h"
0009     PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/${KOMPAREDIFF2_CMAKECONFIG_NAME}ConfigVersion.cmake"
0010     COMPATIBILITY        SameMajorVersion
0011     SOVERSION            5
0012 )
0013 
0014 add_library(komparediff2 SHARED)
0015 
0016 set_target_properties(komparediff2 PROPERTIES
0017     VERSION     ${KOMPAREDIFF2_VERSION}
0018     SOVERSION   ${KOMPAREDIFF2_SOVERSION}
0019     EXPORT_NAME "KompareDiff2"
0020 )
0021 
0022 target_sources(komparediff2 PRIVATE
0023     kompareprocess.cpp
0024     komparemodellist.cpp
0025     diffmodellist.cpp
0026     diffmodel.cpp
0027     difference.cpp
0028     diffhunk.cpp
0029     diffsettings.cpp
0030     settingsbase.cpp
0031     parser.cpp
0032     parserbase.cpp
0033     cvsdiffparser.cpp
0034     diffparser.cpp
0035     perforceparser.cpp
0036     stringlistpair.cpp
0037     kompare.cpp
0038 )
0039 
0040 ecm_qt_declare_logging_category(komparediff2
0041     HEADER komparediffdebug.h
0042     IDENTIFIER LIBKOMPAREDIFF2
0043     CATEGORY_NAME "libkomparediff"
0044     DESCRIPTION "libkomparediff"
0045     EXPORT komparediff2
0046 )
0047 
0048 if (QT_MAJOR_VERSION STREQUAL "5")
0049     set(_generate_export_header_version_args)
0050 else()
0051     # For Qt6/KF6 world transitively include the version header
0052     if(ECM_VERSION VERSION_LESS "5.106")
0053         set(include_version_header_code "#include <komparediff2_version.h>\n")
0054         set(_generate_export_header_version_args CUSTOM_CONTENT_FROM_VARIABLE include_version_header_code)
0055     else()
0056         set(_generate_export_header_version_args USE_VERSION_HEADER VERSION_BASE_NAME KOMPAREDIFF2)
0057     endif()
0058 endif()
0059 
0060 ecm_generate_export_header(komparediff2
0061     VERSION ${KOMPAREDIFF2_VERSION}
0062     DEPRECATED_BASE_VERSION 0
0063     DEPRECATION_VERSIONS 5.4
0064     EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
0065     ${_generate_export_header_version_args}
0066 )
0067 
0068 target_link_libraries(komparediff2
0069     PUBLIC
0070         KF${KF_MAJOR_VERSION}::XmlGui
0071         KF${KF_MAJOR_VERSION}::ConfigCore
0072         Qt::Widgets
0073         Qt::Core
0074     PRIVATE
0075         KF${KF_MAJOR_VERSION}::KIOCore
0076         KF${KF_MAJOR_VERSION}::I18n
0077         KF${KF_MAJOR_VERSION}::CoreAddons
0078 )
0079 
0080 if (QT_MAJOR_VERSION STREQUAL "6")
0081     target_link_libraries(komparediff2 PRIVATE Qt6::Core5Compat)
0082 endif()
0083 
0084 target_include_directories(komparediff2 INTERFACE "$<INSTALL_INTERFACE:${KOMPAREDIFF2_INSTALL_INCLUDEDIR}>")
0085 if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.4.0)
0086     target_include_directories(komparediff2 PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/compat>")
0087 endif()
0088 
0089 install(TARGETS komparediff2 EXPORT LibKompareDiff2Targets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0090 
0091 ecm_generate_headers(komparediff2_CamelCase_HEADERS
0092     HEADER_NAMES
0093         Difference,DifferenceString
0094         DiffHunk
0095         DiffModel
0096         DiffModelList
0097         DiffSettings
0098         Kompare
0099         KompareModelList
0100         Marker
0101         SettingsBase
0102     PREFIX KompareDiff2
0103     REQUIRED_HEADERS komparediff2_HEADERS
0104 )
0105 
0106 # provide compat headers for old include path prefix libkomparediff2/
0107 if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.4.0)
0108     set(compat_headers
0109         compat/diff2_export.h
0110         compat/diff2_export_p.h
0111     )
0112 
0113     function(generate_compat_headers)
0114         foreach(classname ${ARGV})
0115             string(TOLOWER ${classname} classname_lc)
0116             set(header_name "${classname_lc}.h")
0117             set(compat_header "${CMAKE_CURRENT_BINARY_DIR}/compat/${header_name}")
0118             configure_file(compat/header.h.in ${compat_header} @ONLY)
0119             list(APPEND compat_headers ${compat_header})
0120         endforeach()
0121         set(compat_headers ${compat_headers} PARENT_SCOPE)
0122     endfunction()
0123 
0124     generate_compat_headers(
0125         Difference
0126         DiffHunk
0127         DiffModel
0128         DiffModelList
0129         DiffSettings
0130         Kompare
0131         KompareModelList
0132         Marker
0133         SettingsBase
0134     )
0135 
0136     install(
0137         FILES ${compat_headers}
0138         DESTINATION ${KOMPAREDIFF2_INSTALL_INCLUDEDIR}/libkomparediff2
0139         COMPONENT Devel
0140     )
0141 endif()
0142 
0143 install(
0144     FILES
0145         ${CMAKE_CURRENT_BINARY_DIR}/komparediff2_export.h
0146         ${komparediff2_HEADERS}
0147     DESTINATION
0148         ${KOMPAREDIFF2_INSTALL_INCLUDEDIR}/komparediff2
0149     COMPONENT
0150         Devel
0151 )
0152 install(
0153     FILES
0154         ${komparediff2_CamelCase_HEADERS}
0155     DESTINATION
0156         ${KOMPAREDIFF2_INSTALL_INCLUDEDIR}/KompareDiff2
0157     COMPONENT
0158         Devel
0159 )
0160 install(
0161     FILES
0162         ${CMAKE_CURRENT_BINARY_DIR}/komparediff2_version.h
0163     DESTINATION
0164         ${KOMPAREDIFF2_INSTALL_INCLUDEDIR}
0165     COMPONENT
0166         Devel
0167 )
0168 
0169 ecm_qt_install_logging_categories(
0170     EXPORT komparediff2
0171     FILE libkomparediff2.categories
0172     DESTINATION "${KDE_INSTALL_LOGGINGCATEGORIESDIR}"
0173 )
0174 
0175 
0176 # CMake config files
0177 set(_LibKompareDiff2_CONFIG_DEST "${KDE_INSTALL_CMAKEPACKAGEDIR}/${KOMPAREDIFF2_CMAKECONFIG_NAME}")
0178 
0179 configure_package_config_file(
0180     "${CMAKE_CURRENT_SOURCE_DIR}/LibKompareDiff2Config.cmake.in"
0181     "${CMAKE_CURRENT_BINARY_DIR}/${KOMPAREDIFF2_CMAKECONFIG_NAME}Config.cmake"
0182     INSTALL_DESTINATION  "${_LibKompareDiff2_CONFIG_DEST}"
0183 )
0184 
0185 install( FILES
0186         "${CMAKE_CURRENT_BINARY_DIR}/${KOMPAREDIFF2_CMAKECONFIG_NAME}ConfigVersion.cmake"
0187         "${CMAKE_CURRENT_BINARY_DIR}/${KOMPAREDIFF2_CMAKECONFIG_NAME}Config.cmake"
0188         DESTINATION "${_LibKompareDiff2_CONFIG_DEST}" )
0189 install( EXPORT LibKompareDiff2Targets
0190          DESTINATION "${_LibKompareDiff2_CONFIG_DEST}"
0191          FILE ${KOMPAREDIFF2_CMAKECONFIG_NAME}Targets.cmake )