From: Gabe Black Date: Tue, 28 Nov 2017 02:59:27 +0000 (-0800) Subject: scons: Build GTests in the directory they're declared. X-Git-Tag: v19.0.0.0~2504 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=60e165116b7785bc612d8ef5c9d22af7fe84e92a;p=gem5.git scons: Build GTests in the directory they're declared. This will let us move unit tests into the directory of the code they're testing. Change-Id: I611582eb00a06a848f3ce7da89f64e42660cb844 Reviewed-on: https://gem5-review.googlesource.com/6141 Reviewed-by: Andreas Sandberg Maintainer: Andreas Sandberg --- diff --git a/src/SConscript b/src/SConscript index 2a495bffa..73e9f8244 100755 --- a/src/SConscript +++ b/src/SConscript @@ -275,6 +275,9 @@ class GTest(UnitTest): '''Create a unit test based on the google test framework.''' all = [] + def __init__(self, *args, **kwargs): + super(GTest, self).__init__(*args, **kwargs) + self.dir = Dir('.') # Children should have access Export('Source') @@ -1031,7 +1034,8 @@ def makeEnv(env, label, objsfx, strip=False, disable_partial=False, **kwargs): for test in GTest.all: test_sources = Source.all.with_tag(str(test.target)) test_objs = [ gtest_env.StaticObject(s.tnode) for s in test_sources ] - gtest_env.Program('unittest/%s.%s' % (test.target, label), test_objs) + gtest_env.Program(test.dir.File('%s.%s' % (test.target, label)), + test_objs) progname = exename if strip: