Kopiere oder verschiebe libs nach dem Build mit cmake

8

In meinem Projekt gibt es einen Ordner, der Bibliotheken von Drittanbietern enthält (google test, zlib, ...). Ich möchte die Bibliotheken in einen gemeinsamen Ordner stellen, wenn all diese Bibliotheken erstellt werden. Ich versuche das mit CMake zu machen, aber ich habe Probleme. Ich versuche diesen Code:

%Vor%

Ich denke, das Problem könnte sein, dass das Ziel gtest main nicht auf dieser Ebene definiert ist, sondern auf einer niedrigeren Ebene

    
Killrazor 14.03.2013, 09:35
quelle

1 Antwort

8

Wenn Sie die Variable CMAKE_LIBRARY_OUTPUT_DIRECTORY in Ihrer CMakeLists.txt vor dem Aufruf von add_subdirectory setzen (und das Unterprojekt diese nicht überschreibt), sollten Bibliotheken an der richtigen Stelle stehen.

Außerdem behält das Ziel im Teilprojekt seine Abhängigkeit von der Ausgabedatei. Was bei deiner Kopie nicht funktionieren würde - das Ziel wäre immer veraltet und damit neu aufgebaut.

EDIT: Ich habe übersehen, dass Ihr Kopierbefehl .a-Dateien kopiert und dank @ Frasers Kommentar habe ich auch gelernt, dass CMAKE_ARCHIVE_OUTPUT_DIRECTORY den Trick machen soll.

    
Patrick B. 14.03.2013, 09:41
quelle

Tags und Links