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 )