Angenommen, Sie haben zwei Ordner src
und build
wo src
Ihre Projekte enthält und build
ist der leere Ordner, den Sie gerade erstellt haben, so dass Sie Ihre Out-of-Baum bauen darin bereitstellen können: CMAKE_SOURCE_DIR
ist der Pfad zu src
wo CMAKE_BINARY_DIR
zeigt auf build
.
Beachten Sie, dass die 2 Cache-Einträge den gleichen Wert erhalten, wenn Sie eine In-Tree-Erstellung durchführen.
link: CMake Useful Variables.
EDIT
für weitere Erläuterungen
<some location>/src/CMakeLists.txt (so *src* is the root of your project)
<some location>/build
, wenn Sie etwas tun, wie
cd <some location>/build
cmake <some location>/src
Sie machen eine Out-of-Baum zu bauen, wo 0.123.und CMAKE_BINARY_DIR
erhalten unterschiedliche Werte
Vielen Dank für Ihre Antwort. Aber leider verstehe ich nicht, wie sich diese Antwort auf meine Frage bezieht. Ich kann jedoch einige grundlegende Informationen fehlen. – patchwork
@patchwork wissen Sie, was ein Out-of-Tree Build ist? Wenn Sie Ihr Projekt in einem Ordner konfigurieren und erstellen, der nicht der ursprüngliche Quellordner ist, wenn Sie sagen, dass Sie 'cmake ..' aus Ihrem Quellbaum verwenden, führen Sie einen Out-of-Tree-Build aus. – user2485710
danke, nein ich wusste nicht, was ein Out-of-Tree-Build war. Ich habe es immer noch nicht geschafft, die Informationen, die Sie in Ihrer Antwort angegeben haben, mit meiner Frage zu verbinden. "Ist diese Variable (CMAKE_SOURCE_DIR) immer auf das Verzeichnis eingestellt, das die CMakeLists.txt-Datei enthält, auf der ich Cmake ausführe?" Wie auch immer - ich habe herausgefunden, was CMAKE_SOURCE_DIR war, indem ich es in den Cache exportiert habe. – patchwork