Sie könnten ein solches Tool beispielsweise in C# schreiben, sehen Sie sich die Klassen im Microsoft.Build.Construction
Namespace an, sie sind für das programmatische Erstellen von Projekten gedacht.
Eine einfachere, aber vielseitige Option verwendet dasselbe Eigenschaftenblatt in allen Ihren Projekten und stellt alle Verzeichnispfade ein, die Sie benötigen. Dies hat auch den großen Vorteil, dass es wiederverwendbar ist. Sollten Sie sich jemals dazu entschließen, Ihre Ausgabeverzeichnisse zu ändern, sind alle Projekte, die auf Ihr Eigenschaftenblatt verweisen, automatisch betroffen. Zum Beispiel:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MyMainDir>$(ProjectPath)\..\</MyMainDir>
<OutDir>$(MyMainDir)\bin\$(ConfigurationName)</OutDir>
<IntDir>$(MyMainDir)\tmp\$(ConfigurationName)</IntDir>
</PropertyGroup>
</Project>
Dies wird zuerst die ‚Hauptverzeichnis‘, dh das mit dem Namen ‚Projekt‘ in Ihrer Frage herauszufinden, und stellen Sie dann die Ausgabe und Zwischenverzeichnisse auf der Grundlage dieser und der Name der aktuellen ConfigurationName
, Dies ist standardmäßig Debug
oder Release
.
Nun ist es nur eine Frage des Importierens dieses Eigenschaftsblattes in Ihr Projekt: Gehen Sie zu View->Other Windows->Property Manager
, klicken Sie mit der rechten Maustaste auf das/die Projekt (e), wählen Sie Add Existing property Sheet
. Oder Sie können manuell eine <Import Project=....>
in der Projektdatei hinzufügen.
Während Sie gerade dabei sind, können Sie dem Eigenschaftsfenster auch Compiler/Linker-Optionen hinzufügen, sodass alle Ihre Projekte dieselben Optionen verwenden. Das braucht jetzt einige Zeit, aber Sie werden in Zukunft viel Zeit sparen, da Sie die gleichen Optionen in den Projekteinstellungen nicht immer und immer wieder ändern müssen.
Sie haben Ihre Frage mit 'cmake' markiert. CMake erlaubt es Ihnen tatsächlich, dies zu tun (außer vielleicht die Position von Kompilations-Vermittlern (Objektdateien), die irgendwo unter "/ project/build" landen würden). Was genau ist deine Frage: ob CMake es schaffen kann oder wie man es dort macht? – Angew
Ich bin neu zu cmake, aber ich habe versucht, Cmake zu verwenden, um mein Problem zu lösen, und es gibt keine einfache Lösung für mich. Ich nehme an, dass es vielleicht eine Skelett-cmake-Datei gibt, um die vs2010-Projektdatei mit den richtigen Konfigurationen zu erzeugen. Aber ich habe immer noch nicht gefunden. –