Die Werke nach, wenn ich von der Kommandozeile ausgeführt werden, und das erzeugte Xcode-Projekt hat die Architektur auf, was ich hier übergeben:Einstellung Cmake var auf der Kommandozeile vs in CMakeLists
cmake ../src/ -GXcode -DCMAKE_OSX_ARCHITECTURES="armv7 arm64"
Ich dachte, ich würde stattdessen diese Informationen in CMakeLists setzen wie so:
set (CMAKE_OSX_ARCHITECTURES "armv7 arm64")
ich habe versucht, dies um zu verschiedenen Orten in den CMakeLists bewegen, aber es macht keinen Unterschied, und die archi Tecture wird nicht wie in der Befehlszeile festgelegt.
Warum funktioniert die Befehlszeile, aber die explizite Einstellung in der Datei funktioniert nicht?
Seltsamerweise funktionierte es nur, nachdem ich die Anweisung zu * nach * meinem Projekt() verschoben habe. Ich verwende keine Toolchain-Datei. Seltsam, was für mich erfolgreich war, ist das Gegenteil von den Dokumenten, die du zitierst. – johnbakers
Wirklich seltsam. Sieht so aus, als ob der Compiler-Erkennungscode, der unter 'project()'/'enable_language()' aufgerufen wird, diese Variable modifiziert. Es wäre interessant, diese Variable vor 'project()' zu setzen und danach (mit 'message()') auszugeben. – Tsyvarev
ich setze es, dann rufe das Projekt auf, dann habe diese Zeile: 'message (STATUS" archs ist "$ {CMAKE_OSX_ARCHITECTURES})' und es ist leer, wo es ist, wie ich es vor 'project()' gesetzt habe, so ist es Seltsam für mich, dass mein generiertes xcode-Projekt verschiedene Einstellungen hat, wenn ich es vor 'project' stelle, da es scheint, dass' project' löscht, dass die Einstellung – johnbakers