Ich muss zwei Programme nacheinander als Teil eines benutzerdefinierten Builders ausführen.
Einer von ihnen ist ein Programm, bei dem ich feststecke und mit absoluten / relativen Pfaden nicht umgehen kann, deshalb muss ich die Option chdir=1
des Builders verwenden, damit ihre Aktionen im selben Verzeichnis wie das Ziel laufen .
Das zweite ist ein Skript, das sich im Unterverzeichnis tools
des Projekts befindet. Die SConstruct-Datei befindet sich im Stammverzeichnis des Projekts. Ich muss eine Aktion erstellen, um dieses Skript auszuführen, und habe Probleme, da ich weder den absoluten Pfad zum Projekt noch einen relativen Pfad vom Verzeichnis, in dem sich das Ziel befindet, zurück zum tools
-Unterverzeichnis, in dem sich das Skript befindet befindet sich. Wenn ich irgendwie den absoluten Pfad zum Stammverzeichnis meines Projekts bekommen könnte, wäre ich fertig, ich könnte einfach 'tools / myscript.bar' verketten und fertig damit sein.
Folgendes habe ich mehr oder weniger:
%Vor%Das Problem ist, dass ich die betreffende Aktion so ändern muss, dass "myscript.bar" gefunden wird, etwa wie folgt:
%Vor%Das scheint so einfach zu sein, aber ich kann nicht herausfinden, wie.
Sie sollten "#" verwenden, um den Anfang des Quellverzeichnisses anzugeben.
%Vor%Diese Version funktioniert, wenn Sie auch ein Variantenverzeichnis verwenden. Zum Beispiel in SConstruct :
%Vor%Dann in main.scons :
%Vor% Der erste gibt /path/to/project/build
aus, während der zweite den korrekten /path/to/project
anzeigt.
Tags und Links scons