From b375b33189c9f67f797fc0599832143eea474d77 Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Wed, 13 Jul 2016 10:50:31 -0300 Subject: [PATCH] waf: allow to disable tests 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. --- Tools/ardupilotwaf/gtest.py | 6 ++++-- wscript | 7 ++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Tools/ardupilotwaf/gtest.py b/Tools/ardupilotwaf/gtest.py index 2ff016df1e..0337a8ac57 100644 --- a/Tools/ardupilotwaf/gtest.py +++ b/Tools/ardupilotwaf/gtest.py @@ -11,6 +11,10 @@ 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 @@ -21,8 +25,6 @@ def configure(cfg): ) return - cfg.env.HAS_GTEST = False - if cfg.env.STATIC_LINKING: # gtest uses a function (getaddrinfo) that is supposed to be linked # dynamically diff --git a/wscript b/wscript index c600c25c7b..269f8d681b 100644 --- a/wscript +++ b/wscript @@ -90,6 +90,10 @@ revisions. default=False, help="Don't use libiio even if supported by board and dependencies available") + g.add_option('--disable-tests', action='store_true', + default=False, + help="Disable compilation and test execution") + g.add_option('--static', action='store_true', default=False, @@ -235,7 +239,8 @@ def _build_common_taskgens(bld): use='mavlink', ) - bld.libgtest(cxxflags=['-include', 'ap_config.h']) + if bld.env.HAS_GTEST: + bld.libgtest(cxxflags=['-include', 'ap_config.h']) if bld.env.HAS_GBENCHMARK: bld.libbenchmark()