mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-03 14:38:30 -04:00
b375b33189
This allows to completely disable the tests. Even the gtest submodule is not checked out allowing integration on build servers without needing to download one more submodule. This is different from the --notests flag. The latter only disables executing the tests, but always use the submodule.
52 lines
1.2 KiB
Python
52 lines
1.2 KiB
Python
#!/usr/bin/env python
|
|
# encoding: utf-8
|
|
|
|
"""
|
|
gtest is a Waf tool for test builds in Ardupilot
|
|
"""
|
|
|
|
from waflib import Utils
|
|
from waflib.Configure import conf
|
|
|
|
import boards
|
|
|
|
def configure(cfg):
|
|
cfg.env.HAS_GTEST = False
|
|
if cfg.options.disable_tests:
|
|
return
|
|
|
|
board = cfg.get_board()
|
|
if isinstance(board, boards.px4):
|
|
# toolchain is currently broken for gtest
|
|
cfg.msg(
|
|
'Gtest',
|
|
'PX4 boards currently don\'t support compiling gtest',
|
|
color='YELLOW',
|
|
)
|
|
return
|
|
|
|
if cfg.env.STATIC_LINKING:
|
|
# gtest uses a function (getaddrinfo) that is supposed to be linked
|
|
# dynamically
|
|
cfg.msg(
|
|
'Gtest',
|
|
'statically linked tests not supported',
|
|
color='YELLOW',
|
|
)
|
|
return
|
|
|
|
cfg.env.append_value('GIT_SUBMODULES', 'gtest')
|
|
cfg.env.HAS_GTEST = True
|
|
|
|
@conf
|
|
def libgtest(bld, **kw):
|
|
kw['cxxflags'] = Utils.to_list(kw.get('cxxflags', [])) + ['-Wno-undef']
|
|
kw.update(
|
|
source='modules/gtest/src/gtest-all.cc',
|
|
target='gtest/gtest',
|
|
includes='modules/gtest/ modules/gtest/include',
|
|
export_includes='modules/gtest/include',
|
|
name='GTEST',
|
|
)
|
|
return bld.stlib(**kw)
|