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
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.
Tags und Links cmake