Warning, /frameworks/ktexttemplate/src/lib/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 set(KTextTemplate_INSTALL_INCLUDEDIR ${KDE_INSTALL_INCLUDEDIR_KF}/KTextTemplate) # visibility incluee path 0002 0003 set(KTextTemplate_PLUGIN_PATH ${KDE_INSTALL_FULL_LIBDIR} ) 0004 0005 configure_file(ktexttemplate_config_p.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/ktexttemplate_config_p.h) 0006 0007 set_source_files_properties(taglibraryinterface.h PROPERTIES 0008 SKIP_AUTOMOC TRUE 0009 ) 0010 0011 add_library(KF6TextTemplate) 0012 add_library(KF6::TextTemplate ALIAS KF6TextTemplate) 0013 0014 set_target_properties(KF6TextTemplate PROPERTIES 0015 VERSION ${KTEXTTEMPLATE_VERSION} 0016 SOVERSION ${KTEXTTEMPLATE_SOVERSION} 0017 EXPORT_NAME TextTemplate 0018 ) 0019 0020 target_sources(KF6TextTemplate PRIVATE 0021 abstractlocalizer.cpp 0022 cachingloaderdecorator.cpp 0023 customtyperegistry.cpp 0024 context.cpp 0025 engine.cpp 0026 filter.cpp 0027 filterexpression.cpp 0028 lexer.cpp 0029 metatype.cpp 0030 node.cpp 0031 nodebuiltins.cpp 0032 nulllocalizer.cpp 0033 outputstream.cpp 0034 parser.cpp 0035 qtlocalizer.cpp 0036 rendercontext.cpp 0037 safestring.cpp 0038 template.cpp 0039 templateloader.cpp 0040 textprocessingmachine.cpp 0041 typeaccessors.cpp 0042 util.cpp 0043 variable.cpp 0044 0045 # Help IDEs find some non-compiled files. 0046 customtyperegistry_p.h 0047 engine_p.h 0048 exception.h 0049 ktexttemplate_tags_p.h 0050 lexer_p.h 0051 metaenumvariable_p.h 0052 nodebuiltins_p.h 0053 nulllocalizer_p.h 0054 pluginpointer_p.h 0055 statemachine_p.h 0056 taglibraryinterface.h 0057 template_p.h 0058 textprocessingmachine_p.h 0059 token.h 0060 typeaccessor.h 0061 ) 0062 ecm_generate_export_header(KF6TextTemplate 0063 BASE_NAME KTextTemplate 0064 GROUP_BASE_NAME KF 0065 VERSION ${KF_VERSION} 0066 USE_VERSION_HEADER 0067 DEPRECATED_BASE_VERSION 0 0068 ) 0069 if (CMAKE_CXX_COMPILER_ID MATCHES GNU OR CMAKE_CXX_COMPILER_ID MATCHES Clang) 0070 # Lexer uses CRTP with some specializations overriding, but not all: 0071 target_compile_options(KF6TextTemplate PRIVATE -Wno-suggest-override) 0072 endif() 0073 0074 if (CMAKE_GENERATOR MATCHES "Visual Studio") 0075 0076 set_property(TARGET KF6TextTemplate PROPERTY DEBUG_POSTFIX "d") 0077 0078 foreach(cfg ${CMAKE_CONFIGURATION_TYPES}) 0079 string(TOUPPER ${cfg} CFG) 0080 set_target_properties(KF6TextTemplate 0081 PROPERTIES 0082 LIBRARY_OUTPUT_DIRECTORY_${CFG} "${CMAKE_CURRENT_BINARY_DIR}" 0083 RUNTIME_OUTPUT_DIRECTORY_${CFG} "${CMAKE_CURRENT_BINARY_DIR}" 0084 ) 0085 endforeach() 0086 endif() 0087 target_compile_definitions(KF6TextTemplate 0088 PRIVATE 0089 PLUGINS_PREFER_DEBUG_POSTFIX=$<CONFIG:Debug> 0090 ) 0091 0092 ecm_generate_headers(KTextTemplate_CamelCase_HEADERS 0093 HEADER_NAMES 0094 AbstractLocalizer 0095 CachingLoaderDecorator 0096 Context 0097 Engine 0098 Exception 0099 Filter 0100 FilterExpression 0101 MetaType 0102 Node,NodeList,AbstractNodeFactory 0103 OutputStream 0104 Parser 0105 QtLocalizer 0106 RenderContext 0107 SafeString 0108 TagLibraryInterface 0109 Template 0110 TemplateLoader,AbstractTemplateLoader,FileSystemTemplateLoader,InMemoryTemplateLoader 0111 TypeAccessor 0112 Token 0113 Util 0114 Variable 0115 PREFIX KTextTemplate 0116 REQUIRED_HEADERS KTextTemplate_HEADERS 0117 ) 0118 0119 if (Qt6Qml_FOUND) 0120 set(scriptabletags_FILES 0121 scriptablecontext.cpp 0122 scriptablefilterexpression.cpp 0123 scriptablenode.cpp 0124 scriptableparser.cpp 0125 scriptablesafestring.cpp 0126 scriptabletags.cpp 0127 scriptabletemplate.cpp 0128 scriptablevariable.cpp 0129 scriptablefilter.cpp 0130 ) 0131 0132 foreach(file ${scriptabletags_FILES}) 0133 list(APPEND scriptabletags_SRCS ${CMAKE_SOURCE_DIR}/src/scriptabletags/${file}) 0134 endforeach() 0135 0136 target_sources(KF6TextTemplate PRIVATE ${scriptabletags_SRCS}) 0137 target_include_directories(KF6TextTemplate PRIVATE ../scriptabletags) 0138 target_link_libraries(KF6TextTemplate 0139 PRIVATE Qt6::Qml 0140 ) 0141 endif() 0142 0143 if (BUILD_TESTING) 0144 set(KTEXTTEMPLATE_TESTS_EXPORT "KTEXTTEMPLATE_EXPORT") 0145 endif() 0146 0147 configure_file(ktexttemplate_test_export.h.in "${CMAKE_CURRENT_BINARY_DIR}/ktexttemplate_test_export.h") 0148 0149 target_link_libraries(KF6TextTemplate 0150 PUBLIC Qt6::Core 0151 ) 0152 0153 target_include_directories(KF6TextTemplate 0154 INTERFACE "$<INSTALL_INTERFACE:${KTextTemplate_INSTALL_INCLUDEDIR}>" 0155 ) 0156 0157 ecm_qt_export_logging_category( 0158 IDENTIFIER KTEXTTEMPLATE_TEMPLATE 0159 CATEGORY_NAME kf.texttemplate 0160 DESCRIPTION "KTextTemplate" 0161 EXPORT KTEXTTEMPLATE 0162 ) 0163 0164 ecm_qt_export_logging_category( 0165 IDENTIFIER KTEXTTEMPLATE_LOCALIZER 0166 CATEGORY_NAME kf.texttemplate.qtlocalizer 0167 DESCRIPTION "QtLocalizer (KTextTemplate)" 0168 EXPORT KTEXTTEMPLATE 0169 ) 0170 0171 ecm_qt_export_logging_category( 0172 IDENTIFIER KTEXTTEMPLATE_CUSTOMTYPE 0173 CATEGORY_NAME kf.texttemplate.customtyperegistry 0174 DESCRIPTION "CustomTypeRegistry (KTextTemplate)" 0175 EXPORT KTEXTTEMPLATE 0176 ) 0177 0178 install(TARGETS KF6TextTemplate EXPORT KF6TextTemplateTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0179 0180 install(FILES 0181 ${KTextTemplate_HEADERS} 0182 ${CMAKE_CURRENT_BINARY_DIR}/ktexttemplate_export.h 0183 DESTINATION "${KTextTemplate_INSTALL_INCLUDEDIR}/ktexttemplate" # lowercase C++ namespace 0184 COMPONENT Templates 0185 ) 0186 0187 install(FILES 0188 ${KTextTemplate_CamelCase_HEADERS} 0189 DESTINATION "${KTextTemplate_INSTALL_INCLUDEDIR}/KTextTemplate" # C++ namespace 0190 COMPONENT Templates 0191 ) 0192 0193 ecm_qt_install_logging_categories( 0194 EXPORT KTEXTTEMPLATE 0195 FILE ktexttemplate.categories 0196 DESTINATION "${KDE_INSTALL_LOGGINGCATEGORIESDIR}" 0197 ) 0198 0199 if(BUILD_QCH) 0200 ecm_add_qch( 0201 KF6TextTemplate_QCH 0202 NAME KTextTemplate 0203 BASE_NAME KF6TextTemplate 0204 VERSION ${KF_VERSION} 0205 ORG_DOMAIN org.kde 0206 SOURCES # using only public headers, to cover only public API 0207 ${KTextTemplate_HEADERS} 0208 "${CMAKE_SOURCE_DIR}/docs/builtins.dox" 0209 "${CMAKE_SOURCE_DIR}/docs/differences_django.dox" 0210 "${CMAKE_SOURCE_DIR}/docs/examples.dox" 0211 "${CMAKE_SOURCE_DIR}/docs/extension.dox" 0212 "${CMAKE_SOURCE_DIR}/docs/for_app_dev.dox" 0213 "${CMAKE_SOURCE_DIR}/docs/for_themers.dox" 0214 "${CMAKE_SOURCE_DIR}/docs/generictypes.dox" 0215 "${CMAKE_SOURCE_DIR}/docs/internals.dox" 0216 "${CMAKE_SOURCE_DIR}/docs/l10n.dox" 0217 "${CMAKE_SOURCE_DIR}/docs/using_and_deploying.dox" 0218 "${CMAKE_SOURCE_DIR}/Mainpage.dox" 0219 IMAGE_DIRS 0220 "${CMAKE_SOURCE_DIR}/docs/pics" 0221 LINK_QCHS 0222 Qt6Core_QCH 0223 INCLUDE_DIRS 0224 ${CMAKE_CURRENT_BINARY_DIR} 0225 BLANK_MACROS 0226 KTEXTTEMPLATE_EXPORT 0227 # TODO: ecm_add_qch does not yet support custom alias extensions 0228 # ALIASES += \ 0229 # gr_tag{1}="<tt>{% \1 %}</tt>" \ 0230 # gr_var{1}="<tt>{{ \1 }}</tt>" 0231 # EXPAND_AS_DEFINED += TemplateImp 0232 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0233 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0234 COMPONENT Devel 0235 ) 0236 endif()