2016-06-29 2 views
0

У меня есть Visual C++ Build Tools 2015 | Standalone compiler, libraries and scripts, установленный на недорогом нетбуке. Это необходимо, потому что у машины есть небольшой eMMC, припаянный к плате без реального пространства.Что такое -D определить, чтобы сказать Cmake, где найти nmake?

nmake установлен на %PROGRAM FILES%\Microsoft Visual Studio 14.0\VC\bin. Однако Cmake не может найти его при попытке создания Makefile. Я хотел бы использовать -D, чтобы сообщить Cmake, что это за программа makefile, но у меня возникли проблемы с поиском list of -D defines for Cmake.

Для полноты, я стараюсь избегать других инструментов Microsoft. У меня есть инструменты для сборки LLVM на C:\LLVM\bin, поэтому я устанавливаю CMAKE_C_COMPILER и CMAKE_CXX_COMPILER. Но мне нужно было nmake, потому что я не могу найти отдельную программу Make program for Windows, уже построенную.

Что такое -D Определить nmake для Cmake?

+1

Обычно вы запускаете «Visual Studio ... Command Prompt» из startmenu. Это устанавливает несколько переменных среды для поиска компиляторов, libs, includes и nmake. Затем вы можете запустить «cmake -G» NMake Makefiles ». Затем будут использованы инструменты Microsoft. –

+1

Я использую [Ninja] (https://ninja-build.org/) как автономный инструмент make (всего один исполняемый файл) для всех мои проекты на всех платформах быстро и очень хорошо проверяют зависимость. Ninja должен быть где-то в пути поиска вашей системы, тогда вы можете называть 'cmake.exe -G" Ninja "..' |' ninja'. – Florian

+0

Только используя clang в настоящее время не представляется возможным, я верю, потому что он не поставляется с собственным компоновщиком. Поэтому, даже если вы установите NMake с -D (CMAKE_MAKE_PROGRAM) (https://cmake.org/cmake/help/v3.0/manual/cmake -variables.7.html), скорее всего, не получится. Я считаю, что вы можете использовать двоичные файлы из (http://llvm.org/builds/) и сообщить cmake использовать хотя бы компиляторы из него. I не могу проверить это прямо сейчас, потому что у меня нет установленных окон, но если вы я не знаю, что я говорю, дайте мне знать, и я дам вам больше информации. –

ответ

1

Переменная вы ищете CMAKE_MAKE_PROGRAM.

Если вы попытаетесь установить эту переменную плюс CMAKE_C_COMPILER, CMAKE_LINKER_EXE и т. Д., Это все равно не сработает, потому что для cl.exe и link.exe нужны некоторые переменные среды, которые необходимо установить. Они могут быть установлены с помощью «Visual Studio * Command Prompt» (это использует vcvars.bat из VS install dir).

Для использования clang вы можете установить набор инструментов clang от http://llvm.org/builds/. Затем вы можете указать CMAKE_GENERATOR_TOOLSET в файле toolchain.

Дайте мне знать, как это работает для вас.

Смежные вопросы