Source und Compilation in unterschiedlichen Ordnern?

Hi,

“Build” speichert standardmig im Sourcecode-Ordner.
ich mchte aber Source und erzeugte Programme in unterschiedlichen Ordnern speichern.

z.B. Sourcecode hier:
…/XOJO/source/App1/*

Compileroutput:
…/XOJO/exe/App1/*

Geht das?

Die Suche hier im Forum brachte zwar etwas “build folder”, aber die Einstellungen bringen nicht den Erfolg.

Danke

Es geht, aber bzgl. der konkreten Umsetzung bin ich auch etwas überfragt. Michel schlägt in diesem Thread ein IDE Script vor, das den Build nach Fertigstellung via ShellCommand an einen anderen Ort verschiebt. Kombiniert mit einem Build Script, das nach dem Build das IDE-Script aufruft, sollte das auch automatisch funktionieren.

Das kannst Du ganz einfach mit IDE Scripts machen. Mein Programm besteht aus drei Teilen. Das Script unten kopiert das Hilfsprogramm in das Hauptprogramm. Klar, ist Mac und nicht Windows, aber das Prinzip sollte das gleiche sein. Man mu nur mit dem Quoten aufpassen. Ich mache erst den Befehl im Terminal. Dann setze ich das in das IDE Script ein. Und dann kommt im scheulichsten Teil das Ersetzen der absoluten Pfade in currentBuildLocation etc.

[code]'copy the scheduler to app/library/loginitems

dim appPath as string = currentBuildLocation + “/” + shellEncode(currentBuildAppName)
if right(AppPath, 4) <> “.app” then appPath = appPath + “.app”

'do directory for loginitems
dim cmd as String = "/bin/mkdir -p " + appPath + “/Contents/Library/LoginItems”
dim theOutput as string = doShellCommand(cmd)
if theOutput <> “” then print theOutput

'get path to scheduler
dim CountSlashes as integer = CountFields(ProjectShellPath, “/”)
dim ProjectName as string = NthField(ProjectShellPath, “/”, CountSlashes)
dim ProjectPath as String = Left(ProjectShellPath, Len(ProjectShellPath) - Len(ProjectName))
dim PathToScheduler as String = ProjectPath + shellEncode(“Builds - max scheduler.rbp/Mac OS X (Cocoa Intel)”)

'copy scheduler to app
cmd = "usr/bin/ditto " + PathToScheduler + " " + appPath + “/Contents/Library/LoginItems”
'print "cmd " + cmd
theOutput = doShellCommand(cmd)
if theOutput <> “” and instr(theOutput, “can’t get real path”) = 0 then print theOutput

// Helper functions for this script
Function shellEncode(inValue as string) as string
Dim rvalue as string = replaceAll(inValue, " ", "\ ")
rvalue = replaceAll(rvalue, “&”, “\&”)
rvalue = replaceAll(rvalue, “-”, “\-”)
rvalue = replaceAll(rvalue, “(”, “\(”)
rvalue = replaceAll(rvalue, “)”, “\)”)
return rvalue
End Function[/code]

Oha, und ich dachte, ich wre blind und htte es in den Einstellungen bersehen.

Danke Beatrix, probiere ich aus. Ist bei mir auch auf dem Mac.