KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I need to run two programs in sequence as part of a custom builder. One of them is a program that I'm stuck with and can't deal with absolute/relative paths so I have to use the chdir=1 option of the Builder so that its actions run in the same directory as the target. The second is a script that is located in the tools subdirectory of the project; the SConstruct file is in the root of the project. I need to create an action to run this script, and am having trouble because I have neither the absolute path to the project, nor a relative path from the directory in which the target is located back up to the tools subdirectory where the script is located. If I could somehow get the absolute path to the root directory of my project, I'd be all set, I could just concatenate `tools/myscript.bar' and be done with it. Here's what I have, more or less: env['BUILDERS']['FooBar'] = Builder(action = [ 'c:/bin/foo.exe ${SOURCE.filebase}', 'c:/bin/bar-interpreter.exe myscript.bar ${SOURCE.filebase}', ], chdir=1); The problem is that I need to change the action in question so that "myscript.bar" can be found, something like: env['BUILDERS']['FooBar'] = Builder(action = [ 'c:/bin/foo.exe ${SOURCE.filebase}', 'c:/bin/bar-interpreter.exe $PATHTOHERE/tools/myscript.bar ${SOURCE.filebase}', ], chdir=1); This seems so simple but I can't figure out how.
Tags (comma-separated)
Save Edits
Cancel