diff options
author | Paul Wicking <paul.wicking@qt.io> | 2018-12-13 15:12:34 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2018-12-17 08:16:53 +0000 |
commit | 239a48f17654f223e0ce9fc4cba31a92c88933c3 (patch) | |
tree | e44ea19f5ab4c71620d8861f216588fb2c616d6b /src | |
parent | b309d4a67934454e64bb93a291e477797051ab8e (diff) |
Try multiple llvm-config candidates when configuring QDoc
As llvm-config may be installed as e.g. llvm-config-6.0 on certain
systems, depending on which packages are installed, check them in order
latest to oldest version supported.
Task-number: QTBUG-65762
Change-Id: Ide2f25b5fa73b3da6ea16186aad09b2fec6f0494
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/qdoc/configure.pri | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/qdoc/configure.pri b/src/qdoc/configure.pri index 1d79230e1..8fd43401a 100644 --- a/src/qdoc/configure.pri +++ b/src/qdoc/configure.pri @@ -53,8 +53,26 @@ defineTest(qtConfTest_libclang) { } } isEmpty(LLVM_INSTALL_DIR): LLVM_INSTALL_DIR = $$(LLVM_INSTALL_DIR) + # Assume libclang is installed on the target system - isEmpty(LLVM_INSTALL_DIR): LLVM_INSTALL_DIR = $$system("llvm-config --prefix 2>$$QMAKE_SYSTEM_NULL_DEVICE") + isEmpty(LLVM_INSTALL_DIR) { + llvmConfigCandidates = \ + llvm-config-7 \ + llvm-config-6.0 \ + llvm-config-5.0 \ + llvm-config-4.0 \ + llvm-config-3.9 \ + llvm-config + + for (candidate, llvmConfigCandidates) { + LLVM_INSTALL_DIR = $$system("$$candidate --prefix 2>$$QMAKE_SYSTEM_NULL_DEVICE") + !isEmpty(LLVM_INSTALL_DIR) { + qtLog("Using Clang installation found in $${LLVM_INSTALL_DIR}." \ + "Set the LLVM_INSTALL_DIR environment variable to override.") + break() + } + } + } LLVM_INSTALL_DIR = $$clean_path($$LLVM_INSTALL_DIR) contains(QMAKE_HOST.arch, x86_64): \ @@ -312,7 +330,6 @@ defineTest(qtConfTest_libclang) { !versionIsAtLeast($$CLANG_VERSION, "3.9.0") { log("LLVM/Clang version >= 3.9.0 required, version provided: $${CLANG_VERSION}.$$escape_expand(\\n)") - log("Clang was found in $${clangInstallDir}. Set the LLVM_INSTALL_DIR environment variable to override.$$escape_expand(\\n)") return(false) } |