2016-06-29 11 views
0

Ich habe Visual C++ Build Tools 2015 | Standalone compiler, libraries and scripts auf einem Low-End-Netbook installiert. Dies ist notwendig, weil die Maschine einen kleinen eMMC an die Platine gelötet hat, ohne dass tatsächlich Platz zur Verfügung steht.Was ist das -D, um Cmake zu sagen, wo man nmake finden kann?

nmake ist unter %PROGRAM FILES%\Microsoft Visual Studio 14.0\VC\bin installiert. Cmake kann es jedoch nicht finden, wenn es versucht, das Makefile zu generieren. Ich würde gerne eine -D verwenden, um Cmake mitzuteilen, was das Makefile-Programm ist, aber ich habe Probleme, die list of -D defines for Cmake zu finden.

Der Vollständigkeit halber versuche ich, andere Microsoft-Tools zu vermeiden. Ich habe LLVM Build-Tools um C:\LLVM\bin, also setze ich CMAKE_C_COMPILER und CMAKE_CXX_COMPILER. Aber ich brauchte weil ich kein Stand alone Make-Programm für Windows schon finden kann.

Was ist die -D definieren zu nmake für Cmake?

+1

Normalerweise würden Sie "Visual Studio ... Eingabeaufforderung" aus dem Startmenü starten. Dies setzt mehrere Umgebungsvariablen, um Compiler, Bibliotheken, Includes und nmake zu finden. Dann können Sie "cmake-G" NMake Makefiles ausführen. Dies wird dann Microsofts Tools verwenden. –

+1

Ich benutze [Ninja] (https://ninja-build.org/) als eigenständiges make-Tool (nur eine ausführbare Datei) für alle Meine Projekte auf allen Plattformen Es ist schnell und sehr gut bei der Überprüfung der Abhängigkeit Ninja muss irgendwo im Suchpfad Ihres Systems sein, dann können Sie 'cmake.exe -G" Ninja "..' | 'ninja' aufrufen. – Florian

+0

Nur verwenden clang ist momentan nicht möglich, ich glaube, da es nicht mit einem eigenen Linker kommt, also selbst wenn man NMake mit -D (CMAKE_MAKE_PROGRAM) setzt (https://cmake.org/cmake/help/v3.0/manual/cmake) -variables.7.html) Ich glaube, dass Sie die Binaries von verwenden können (http://llvm.org/builds/) und cmake anweisen, mindestens die Compiler von ihm zu verwenden. I Ich kann das jetzt nicht testen, weil ich keine Windows installiert habe, aber wenn du ein Ich bin mir nicht sicher, was ich sage, lassen Sie es mich wissen und ich gebe Ihnen weitere Informationen. –

Antwort

1

Die Variable, die Sie für CMAKE_MAKE_PROGRAM ist suchen sind.

Wenn Sie versuchen, diese Variable plus CMAKE_C_COMPILER, CMAKE_LINKER_EXE usw. zu setzen, wird dies immer noch fehlschlagen, da für cl.exe und link.exe einige Umgebungsvariablen gesetzt werden müssen. Diese können mit einer "Visual Studio * Command Prompt" (dies verwendet vcvars.bat aus dem VS-Installationsverzeichnis) festgelegt werden.

Zum Verwenden von clang können Sie ein clang-Toolset von http://llvm.org/builds/ installieren. Dann können Sie CMAKE_GENERATOR_TOOLSET in einer Toolchain-Datei angeben.

Lassen Sie mich wissen, wie dies für Sie funktioniert.