John Lindgren
24ed649982
Check that user dependencies exist before running builders.
...
IMHO it's more intuitive if env.depends("my-target", "invalid-dep")
causes the build to fail when "invalid-dep" does not exist, rather
than having no effect (i.e. the build still succeeds with no warning).
This will make it more obvious, earlier, if you made a mistake in
an env.depends() call. Otherwise the mistake could sit latent for
a while until you happen to notice that a build used a out-of-date
copy of some file rather than rebuilding it.
I've only added the check for user dependencies, not for direct
sources. Listing a source file that doesn't exist will probably
cause the builder to fail anyway, so I don't think the preliminary
check is needed in that case.
2020-03-03 17:32:52 -05:00
284312a21c
support command-line variables - close #51
2018-08-23 14:58:08 -04:00
c7f66694ab
add Rscons.glob - close #50
2018-08-23 11:26:20 -04:00
57de94a3fb
improve debuggability of cache.up_to_date? - close #46
2018-08-23 10:10:05 -04:00
53ba7dad41
allow passing a VarSet into cache methods - close #47
2018-08-22 16:32:05 -04:00
8cb02a7e34
generate dependencies for D builds - close #49
2018-08-22 15:23:48 -04:00
89562c584a
Environment#print_builder_run_message should support string commands - close #44
2017-08-03 14:10:53 -04:00
6d04500c13
Add ability to record side-effect file production - close #43
2017-07-14 16:17:01 -04:00
775363ddbd
cloned Environments should inherit n_threads - close #42
2017-07-11 10:29:25 -04:00
2a96495e83
wait for in-progress subcommands to complete on build failure - close #39
2017-06-26 22:44:49 -04:00
15e52e488c
env.depends should imply env.build_after - close #40
2017-06-21 10:44:52 -04:00
8deb1eb6f8
Change default :clone option to :all to clone all Environment attributes
2017-06-14 08:53:28 -04:00
6dd70ff65e
raise error when circular dependencies are found - close #38
2017-06-13 19:37:41 -04:00
a49ebc486e
env.build_after should expand paths - close #35
2017-06-13 18:38:47 -04:00
Michael Metivier
387c40176b
Pre-build hooks do not respect modified key values for old-style builders
2017-06-09 19:50:12 -04:00
b7f609b7e8
add SHLIBPREFIX
2017-06-07 16:35:20 -04:00
10d4c647b9
add spec for building a shared library using D
2017-06-07 15:22:20 -04:00
db2ec82a25
Add more integration tests for SharedLibrary and backwards compatibility
2017-06-07 13:02:51 -04:00
df52a7e0e1
add SharedObject and SharedLibrary builders - close #8
2017-06-06 13:27:38 -04:00
c7e4e1ad9b
Always use a build root and default it to "build"
2017-05-30 11:06:32 -04:00
43df46018c
Support redirecting standard output using the Command builder - close #28
2017-05-29 12:50:34 -04:00
8cbb9fa30e
Place object files for absolute source paths under build_root - close #30
2017-05-29 12:16:46 -04:00
1880e6650e
fix PROGSUFFIX handling - close #29
2017-05-29 11:40:01 -04:00
05bbea6fa1
add Environment#build_after
2017-05-25 17:00:21 -04:00
68468b6422
fully parallelize the Command builder
2017-05-25 16:03:05 -04:00
178940cd5d
fully parallelize the CFile builder
2017-05-25 15:28:01 -04:00
83226e894d
add backwards-compatibility test for Builder#standard_build
2017-05-24 16:16:53 -04:00
221cde7e5f
update run_builder, build_sources integration tests for more coverage
2017-05-23 16:45:21 -04:00
adcee373df
add integration test for Environment#build_sources
2017-05-23 16:28:13 -04:00
e58b8bd109
add integration test for Environment#run_builder
2017-05-23 16:25:03 -04:00
0d46d616dd
change user dependency test to use BuildTarget#depends
2017-05-23 16:09:29 -04:00
599d10b50f
add integration test for overriding PROGSUFFIX
2017-05-23 15:32:55 -04:00
2ffdf82d9a
add multi-threading build test
2017-05-23 14:24:14 -04:00
957fd8c86d
convert Library builder specs to integration tests
2017-05-22 16:54:10 -04:00
7e707e7e3b
convert Object builder specs to integration tests
2017-05-22 16:38:57 -04:00
06cb4b7a55
migrate some Cache tests to integration tests
2017-05-22 15:55:18 -04:00
28e56251dd
update build_tests_spec to invoke rscons in a subprocess for each test
2017-05-20 15:15:07 -04:00
0ea842fffe
rework Preprocess builder to consider deep dependencies - fix #21
2015-01-20 21:16:21 -05:00
Michael D. Lowis
92d4dd8396
Implemented SimpleBuilder and updated Environment#add_builder method to support it
2014-10-16 16:37:37 -04:00
30564af558
add build test for D
2013-11-05 16:29:15 -05:00
cc2c2733fc
move build_tests_spec.rb back into spec, remove build_tests rake task
2013-11-05 16:22:09 -05:00
ddb5357b02
explicitly set LD construction variable in one build test
2013-11-05 16:19:02 -05:00
b805e5379f
execute all build tests in the top-level rake context instead of spawning subprocesses
2013-11-05 16:11:08 -05:00
797580e937
Environment: remove support for specifying :builders key in constructor
2013-11-05 14:18:02 -05:00
0cd9dbd1bd
add separate spec_helper.rb for build_tests directory
2013-11-05 11:36:30 -05:00
b38c56d446
move build_tests_spec.rb to build_tests directory; add build_tests task
2013-11-05 11:05:45 -05:00
446fef931f
add "tweakers" functionality
...
tweakers allow the user to modify construction variables before any build is performed
2013-10-15 16:15:37 -04:00
dc6bac2895
change build_dir build test to test build_dir specified as a Regexp
2013-10-04 21:40:11 -04:00
e50aac31c9
tweak custom_builder build test for additional coverage
2013-10-04 21:26:51 -04:00
64d15602cc
add Library default builder
2013-09-12 23:35:34 -04:00