if(TARGET KF5::SyntaxHighlighting)
  set(HIGHLIGHTING_BUILD_DEFAULT OFF)
else()
  set(HIGHLIGHTING_BUILD_DEFAULT ON)
endif()

add_qtc_library(KSyntaxHighlighting SHARED
  BUILD_DEFAULT ${HIGHLIGHTING_BUILD_DEFAULT}
  INCLUDES autogenerated/
  PUBLIC_INCLUDES
    src/lib
    autogenerated/src/lib
  DEFINES KSYNTAXHIGHLIGHTING_LIBRARY
  DEPENDS Qt5::Network Qt5::Widgets
  SOURCES
    autogenerated/src/lib/ksyntaxhighlighting_logging.cpp autogenerated/src/lib/ksyntaxhighlighting_logging.h
    autogenerated/ksyntaxhighlighting_version.h

    data/themes/theme-data.qrc

    src/lib/abstracthighlighter.cpp src/lib/abstracthighlighter.h src/lib/abstracthighlighter_p.h
    src/lib/context.cpp src/lib/context_p.h
    src/lib/contextswitch.cpp src/lib/contextswitch_p.h
    src/lib/definition.cpp src/lib/definition.h
    src/lib/definitiondownloader.cpp src/lib/definitiondownloader.h
    src/lib/definitionref_p.h
    src/lib/definition_p.h
    src/lib/foldingregion.cpp src/lib/foldingregion.h
    src/lib/format.cpp src/lib/format.h src/lib/format_p.h
    src/lib/htmlhighlighter.cpp src/lib/htmlhighlighter.h
    src/lib/keywordlist.cpp src/lib/keywordlist_p.h
    src/lib/ksyntaxhighlighting_export.h
    src/lib/matchresult_p.h
    src/lib/repository.cpp src/lib/repository.h src/lib/repository_p.h
    src/lib/rule.cpp src/lib/rule_p.h
    src/lib/state.cpp src/lib/state.h src/lib/state_p.h
    src/lib/syntaxhighlighter.cpp src/lib/syntaxhighlighter.h
    src/lib/textstyledata_p.h
    src/lib/theme.cpp src/lib/theme.h
    src/lib/themedata.cpp src/lib/themedata_p.h
    src/lib/wildcardmatcher.cpp src/lib/wildcardmatcher_p.h
    src/lib/worddelimiters.cpp src/lib/worddelimiters_p.h
    src/lib/xml_p.h
)
qtc_add_public_header(autogenerated/src/lib/State)

install(
  DIRECTORY data/syntax
  DESTINATION "${IDE_DATA_PATH}/generic-highlighter/"
)

# copy resource directories during build
qtc_copy_to_builddir(copy_generic_highligher_to_builddir
  DIRECTORIES data/syntax
  DESTINATION "${IDE_DATA_PATH}/generic-highlighter/syntax"
)
