2013-07-12 5 views
6

Ich entwickle für Embedded-System mit benutzerdefinierten Toolchain-Datei. CMAKE_SYSTEM_NAME ist auf "Generic" gesetzt, daher können WIN32-, UNIX- und andere Variablen nicht dazu verwendet werden, das Betriebssystem zu überprüfen, auf dem das Projekt konfiguriert ist. Aber ich muss das Projekt auf verschiedenen Betriebssystemen anders konfigurieren.Wie kann ich das Host-Betriebssystem beim Cross-Compilieren mit CMake bestimmen?

Wie kann ich das Betriebssystem ermitteln, in dem CMake ausgeführt wird?

Antwort

3

Überprüfen Sie die variables that describe the system.

Von besonderem Interesse ist die CMAKE_HOST_SYSTEM Variable und ihre Verwandten. Leider hängt das genaue Verhalten davon stark von der verwendeten Plattform und Toolchain ab. Wenn Sie keine vernünftigen Werte für Ihre Umgebung erhalten, sollten Sie in Erwägung ziehen, unter der Nummer eine bessere Unterstützung für Ihre Plattform anzufordern.

+1

Natürlich kann ich CMAKE_SYSTEM, CMAKE_SYSTEM_NAME usw. nicht verwenden. Ich setze sie manuell, damit Toolchain funktioniert. – DikobrAz

+1

Was ist mit ['CMAKE_HOST_SYSTEM'] (http://www.cmake.org/cmake/help/v2 .8.11/cmake.html # Variable: CMAKE_HOST_SYSTEM)? – ComicSansMS

+0

Großartig! Vielen Dank. CMAKE_HOST_WIN32 ist genau die Variable, nach der ich gesucht habe. – DikobrAz

Verwandte Themen