Я достиг конца моей веревки с Cmake; у него такой большой потенциал, но я не могу заставить его найти базовые системные инструменты (например, «make») для функционирования.
ПРИЗНАКИ
Cmake и графический интерфейс Cmake выдают следующее (после удаления файла CMakeCache.txt):
Processing top-level CMakelists.txt for project swb
CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles".
CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
Я сосредоточен на поиске «make» в этом вопросе, однако у меня также было много таких же проблем, когда CMake не мог найти библиотеки и другие служебные файлы (linker, nm, ar и т. Д.). Методы, которые я перечислю ниже, позволяют CMake находить эти файлы при работе под Linux.
СИСТЕМА
Windows 7 (64-разрядная версия); несколько версий MinGW (32-бит / 64-бит); Cmake 2,8,4;
НЕСТАНДАРТНОЕ место установки MinGW (c: / MinGW-32).
Вещи, которые я испытал
CMakelists.txt содержит «SET (CMAKE_MAKE_PROGRAM c: /MinGW-32/bin/make.exe FORCE)» в первых 10 строках файла.
Предыдущие версии CMakelists.txt содержали:
find_program(CMAKE_MAKE_PROGRAM
NAMES make
make.exe
DOC "Find a suitable make program for building under Windows/MinGW"
HINTS c:/MinGW-32/bin )
Установите CMAKE_MAKE_PROGRAM в переменной среды cmd.exe перед запуском CMake или CMake-GUI.
Использование файла "toolchain", который идентифицирует CMAKE_MAKE_PROGRAM, а также CMAKE_C_COMPILER и т. Д.
ТО, ЧТО РАБОТАЕТ
CMake успешно создаст файлы сборки, ЕСЛИ я использую графический интерфейс для заполнения переменной CMAKE_MAKE_PROGRAM ("C: /MinGW-32/bin/make.exe").
вопрос (ы)
Я могу заставить работать CMake, если идентифицирую имя программы make через GUI. Как разрешить CMake найти мою программу make без вмешательства пользователя с помощью комбинации Windows 7 (64-битная) / MinGW?