forked from qt-creator/qt-creator
Deploy clang binary for use by static analyzer
Change-Id: Ia0ad96e18b754e2ac20a6dddd461d4d24c1a0db4 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
@@ -229,20 +229,28 @@ def copyPreservingLinks(source, destination):
|
|||||||
shutil.copy(source, destination)
|
shutil.copy(source, destination)
|
||||||
|
|
||||||
def copy_libclang(install_dir, llvm_install_dir):
|
def copy_libclang(install_dir, llvm_install_dir):
|
||||||
libsources = []
|
# contains pairs of (source, target directory)
|
||||||
libtarget = ""
|
deployinfo = []
|
||||||
if sys.platform.startswith("win"):
|
if sys.platform.startswith("win"):
|
||||||
libsources = [os.path.join(llvm_install_dir, 'bin', 'libclang.dll')]
|
deployinfo.append((os.path.join(llvm_install_dir, 'bin', 'libclang.dll'),
|
||||||
libtarget = os.path.join(install_dir, 'bin')
|
os.path.join(install_dir, 'bin')))
|
||||||
else:
|
else:
|
||||||
libsources = glob(os.path.join(llvm_install_dir, 'lib', 'libclang.so*'))
|
libsources = glob(os.path.join(llvm_install_dir, 'lib', 'libclang.so*'))
|
||||||
libtarget = os.path.join(install_dir, 'lib', 'qtcreator')
|
for libsource in libsources:
|
||||||
|
deployinfo.append((libsource, os.path.join(install_dir, 'lib', 'qtcreator')))
|
||||||
|
|
||||||
|
clangsources = glob(os.path.join(llvm_install_dir, 'bin', 'clang*'))
|
||||||
|
for clangsource in clangsources:
|
||||||
|
if not os.path.basename(clangsource).startswith('clang-check'):
|
||||||
|
deployinfo.append((clangsource, os.path.join(install_dir, 'bin')))
|
||||||
|
|
||||||
resourcesource = os.path.join(llvm_install_dir, 'lib', 'clang')
|
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, 'share', 'qtcreator', 'cplusplus', 'clang')
|
||||||
|
|
||||||
print "copying libclang..."
|
print "copying libclang..."
|
||||||
for libsource in libsources:
|
for source, target in deployinfo:
|
||||||
print libsource, '->', libtarget
|
print source, '->', target
|
||||||
copyPreservingLinks(libsource, libtarget)
|
copyPreservingLinks(source, target)
|
||||||
print resourcesource, '->', resourcetarget
|
print resourcesource, '->', resourcetarget
|
||||||
if (os.path.exists(resourcetarget)):
|
if (os.path.exists(resourcetarget)):
|
||||||
shutil.rmtree(resourcetarget)
|
shutil.rmtree(resourcetarget)
|
||||||
|
|||||||
Reference in New Issue
Block a user