From 919ffcb0fbed64a0d0c010ee8f6740adf5cce438 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 9 Dec 2020 14:56:50 +0100 Subject: [PATCH] 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 --- CMakeLists.txt | 1 + src/libs/3rdparty/syntax-highlighting/CMakeLists.txt | 7 +++++++ src/plugins/texteditor/CMakeLists.txt | 8 +++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 80ad5f44fd4..dc4b66829ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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}") diff --git a/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt index 8c37bf1731a..062ae058c31 100644 --- a/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt +++ b/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt @@ -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 diff --git a/src/plugins/texteditor/CMakeLists.txt b/src/plugins/texteditor/CMakeLists.txt index ab8d806f080..93d773ddb5e 100644 --- a/src/plugins/texteditor/CMakeLists.txt +++ b/src/plugins/texteditor/CMakeLists.txt @@ -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