diff options
author | Christophe Giboudeaux <christophe@krop.fr> | 2020-08-28 10:42:23 +0200 |
---|---|---|
committer | Christophe Giboudeaux <christophe@krop.fr> | 2020-09-15 15:39:42 +0200 |
commit | 166be41502ac77fc355f7c28c3289c95ee45b543 (patch) | |
tree | 2a509ecc923f02def180ffce85295dea01f2c49f /cmake/FindWrapLibClang.cmake | |
parent | b5da5f522616f99b000ed1c64a5cc1de0c3f8937 (diff) |
CMake: Fix build when using the unified clang library
Since version 9, Clang can produce a single clang-cpp which replaces
all the clang component libraries.
If the unified library exists, WrapLibClang will use it for linking
targets.
Task-number: QTBUG-83864
Change-Id: I81df7001daa79bf90dbd631c856e6a9c6aeccd02
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'cmake/FindWrapLibClang.cmake')
-rw-r--r-- | cmake/FindWrapLibClang.cmake | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/cmake/FindWrapLibClang.cmake b/cmake/FindWrapLibClang.cmake index 0cd388a5e..206ba0448 100644 --- a/cmake/FindWrapLibClang.cmake +++ b/cmake/FindWrapLibClang.cmake @@ -27,7 +27,7 @@ if(WrapLibClang_FIND_VERSION AND LLVM_PACKAGE_VERSION set(__wrap_lib_clang_requested_version_found TRUE) endif() -if(TARGET libclang AND TARGET clangHandleCXX AND __wrap_lib_clang_requested_version_found) +if(TARGET libclang AND (TARGET clang-cpp OR TARGET clangHandleCXX) AND __wrap_lib_clang_requested_version_found) set(WrapLibClang_FOUND TRUE) get_target_property(type libclang TYPE) @@ -47,7 +47,10 @@ if(TARGET libclang AND TARGET clangHandleCXX AND __wrap_lib_clang_requested_vers endif() qt_internal_disable_find_package_global_promotion(Threads::Threads) target_link_libraries(WrapLibClang::WrapLibClang - INTERFACE libclang clangHandleCXX Threads::Threads) + INTERFACE libclang + $<IF:$<TARGET_EXISTS:clang-cpp>,clang-cpp LLVM,clangHandleCXX> # lupdate must link to LLVM when using clang-cpp + Threads::Threads + ) foreach(version MAJOR MINOR PATCH) set(QT_LIB_CLANG_VERSION_${version} ${LLVM_VERSION_${version}} CACHE STRING "" FORCE) |