Anonymous avatar Anonymous committed fe61c89

Allow modification of BUILD_TARGETS from with SConscript files. (Stanislav Baranov)

Comments (0)

Files changed (3)

   - Allow access to both TARGET and SOURCE in $*PATH expansions.
+  - Allow SConscript files to modify BUILD_TARGETS.
   From Timothee Besset:
   - Add support for Objective C/C++ .m and .mm file suffixes (for


     lookup_top = None
-    if targets:
+    if SCons.Script.BUILD_TARGETS:
         # They specified targets on the command line, so if they
         # used -u, -U or -D, we have to look up targets relative
         # to the top, but we build whatever they specified.
         if target_top:
             lookup_top = fs.Dir(target_top)
             target_top = None
+        targets = SCons.Script.BUILD_TARGETS
         # There are no targets specified on the command line,
         # so if they used -u, -U or -D, we may have to restrict
 test = TestSCons.TestSCons()
 test.write('SConstruct', """
 print map(str, BUILD_TARGETS)
 """) = 'bbb ccc=xyz -n aaa', stdout = expect)
 test.write('SConstruct', """
 env = Environment()
 print map(str, DEFAULT_TARGETS)
 """) = '.', stdout = expect)
+test.write('SConstruct', """\
+print map(str, BUILD_TARGETS)
+print map(str, BUILD_TARGETS)
+test.write('SConscript', """\
+test.write('command_line_target', "command_line_target\n")
+test.write('sconscript_target', "sconscript_target\n")
+expect = test.wrap_stdout(read_str = """\
+['command_line_target', 'sconscript_target']
+                          build_str = """\
+scons: Nothing to be done for `command_line_target'.
+scons: Nothing to be done for `sconscript_target'.
+""") = 'command_line_target', stdout = expect)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.