cmake g++ Output Directory



  • Guten Tag zusammen,

    ich habe gerade ein neues Projekt erstellt und baue mir gerade mit cmake die Projektstruktur zusammen. Hab jetzt erstmal ein paar wichtige Dinge verstanden und es funktioniert nun auch wunderbar. Es werden mit cmake die nötigen Libs und dann die Anwendung gebaut.

    Nun ist es ja so, dass nach dem man cmake und make benutzt hat, die Binaries im aktuellem Verzeichnis erstellt werden.

    Ist das nicht völlig unpraktisch? Ist es normal nicht so, dass man nach dem make die nötigen Dateien irgendwo ins System kopiert? Damit man sie von dort aus später starten kann. Ich meine wie bei einer Installation. Sonst müsste man ja das Programm immer aus dem Verzeichnis starten in dem cmake die nötigen Dateien erstellt hat.

    Wenn ja, macht man das auch mit cmake? Festlegen wo die Binaries und Libs erstellt werden.

    Ich nutze aktuell Arch Linux. Das Projekt soll vielleicht auch später unter Windows kompiliert werden.



  • Unter Linux würde ich es so sehen, dass die Binaries in einem Unterordner (z. B. build) vom Projekt erstellt werden, dann an einen bestimmten Ort installiert werden - siehe https://cmake.org/cmake/help/latest/command/install.html.

    BTW: Du musst make nicht direkt aufrufen, sondern kannst cmake --build . benutzen.

    Hier wird erklärt wie man die Output-Directories ändern kann, allerdings würde ich das nur für das Erstellen machen: http://stackoverflow.com/a/6595001

    Unter Windows ist es anders: Da würde ich ein Setup aus den vorher gebauten Binaries erzeugen und so dem Benutzer die Installation ermöglichen.



  • Ok vielen danke. werde es mir mal anschauen



  • Ich hasse cmake so sehr....

    Entschuldigung, das ist Off Topic, aber musste sein.

    Hatte beruflich die Tage den Auftrag das neue Root mit Jupyter Kernel vom CERN zu compilieren. So viel abfuck... 😞


Anmelden zum Antworten