cmake build: Add option to build against system SyntaxHighlighting lib

Enable/disable our own KSyntaxHighlighting by default
depending on the availability of KF5SyntaxHighlighting.
If that is available, it still is possible to turn the building
and using of our own KSyntaxHighlighting copy on by enabling
BUILD_LIBRARY_KSYNTAXHIGHLIGHTING.

Fixes: QTCREATORBUG-25076
Change-Id: I3545fc12d87572d7eb6f5977994b081ff7ea3880
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
Eike Ziller
2020-12-09 14:56:50 +01:00
parent 14035584d8
commit 919ffcb0fb
3 changed files with 15 additions and 1 deletions

View File

@@ -53,6 +53,7 @@ find_package(Qt5 COMPONENTS Designer DesignerComponents Help SerialPort Svg Tool
find_package(Threads)
find_package(Clang QUIET)
find_package(KF5SyntaxHighlighting QUIET)
function (set_if_target var target)
if (TARGET "${target}")

View File

@@ -1,4 +1,11 @@
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

View File

@@ -1,6 +1,12 @@
if(TARGET KSyntaxHighlighting)
set(KSYNTAXHIGHLIGHTING_TARGET KSyntaxHighlighting)
else()
set(KSYNTAXHIGHLIGHTING_TARGET KF5::SyntaxHighlighting)
endif()
add_qtc_plugin(TextEditor
DEPENDS Qt5::Concurrent Qt5::Network Qt5::PrintSupport Qt5::Xml
PUBLIC_DEPENDS KSyntaxHighlighting
PUBLIC_DEPENDS ${KSYNTAXHIGHLIGHTING_TARGET}
PLUGIN_DEPENDS Core
SOURCES
autocompleter.cpp autocompleter.h