Meine Frage ist, wie man Variablen zwischen verschiedenen cmake-Dateien teilt, und ich zeige die folgenden Beispiele, um meine Frage zu illustrieren:
Haupt
%Vor%exe
%Vor%dll
%Vor% In diesem Beispiel ist Var3 in den cmake-Dateien von exe
und dll
zu sehen, wie es in Main
definiert ist. Var1, das in exe
definiert ist, wird jedoch nicht in dll
angezeigt. Ich war nur neugierig: Gibt es eine Möglichkeit, Var1 in exe
beobachtbar in dll
zu definieren?
Neben dem, was Tadeusz richtig gesagt hat, können Sie eine Variable auf jeder Ebene (nicht nur eine!) mit
erstellen %Vor%Die Variable steht für alle CMake-Befehle zur Verfügung, die auf diesen Befehl folgen. So steht sie beispielsweise für ein Schwesterverzeichnis nicht zur Verfügung, das vor dem Verzeichnis hinzugefügt wird, in dem diese Variable definiert ist.
Die Bereiche variabler Sichtbarkeit bilden einen Baum. Die CMakeFiles.txt-Dateien, die mit add_subdirectory
hinzugefügt wurden, haben Zugriff auf die Variablen, die in ihnen selbst definiert sind, und im übergeordneten Bereich (der globale Toplevel-Bereich in Ihrem Beispiel).
Sie können eine Variable eine Ebene höher exportieren mit:
%Vor%Tags und Links cmake