donate-cpu.py: Enhance library configuration detection (#1625)
Optimize checking of different includes for the same library by using a `list` instead of calling `hasInclude()` several times. Add includes for gtk and qt library detection that were found missing when looking at several daca@home packages.
This commit is contained in:
parent
786ce0ac5c
commit
1066ef87e5
|
@ -196,7 +196,7 @@ def unpackPackage(workPath, tgz):
|
||||||
os.chdir(workPath)
|
os.chdir(workPath)
|
||||||
|
|
||||||
|
|
||||||
def hasInclude(path, inc):
|
def hasInclude(path, includes):
|
||||||
for root, _, files in os.walk(path):
|
for root, _, files in os.walk(path):
|
||||||
for name in files:
|
for name in files:
|
||||||
filename = os.path.join(root, name)
|
filename = os.path.join(root, name)
|
||||||
|
@ -210,8 +210,9 @@ def hasInclude(path, inc):
|
||||||
# Python3 directly reads the data into a string object that has no decode()
|
# Python3 directly reads the data into a string object that has no decode()
|
||||||
pass
|
pass
|
||||||
f.close()
|
f.close()
|
||||||
if filedata.find('\n#include ' + inc) >= 0:
|
for inc in includes:
|
||||||
return True
|
if filedata.find('\n#include ' + inc) >= 0:
|
||||||
|
return True
|
||||||
except IOError:
|
except IOError:
|
||||||
pass
|
pass
|
||||||
return False
|
return False
|
||||||
|
@ -221,15 +222,15 @@ def scanPackage(workPath, cppcheck, jobs):
|
||||||
print('Analyze..')
|
print('Analyze..')
|
||||||
os.chdir(workPath)
|
os.chdir(workPath)
|
||||||
libraries = ' --library=posix'
|
libraries = ' --library=posix'
|
||||||
if hasInclude('temp', '<wx/') or hasInclude('temp', '"wx/'):
|
if hasInclude('temp', ['<wx/', '"wx/']):
|
||||||
libraries += ' --library=wxwidgets'
|
libraries += ' --library=wxwidgets'
|
||||||
if hasInclude('temp', '<QString>'):
|
if hasInclude('temp', ['<QString>', '<QtWidgets>', '<QtGui/']):
|
||||||
libraries += ' --library=qt'
|
libraries += ' --library=qt'
|
||||||
if hasInclude('temp', '<zlib.h>'):
|
if hasInclude('temp', ['<zlib.h>']):
|
||||||
libraries += ' --library=zlib'
|
libraries += ' --library=zlib'
|
||||||
if hasInclude('temp', '<gtk/gtk.h>'):
|
if hasInclude('temp', ['<gtk/gtk.h>', '<glib.h>', '<glib/']):
|
||||||
libraries += ' --library=gtk'
|
libraries += ' --library=gtk'
|
||||||
# if hasInclude('temp', '<boost/'):
|
# if hasInclude('temp', ['<boost/']):
|
||||||
# libraries += ' --library=boost'
|
# libraries += ' --library=boost'
|
||||||
options = jobs + libraries + ' --library=gnu -D__GCC__ --check-library --inconclusive --enable=style,information --platform=unix64 --template=daca2 -rp=temp temp'
|
options = jobs + libraries + ' --library=gnu -D__GCC__ --check-library --inconclusive --enable=style,information --platform=unix64 --template=daca2 -rp=temp temp'
|
||||||
cmd = 'nice ' + cppcheck + ' ' + options
|
cmd = 'nice ' + cppcheck + ' ' + options
|
||||||
|
|
Loading…
Reference in New Issue