суббота, 21 августа 2010 г.

Visual Studio 2010: Clean command line, переменные среды

При выполнении команды Clean в C++ проекте типа Makefile project команды запускаются в некорректном окружении: cmake ругается на отсутствие необходимых переменных, nmake не доступен в PATH. Проблема известна, но предложенный workaround с ключом useenv не работает, неправильное окружение получают и команды Build и Rebuild.


Update: решение найдено. Необходимо в Clean command line добавить вызов bat-файла, устанавливающего необходимые переменные среды. Этот bat-файл используется в ярлыке Visual Studio Command Prompt (2010).

call "$(VCInstallDir)vcvarsall.bat"

set BUILD_DIR="$(ProjectDir)$(Configuration)"
set PROJECT_DIR="$(ProjectDir)..\..\.."
 
if not exist %BUILD_DIR% mkdir %BUILD_DIR%
cd %BUILD_DIR%
cmake -DCMAKE_BUILD_TYPE=$(ConfigurationName) -G "NMake Makefiles" %PROJECT_DIR%
nmake clean

Комментариев нет:

Отправить комментарий