1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
|
# SPDX-FileCopyrightText: 2023-2026 Laurent Montel <montel@kde.org>
# SPDX-License-Identifier: BSD-3-Clause
# add_definitions(-DTRANSLATION_DOMAIN=\"libtextaddonswidgets\")
########### CMake Config Files ###########
set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6TextUtils")
ecm_setup_version(PROJECT VARIABLE_PREFIX TEXTUTILS
VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/textutils_version.h"
PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF6TextUtilsConfigVersion.cmake"
SOVERSION 1
)
add_subdirectory(cmark-rc)
add_library(KF6TextUtils)
add_library(KF6::TextUtils ALIAS KF6TextUtils)
target_sources(
KF6TextUtils
PRIVATE
converttext/converttext.cpp
converttext/converttext.h
syntaxhighlighting/textutilsiconnamecache.cpp
syntaxhighlighting/textutilsiconnamecache.h
syntaxhighlighting/textutilssyntaxhighlighter.cpp
syntaxhighlighting/textutilssyntaxhighlighter.h
syntaxhighlighting/textutilssyntaxhighlightingmanager.cpp
syntaxhighlighting/textutilssyntaxhighlightingmanager.h
syntaxhighlighting/textutilsblockcodemanager.h
syntaxhighlighting/textutilsblockcodemanager.cpp
syntaxhighlighting/textutilscopyblockiconcache.h
syntaxhighlighting/textutilscopyblockiconcache.cpp
cmark/textutilsblockcmarksupport.h
cmark/textutilsblockcmarksupport.cpp
colors/textutilscolorsandmessageviewstyle.h
colors/textutilscolorsandmessageviewstyle.cpp
)
target_link_libraries(
KF6TextUtils
PRIVATE
Qt::Core
KF6::SyntaxHighlighting
KF6::IconThemes
KF6::I18n
cmark-rc
KF6::CoreAddons
KF6::ColorScheme
)
ecm_qt_declare_logging_category(KF6TextUtils HEADER textutils_debug.h
IDENTIFIER TEXTUTILS_LOG
CATEGORY_NAME org.kde.kf.textutils
OLD_CATEGORY_NAMES org.kde.kf6.textutils
DESCRIPTION "KF6 (textutils)" EXPORT KTEXTADDONS
)
ecm_qt_declare_logging_category(KF6TextUtils HEADER textutils_syntaxhighlighting_debug.h
IDENTIFIER TEXTUTILS_SYNTAXHIGHLIGHTING_LOG
CATEGORY_NAME org.kde.kf.textutils.syntaxhighlighting
DESCRIPTION "KF6 (textutils syntaxhighlighting)" EXPORT KTEXTADDONS
)
ecm_qt_declare_logging_category(KF6TextUtils HEADER textutils_cmark_debug.h
IDENTIFIER TEXTUTILS_CMARK_LOG
CATEGORY_NAME org.kde.kf.textutils.cmark
DESCRIPTION "KF6 (textutils cmark)" EXPORT KTEXTADDONS
)
if(COMPILE_WITH_UNITY_CMAKE_SUPPORT)
set_target_properties(
KF6TextUtils
PROPERTIES
UNITY_BUILD
ON
)
endif()
generate_export_header(KF6TextUtils BASE_NAME TextUtils)
target_include_directories(KF6TextUtils INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/TextUtils;>")
target_link_libraries(KF6TextUtils PUBLIC Qt::Gui)
set_target_properties(
KF6TextUtils
PROPERTIES
VERSION
${TEXTUTILS_VERSION}
SOVERSION
${TEXTUTILS_SOVERSION}
EXPORT_NAME
TextUtils
)
install(TARGETS KF6TextUtils EXPORT KF6TextUtilsTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
ecm_generate_headers(TextUtils_CamelCase_HEADERS
HEADER_NAMES
ConvertText
REQUIRED_HEADERS TextUtils_HEADERS
PREFIX TextUtils
RELATIVE converttext
)
ecm_generate_headers(TextUtils_Colors_CamelCase_HEADERS
HEADER_NAMES
TextUtilsColorsAndMessageViewStyle
REQUIRED_HEADERS TextUtils_Colors_HEADERS
PREFIX TextUtils
RELATIVE colors
)
ecm_generate_headers(TextUtils_Syntaxhighlighting_CamelCase_HEADERS
HEADER_NAMES
TextUtilsSyntaxHighlighter
TextUtilsSyntaxHighlightingManager
TextUtilsBlockCodeManager
TextUtilsIconNameCache
TextUtilsCopyBlockIconCache
REQUIRED_HEADERS TextUtils_Syntaxhighlighting_HEADERS
PREFIX TextUtils
RELATIVE syntaxhighlighting
)
ecm_generate_headers(TextUtils_CMark_CamelCase_HEADERS
HEADER_NAMES
TextUtilsBlockCMarkSupport
REQUIRED_HEADERS TextUtils_CMark_HEADERS
PREFIX TextUtils
RELATIVE cmark
)
set(TEXTUTILS_FILES
${TextUtils_HEADERS}
${TextUtils_Syntaxhighlighting_HEADERS}
${TextUtils_CMark_HEADERS}
${TextUtils_Colors_HEADERS}
)
install(
FILES
${TEXTUTILS_FILES}
${CMAKE_CURRENT_BINARY_DIR}/textutils_export.h
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/TextUtils/textutils
COMPONENT Devel
)
install(
FILES
${TextUtils_CamelCase_HEADERS}
${TextUtils_Syntaxhighlighting_CamelCase_HEADERS}
${TextUtils_CMark_CamelCase_HEADERS}
${TextUtils_Colors_CamelCase_HEADERS}
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/TextUtils/TextUtils/
COMPONENT Devel
)
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/KFTextUtilsConfig.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/KF6TextUtilsConfig.cmake"
INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
)
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/KF6TextUtilsConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/KF6TextUtilsConfigVersion.cmake"
DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
COMPONENT Devel
)
install(
EXPORT KF6TextUtilsTargets
DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
FILE KF6TextUtilsTargets.cmake
NAMESPACE KF6::
)
install(
FILES
${CMAKE_CURRENT_BINARY_DIR}/textutils_version.h
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/TextUtils
COMPONENT Devel
)
if(BUILD_TESTING)
add_subdirectory(autotests)
endif()
|