Как использовать командную строку RAD Studio с переменными среды? - PullRequest
1 голос
/ 06 ноября 2019

Мой проект использует переменные среды в выходных путях, например $(MY_PROJECTS)\MyPackageProject -> Options -> Delphi Compiler -> Package output directory)

Переменная окружения MY_PROJECTS определяется как W:\TestTools -> Options -> Environment Options -> Environment Variables -> User overrides)

Когда я собираю или компилирую проект из IDE, выходные файлы создаются в W:\Test\MyPackage.

Если я строю проект из командной строки RAD Studio , выходные файлы создаются в W:\MyPackage (как будто он не видит переменную окружения MY_PROJECTS).

cd W:\Source\MyPackage
msbuild MyPackage.dproj /t:build

Как я могу убедиться, что он видит мои переменные окружения?

1 Ответ

1 голос
/ 06 ноября 2019

Я изучил командную строку RAD Studio и обнаружил, что это ссылка со следующим адресатом:

%comspec%  /K "C:\Program Files (x86)\Embarcadero\Studio\15.0\bin\rsvars.bat"

rsvars - это пакетный файл, который устанавливает среду по умолчаниюпеременные:

@SET BDS=C:\Program Files (x86)\Embarcadero\Studio\15.0
@SET BDSINCLUDE=C:\Program Files (x86)\Embarcadero\Studio\15.0\include
@SET BDSCOMMONDIR=C:\Users\Public\Documents\Embarcadero\Studio\15.0
@SET FrameworkDir=C:\Windows\Microsoft.NET\Framework\v3.5
@SET FrameworkVersion=v3.5
@SET FrameworkSDKDir=
@SET PATH=%FrameworkDir%;%FrameworkSDKDir%;C:\Program Files (x86)\Embarcadero\Studio\15.0\bin;C:\Program Files (x86)\Embarcadero\Studio\15.0\bin64;C:\Users\Public\Documents\Embarcadero\InterBase\redist\InterBaseXE3\IDE_spoof;%PATH%
@SET LANGDIR=EN
@SET PLATFORM=
@SET PlatformSDK=
@SET CG_BOOST_ROOT=C:\Program Files (x86)\Embarcadero\Studio\15.0\include\boost_1_39
@SET CG_64_BOOST_ROOT=C:\Program Files (x86)\Embarcadero\Studio\15.0\include\boost_1_50

Таким образом, проблему можно решить, выполнив следующие действия:

  1. Создайте пустую папку
  2. Создайте пакетный файл с именем setup_environment_variables.bat

    REM ==== default environment variables ====
    CALL "C:\Program Files (x86)\Embarcadero\Studio\15.0\bin\rsvars.bat"
    
    REM ==== custom environment variables ====
    @SET MY_PROJECTS=W:\Test
    
  3. Создать ссылку с именем Настраиваемая командная строка RAD Studio со следующим назначением

    "%comspec% " /K ".\setup_environment_variables.bat"
    
  4. Выполнить Настраиваемая командная строка RAD Studio , и она увидит переменную среды MY_PROJECT и создаст выходные файлы в ожидаемом каталоге.
...