aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2016-08-17 13:36:51 +0200
committerEike Ziller <eike.ziller@qt.io>2016-08-18 10:20:59 +0000
commitc412e0bb2ad86576f345c3d39dc195acfbb08c20 (patch)
tree6fcfebdb38049fd6581773a5c921c5b08a604b9b /scripts
parenta181ef93c4c7a654a5812edbf2b07086e22d3d15 (diff)
Fix that clang static analyzer did not find built-in headers
Clang expects these to lie in "../lib/clang" relative to the clang executable. Change-Id: I216860876591dca1fd728e4b1e79b4b07c965620 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/deployqt.py20
-rwxr-xr-xscripts/deployqtHelper_mac.sh8
2 files changed, 19 insertions, 9 deletions
diff --git a/scripts/deployqt.py b/scripts/deployqt.py
index 64dbe426e3..11ff8c013b 100755
--- a/scripts/deployqt.py
+++ b/scripts/deployqt.py
@@ -200,28 +200,36 @@ def copyPreservingLinks(source, destination):
def deploy_libclang(install_dir, llvm_install_dir, chrpath_bin):
# contains pairs of (source, target directory)
deployinfo = []
+ resourcesource = os.path.join(llvm_install_dir, 'lib', 'clang')
if common.is_windows_platform():
+ clangbindirtarget = os.path.join(install_dir, 'bin', 'clang', 'bin')
+ if not os.path.exists(clangbindirtarget):
+ os.makedirs(clangbindirtarget)
+ clanglibdirtarget = os.path.join(install_dir, 'bin', 'clang', 'lib')
+ if not os.path.exists(clanglibdirtarget):
+ os.makedirs(clanglibdirtarget)
deployinfo.append((os.path.join(llvm_install_dir, 'bin', 'libclang.dll'),
os.path.join(install_dir, 'bin')))
deployinfo.append((os.path.join(llvm_install_dir, 'bin', 'clang.exe'),
- os.path.join(install_dir, 'bin')))
+ clangbindirtarget))
deployinfo.append((os.path.join(llvm_install_dir, 'bin', 'clang-cl.exe'),
- os.path.join(install_dir, 'bin')))
+ clangbindirtarget))
+ resourcetarget = os.path.join(clanglibdirtarget, 'clang')
else:
libsources = glob(os.path.join(llvm_install_dir, 'lib', 'libclang.so*'))
for libsource in libsources:
deployinfo.append((libsource, os.path.join(install_dir, 'lib', 'qtcreator')))
clangbinary = os.path.join(llvm_install_dir, 'bin', 'clang')
- clangbinary_targetdir = os.path.join(install_dir, 'libexec', 'qtcreator')
+ clangbinary_targetdir = os.path.join(install_dir, 'libexec', 'qtcreator', 'clang', 'bin')
+ if not os.path.exists(clangbinary_targetdir):
+ os.makedirs(clangbinary_targetdir)
deployinfo.append((clangbinary, clangbinary_targetdir))
# copy link target if clang is actually a symlink
if os.path.islink(clangbinary):
linktarget = os.readlink(clangbinary)
deployinfo.append((os.path.join(os.path.dirname(clangbinary), linktarget),
os.path.join(clangbinary_targetdir, linktarget)))
-
- resourcesource = os.path.join(llvm_install_dir, 'lib', 'clang')
- resourcetarget = os.path.join(install_dir, 'share', 'qtcreator', 'cplusplus', 'clang')
+ resourcetarget = os.path.join(install_dir, 'libexec', 'qtcreator', 'clang', 'lib', 'clang')
print "copying libclang..."
for source, target in deployinfo:
diff --git a/scripts/deployqtHelper_mac.sh b/scripts/deployqtHelper_mac.sh
index df0660a217..d5b156823a 100755
--- a/scripts/deployqtHelper_mac.sh
+++ b/scripts/deployqtHelper_mac.sh
@@ -91,13 +91,15 @@ if [ $LLVM_INSTALL_DIR ]; then
echo "- Copying libclang"
mkdir -p "$1/Contents/Frameworks" || exit 1
# use recursive copy to make it copy symlinks as symlinks
+ mkdir -p "$1/Contents/Resources/clang/bin"
+ mkdir -p "$1/Contents/Resources/clang/lib"
cp -Rf "$LLVM_INSTALL_DIR"/lib/libclang.*dylib "$1/Contents/Frameworks/" || exit 1
- cp -Rf "$LLVM_INSTALL_DIR"/lib/clang "$1/Contents/Resources/cplusplus/" || exit 1
+ cp -Rf "$LLVM_INSTALL_DIR"/lib/clang "$1/Contents/Resources/clang/lib/" || exit 1
clangsource="$LLVM_INSTALL_DIR"/bin/clang
clanglinktarget="$(readlink "$clangsource")"
- cp -Rf "$clangsource" "$1/Contents/Resources/" || exit 1
+ cp -Rf "$clangsource" "$1/Contents/Resources/clang/bin/" || exit 1
if [ $clanglinktarget ]; then
- cp -Rf "$(dirname "$clangsource")/$clanglinktarget" "$1/Contents/Resources/$clanglinktarget" || exit 1
+ cp -Rf "$(dirname "$clangsource")/$clanglinktarget" "$1/Contents/Resources/clang/bin/$clanglinktarget" || exit 1
fi
fi
_CLANG_CODEMODEL_LIB="$1/Contents/PlugIns/libClangCodeModel_debug.dylib"