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>{%&nbsp;\1&nbsp;%}</tt>" \
0230             #     gr_var{1}="<tt>{{&nbsp;\1&nbsp;}}</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()