From bea735dd76db32f6ea34ab66fee496d4be2f7eb1 Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Sun, 21 Nov 2021 16:31:36 -0500 Subject: make sure files arguments to compiler.compiles and friends, performs rebuild If the compiler check is updated as a string in meson.build, we force rebuild, which is a good thing since the outcome of that check changes the configuration context and can enable or disable parts of the build. If the compiler check came from a files() object then we didn't add a regen rule on those files. Fixes #1656 --- unittests/allplatformstests.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'unittests/allplatformstests.py') diff --git a/unittests/allplatformstests.py b/unittests/allplatformstests.py index 30c0572..daa1385 100644 --- a/unittests/allplatformstests.py +++ b/unittests/allplatformstests.py @@ -1965,6 +1965,13 @@ class AllPlatformTests(BasePlatformTests): # cxx.links with C source self.assertEqual(cmds[3][0], cc) self.assertEqual(cmds[4][0], cxx) + if self.backend is Backend.ninja: + # updating the file to check causes a reconfigure + # + # only the ninja backend is competent enough to detect reconfigured + # no-op builds without build targets + self.utime(os.path.join(testdir, 'test.c')) + self.assertReconfiguredBuildIsNoop() def test_ndebug_if_release_disabled(self): testdir = os.path.join(self.unit_test_dir, '28 ndebug if-release') -- cgit v1.1