BMK erweiterung, aufruf von Scripten vor dem kompilieren.
Übersicht

![]() |
BtbNBetreff: BMK erweiterung, aufruf von Scripten vor dem kompilieren. |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da ich aktuell mit QT am rumhantieren bin, und dieses so tools wir den moc oder den uic hat, brauchte ich eine erweiterung für das bmk, welche vor dem kompilieren einer datei scripte aufruft, welche wiederrum die utils aufruft.
Die änderungen sind wie folgt: Code: [AUSKLAPPEN] Function RunSystemScript(file$)
Local strm:TStream = ReadFile(file) If Not strm Then WriteStdout(StripDir(file)+" not found.~n");Return WriteStdout("Running "+StripDir(file)+" in standard shell.~n") system_(strm.ReadString(FileSize(file))) strm.Close() EndFunction Function RunPreScripts(src_file$) Local file$=src_file+".cmd" RunSystemScript(file) ?Win32 file$=src_file+".win32.cmd" ?MacOS file$=src_file+".macos.cmd" ?Linux file$=src_file+".linux.cmd" ? RunSystemScript(file) EndFunction Diese neuen funktionen gehören in bmk_util.bmx. Ich hab sie über die funktion CompileC gepackt. Dann muss in den funktionen CompileC und CompileBMX jeweils eine Zeile hinzugefügt werden: Code: [AUSKLAPPEN] RunPreScripts(src)
In CompileBMX habe ich diese direkt nach dem DeleteFile eingefügt, und in CompileC unten am Ende vor der If: Code: [AUSKLAPPEN] If Sys( cmd )
.
Throw "Build Error: failed to compile "+src EndIf Das ganze läuft dann wie folgt: Neben den source-files können noch 4 weitere Dateien existieren, wovon 2 auf jedem OS ausgeführt werden: - *SourceFile*.cmd - *SourceFile*.win32.cmd - *SourceFile*.macos.cmd - *SourceFile*.linux.cmd Die Datei *SourceFile*.cmd wird auf jedem OS ausgeführt, die anderen auf ihrem jeweiligen OS. Wenn sie nicht existieren, werden sie einfach ignoriert. Was haltet ihr davon? Und ist es im richtigen Forum? |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group