aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/syntax-highlighting/src/lib/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/3rdparty/syntax-highlighting/src/lib/CMakeLists.txt')
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/CMakeLists.txt40
1 files changed, 26 insertions, 14 deletions
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/src/lib/CMakeLists.txt
index 2ab0e603a29..58533cc7130 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/CMakeLists.txt
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/CMakeLists.txt
@@ -47,7 +47,7 @@ set_target_properties(KF5SyntaxHighlighting PROPERTIES
SOVERSION ${SyntaxHighlighting_SOVERSION}
EXPORT_NAME SyntaxHighlighting
)
-target_include_directories(KF5SyntaxHighlighting INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KSyntaxHighlighting;${KDE_INSTALL_INCLUDEDIR_KF}>")
+target_include_directories(KF5SyntaxHighlighting INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KSyntaxHighlighting>")
target_include_directories(KF5SyntaxHighlighting PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR};>")
target_link_libraries(KF5SyntaxHighlighting
PUBLIC
@@ -56,26 +56,38 @@ target_link_libraries(KF5SyntaxHighlighting
Qt${QT_MAJOR_VERSION}::Network
)
-ecm_generate_headers(SyntaxHighlighting_HEADERS
- HEADER_NAMES
- AbstractHighlighter
- Definition
- DefinitionDownloader
- FoldingRegion
- Format
- Repository
- State
- SyntaxHighlighter
- Theme
- WildcardMatcher
+set(Forwarding_Header_Names
+ AbstractHighlighter
+ Definition
+ DefinitionDownloader
+ FoldingRegion
+ Format
+ Repository
+ State
+ SyntaxHighlighter
+ Theme
+ WildcardMatcher
+)
+
+ecm_generate_headers(CamelCase_HEADERS
+ HEADER_NAMES ${Forwarding_Header_Names}
REQUIRED_HEADERS SyntaxHighlighting_HEADERS
+ # Avoid unprefixed headers in build dir (which is part of library's build interface include directories)
+ # and thus visible to anything linking it in the same build, incl. when used with CMake's FetchContent.
+ # E.g. there can be look-up clashes on case-insensitive filesystems with C++20's <format> file and
+ # the library's generated "Format" file.
+ # See BUG: 453759
+ OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/camelcaseheaders
)
install(TARGETS KF5SyntaxHighlighting EXPORT KF5SyntaxHighlightingTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
+
install(FILES
+ ${CamelCase_HEADERS}
${SyntaxHighlighting_HEADERS}
${CMAKE_CURRENT_BINARY_DIR}/ksyntaxhighlighting_export.h
- DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KSyntaxHighlighting)
+ DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KSyntaxHighlighting/KSyntaxHighlighting
+)
if(BUILD_QCH)
ecm_add_qch(