Files
dxfmakros/bin/setenv.bat
T

96 lines
3.3 KiB
Batchfile

@echo off
REM ================================================================
REM TEST - Umgebungsvariablen Setup
REM ================================================================
echo Setting up environment variables for DXFMAKROS ...
REM Basis-Projektpfad (aktueller Ordner)
set "DXFMAKRO=%~dp0.."
if "%DXFMAKRO:~-6%"=="bin\.." set "DXFMAKRO=%DXFMAKRO:~0,-6%"
if "%DXFMAKRO:~-1%"=="\" set "DXFMAKRO=%DXFMAKRO:~0,-1%"
REM Pfade fuer verschiedene Komponenten
set "DXFM_BIN=%DXFMAKRO%\bin"
set "DXFM_LIB=%DXFMAKRO%\lib"
set "DXFM_DATA=%DXFMAKRO%\data"
set "DXFM_TESTS=%DXFMAKRO%\tests"
set "DXFM_TESTDATA=%DXFM_TESTS%\testdata"
set "DXFM_TESTOUT=%DXFM_TESTS%\output"
set "DXFM_TESTREF=%DXFM_TESTS%\reference"
set "DXFM_CFG=%DXFMAKRO%\cfg"
set "DXFM_LOG=%DXFMAKRO%\logs"
set "DXFM_LISP=%DXFMAKRO%\Lisp"
set "DXFM_DCL=%DXFMAKRO%\dcl"
set "DXFM_RESULTS=%DXFMAKRO%\results"
REM 2D/3D-Modus: Standard ist 2D
set "DXFM_DIM=2D"
set BRICSCAD="C:\Program Files\Bricsys\BricsCAD V25 de_DE\bricscad.exe"
if exist "C:\Program Files\Bricsys\BricsCAD V25 de_DE\bricscad.exe" (
set "BRICSCAD=C:\Program Files\Bricsys\BricsCAD V25 de_DE\bricscad.exe"
) else if exist "C:\Program Files\Bricsys\BricsCAD V22 de_DE\bricscad.exe" (
set "BRICSCAD=C:\Program Files\Bricsys\BricsCAD V22 de_DE\bricscad.exe"
) else if exist "D:\Programme\BricsCAD\bricscad.exe" (
set "BRICSCAD=D:\Programme\BricsCAD\bricscad.exe"
) else (
echo Keine BricsCAD-Installation gefunden.
)
REM Ueberladen von Umgebungsvariablen durch _setenv.bat (z.B. DXFM_DIM=3D)
if exist "%~dp0_setenv.bat" (
echo Lade lokale Umgebungseinstellungen aus _setenv.bat...
call "%~dp0_setenv.bat"
)
REM Kommandozeilenparameter hat hoechste Prioritaet
if /i "%1"=="3D" set "DXFM_DIM=3D"
if /i "%1"=="2D" set "DXFM_DIM=2D"
REM Abhaengige Pfade nach Override berechnen
set "DXFM_BLOCKS=%DXFMAKRO%\data\ils\%DXFM_DIM%"
set "DXFM_OMNIFLO=%DXFMAKRO%\data\omniflo\%DXFM_DIM%"
REM Ordner erstellen falls sie nicht existieren
if not exist "%DXFM_BIN%" mkdir "%DXFM_BIN%"
if not exist "%DXFM_CFG%" mkdir "%DXFM_CFG%"
if not exist "%DXFM_LIB%" mkdir "%DXFM_LIB%"
if not exist "%DXFM_DATA%" mkdir "%DXFM_DATA%"
if not exist "%DXFM_BLOCKS%" mkdir "%DXFM_BLOCKS%"
if not exist "%DXFM_OMNIFLO%" mkdir "%DXFM_OMNIFLO%"
if not exist "%DXFM_LISP%" mkdir "%DXFM_LISP%"
if not exist "%DXFM_LOG%" mkdir "%DXFM_LOG%"
if not exist "%DXFM_RESULTS%" mkdir "%DXFM_RESULTS%"
if not exist "%DXFM_TESTDATA%" mkdir "%DXFM_TESTDATA%"
if not exist "%DXFM_TESTOUT%" mkdir "%DXFM_TESTOUT%"
if not exist "%DXFM_TESTREF%" mkdir "%DXFM_TESTREF%"
REM Variablen dauerhaft fuer diesen Benutzer setzen (einmalig noetig)
echo Setze Umgebungsvariablen dauerhaft (setx)...
setx DXFMAKRO "%DXFMAKRO%"
setx DXFM_LISP "%DXFM_LISP%"
setx DXFM_DATA "%DXFM_DATA%"
setx DXFM_DCL "%DXFM_DCL%"
setx DXFM_CFG "%DXFM_CFG%"
setx DXFM_LOG "%DXFM_LOG%"
setx DXFM_DIM "%DXFM_DIM%"
setx DXFM_BLOCKS "%DXFM_BLOCKS%"
echo Dauerhaft gesetzt. Gilt fuer alle neuen Prozesse (nicht aktuelles Fenster).
REM Umgebungsvariablen anzeigen
echo.
echo ================================================================
echo DXFMAKRO = %DXFMAKRO%
echo DXFM_DIM = %DXFM_DIM%
echo DXFM_BLOCKS = %DXFM_BLOCKS%
echo DXFM_OMNIFLO = %DXFM_OMNIFLO%
echo ================================================================
echo.
REM Optionally keep window open
if "%1"=="--keep-open" pause