« Prev 4.3.5 Explicit Dependencies | Table of Contents | Next » 4.3.7 Barriers |
A build hook is a Ruby block that is called whenever Rscons is about to invoke a builder to produce a build target. Rscons also supports post-build hooks which are called after the builder has produced the build target. A build hook can be used to modify construction variables depending on the build target or source file names.
Example:
env do |env| env["CFLAGS"] << "-Wall" env.add_build_hook do |builder| # Compile sources from under src/tests without the -Wall flag. if builder.sources.first =~ %r{src/tests/} builder.vars["CFLAGS"] -= %w[-Wall] end end env.Program("program.exe", glob("src/**/*.c")) end
This example script would compile all C sources under the src
directory with
the -Wall
flag except for sources under the src/tests
directory.
A post-build hook can be added with env.add_post_build_hook
.
Post-build hooks are only invoked if the build step was a success.
Build hooks and post-build hooks can register new build targets.
« Prev 4.3.5 Explicit Dependencies | Table of Contents | Next » 4.3.7 Barriers |