У меня есть make-файл, который предназначен для работы с nmake (в командной строке ms visual studio).makefile
сам устанавливает переменную окружения MY_SAY_SOMETHING
, необходимую для других инструментов, таких как пакетный файл test.bat
.Это прекрасно работает с nmake
.
Однако я хочу использовать вместо jom
Qt, чтобы ускорить процесс сборки, используя несколько процессорных ядер с опцией -J
.Инструмент jom
считается клоном nmake
в соответствии с Qt it, поэтому makefile
должен быть совместимым.
Проблема : jom
не устанавливает переменные окружения на машине с Windows!По крайней мере, не так, как это поддерживает nmake.
Поэтому мой вопрос: Как мне установить переменную окружения с помощью jom
?
Это кратчайший пример, показывающий мою проблему:
makefile:
!IF [set MY_SAY_SOMETHING="my super message"]
!ENDIF
all:
@test.bat
test.bat:
@echo off
echo THIS IS MY SUPER MESSAGE "%MY_SAY_SOMETHING%"
Теперь я просто вызываю make-файл с помощью nmake (из командной строки Visual Studio).Это выглядит так:
D: \> nmake
Утилита обслуживания программ Microsoft (R) Версия 10.00.30319.01 Copyright (C) Microsoft Corporation.Все права защищены.
ЭТО МОЕ СУПЕР СООБЩЕНИЕ "" Мое супер сообщение ""
Когда я звоню Джому (из командной строки Visual Studio или из обычного окна)cmd.exe), я просто получаю следующее:
D: \> jom
jom 1.1.3 - расширение возможностей ваших ядер
ЭТО МОЕ СУПЕР СООБЩЕНИЕ""
Я также вызвал параметр -P
для nmake
и jom
, чтобы получить больше информации о том, как интерпретируется make-файл.Однако моя переменная окружения была напечатана с nmake
, но не с jom
.Я также попробовал опцию -E
(переопределить макросы переменных среды) с тем же результатом.
Может быть, это просто ошибка в jom
...