donate-cpu.py: Use Boost library configuration if appropriate (#1587)

Add check to only use boost library if boost.cfg exists since it is very new.
If the boost.cfg does not exist Cppcheck would exit with an error and we
would not get the desired results.
For now the boost library configuration detection is commented out. It
should be enabled after the release of Cppcheck 1.87.
Tested locally.
This commit is contained in:
Sebastian 2019-02-04 11:05:14 +01:00 committed by GitHub
parent 6e72691986
commit 360ba33e4c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 6 deletions

View File

@ -218,7 +218,7 @@ def hasInclude(path, includes):
return False return False
def scanPackage(workPath, cppcheck, jobs): def scanPackage(workPath, cppcheckPath, jobs):
print('Analyze..') print('Analyze..')
os.chdir(workPath) os.chdir(workPath)
libraries = ' --library=posix' libraries = ' --library=posix'
@ -234,12 +234,13 @@ def scanPackage(workPath, cppcheck, jobs):
libraries += ' --library=wxwidgets' libraries += ' --library=wxwidgets'
if hasInclude('temp', ['<zlib.h>']): if hasInclude('temp', ['<zlib.h>']):
libraries += ' --library=zlib' libraries += ' --library=zlib'
# if hasInclude('temp', ['<boost/']): # TODO: enable boost library configuration detection after release of Cppcheck 1.87
# if os.path.exists(cppcheckPath + '/cfg/boost.cfg') and hasInclude('temp', ['<boost/']):
# libraries += ' --library=boost' # libraries += ' --library=boost'
# Reference for GNU C: https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html # Reference for GNU C: https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
options = jobs + libraries + ' --library=gnu -D__GNUC__ --check-library --inconclusive --enable=style,information --platform=unix64 --template=daca2 -rp=temp temp' options = jobs + libraries + ' --library=gnu -D__GNUC__ --check-library --inconclusive --enable=style,information --platform=unix64 --template=daca2 -rp=temp temp'
cmd = 'nice ' + cppcheck + ' ' + options cmd = 'nice ' + cppcheckPath + '/cppcheck' + ' ' + options
print(cmd) print(cmd)
startTime = time.time() startTime = time.time()
p = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE) p = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
@ -454,10 +455,10 @@ while True:
head_info_msg = '' head_info_msg = ''
for ver in cppcheckVersions: for ver in cppcheckVersions:
if ver == 'head': if ver == 'head':
cppcheck = 'cppcheck/cppcheck' current_cppcheck_dir = 'cppcheck'
else: else:
cppcheck = ver + '/cppcheck' current_cppcheck_dir = ver
c, errout, info, t, cppcheck_options = scanPackage(workpath, cppcheck, jobs) c, errout, info, t, cppcheck_options = scanPackage(workpath, current_cppcheck_dir, jobs)
if c < 0: if c < 0:
crash = True crash = True
count += ' Crash!' count += ' Crash!'