123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- echo off
- set "SCRIPTROOT=%~dp0"
- set "SCRIPTROOT=%SCRIPTROOT:~0,-1%"
- rem ----- Reset values to defaults -----
- set "VCVER=vc14"
- set "ARCH=64"
- set "CASDEB="
- if not ["%1"] == [""] set "VCVER=%1"
- if not ["%2"] == [""] set "ARCH=%2"
- if /I ["%ARCH%"] == ["win32"] set "ARCH=32"
- if /I ["%ARCH%"] == ["win64"] set "ARCH=64"
- if /I ["%3"] == ["debug"] set "CASDEB=d"
- if /I ["%3"] == ["d"] set "CASDEB=d"
- if /I ["%3"] == ["i"] set "CASDEB=i"
- if /I ["%3"] == ["relwithdeb"] set "CASDEB=i"
- rem ----- Decode VCVER variable and define related ones -----
- rem
- rem VCFMT - "vc" followed by full version number of Visual Studio toolset
- rem (same as VCVER without optional suffix "-uwp")
- rem VCLIB - name of folder contining binaries
- rem (same as VCVER except without third version in number)
- rem VCPROP - name of required Visual Studion Workload (starting with VS 2017)
- rem
- rem Note that for VS before 2015 (vc14) always
- rem VCFMT=VCLIB=VCVER and VCPROP=NativeDesktop
- rem Since VS 2017, environment variables like VS100COMNTOOLS are not defined
- rem any more, we can only use vswhere.exe tool to find Visual Studio.
- rem Add path to vswhere.exe
- if /I not "%VCFMT%" == "gcc" (
- set "PATH=%PATH%;%ProgramFiles(x86)%\Microsoft Visual Studio\Installer"
- )
- rem for vc10-12, interpretation is trivial
- set VCFMT=%VCVER%
- set VCLIB=%VCVER:~0,4%
- set VCPROP=NativeDesktop
- rem vc14 and later can have optional suffix "-uwp"
- if "%VCVER:~-4%" == "-uwp" (
- set VCFMT=%VCVER:~0,-4%
- set VCLIB=%VCLIB%-uwp
- set VCPROP=Universal
- )
- rem echo VCVER=%VCVER% VCFMT=%VCFMT% VCLIB=%VCLIB% VCPROP=%VCPROP%
- rem ----- Parsing of Visual Studio platform -----
- set "VisualStudioExpressName=VCExpress"
- if not "%DevEnvDir%" == "" (
- rem If DevEnvDir is already defined (e.g. in custom.bat), use that value
- ) else if /I "%VCFMT%" == "vc9" (
- set "DevEnvDir=%VS90COMNTOOLS%..\IDE"
- ) else if /I "%VCFMT%" == "vc10" (
- set "DevEnvDir=%VS100COMNTOOLS%..\IDE"
- ) else if /I "%VCFMT%" == "vc11" (
- set "DevEnvDir=%VS110COMNTOOLS%..\IDE"
- rem Visual Studio Express starting from VS 2012 is called "for Windows Desktop"
- rem and has a new name for executable - WDExpress
- set "VisualStudioExpressName=WDExpress"
- ) else if /I "%VCFMT%" == "vc12" (
- set "DevEnvDir=%VS120COMNTOOLS%..\IDE"
- set "VisualStudioExpressName=WDExpress"
- ) else if /I "%VCFMT%" == "vc14" (
- set "DevEnvDir=%VS140COMNTOOLS%..\IDE"
- ) else if /I "%VCFMT%" == "vc141" (
- for /f "usebackq delims=" %%i in (`vswhere.exe -version "[15.0,15.99]" -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
- set "DevEnvDir=%%i\Common7\IDE\"
- )
- ) else if /I "%VCFMT%" == "vc142" (
- for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,16.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
- set "DevEnvDir=%%i\Common7\IDE\"
- )
- ) else if /I "%VCFMT%" == "gcc" (
- rem MinGW
- ) else (
- echo Error: wrong VS identifier
- exit /B
- )
- rem ----- Parsing vcvarsall for qt samples and define PlatformToolset -----
- if /I "%VCFMT%" == "vc9" (
- set "VCVARS=%VS90COMNTOOLS%..\..\VC\vcvarsall.bat"
- set "VCPlatformToolSet=v90"
- ) else if /I "%VCFMT%" == "vc10" (
- set "VCVARS=%VS100COMNTOOLS%..\..\VC\vcvarsall.bat"
- set "VCPlatformToolSet=v100"
- ) else if /I "%VCFMT%" == "vc11" (
- set "VCVARS=%VS110COMNTOOLS%..\..\VC\vcvarsall.bat"
- set "VCPlatformToolSet=v110"
- ) else if /I "%VCFMT%" == "vc12" (
- set "VCVARS=%VS120COMNTOOLS%..\..\VC\vcvarsall.bat"
- set "VCPlatformToolSet=v120"
- ) else if /I "%VCFMT%" == "vc14" (
- set "VCVARS=%VS140COMNTOOLS%..\..\VC\vcvarsall.bat"
- set "VCPlatformToolSet=v140"
- ) else if /I "%VCFMT%" == "vc141" (
- for /f "usebackq delims=" %%i in (`vswhere.exe -version "[15.0,15.99]" -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
- set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
- )
- set "VCPlatformToolSet=v141"
- ) else if /I "%VCFMT%" == "vc142" (
- for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,16.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
- set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
- )
- set "VCPlatformToolSet=v142"
- ) else if /I "%VCFMT%" == "gcc" (
- rem MinGW
- ) else (
- echo Error: first argument ^(%VCVER%^) should specify supported version of Visual C++,
- echo one of: vc10 ^(VS 2010 SP3^), vc11 ^(VS 2012 SP3^), vc12 ^(VS 2013^) or vc14 ^(VS 2015^)
- exit
- )
- rem ----- For compatibility with external application using CASROOT -----
- if ["%CASROOT%"] == [""] set "CASROOT=%SCRIPTROOT%"
- rem ----- Define path to 3rdparty products -----
- if ["%THIRDPARTY_DIR%"] == [""] set "THIRDPARTY_DIR="
- if ["%ARCH%"] == ["32"] set VCARCH=x86
- if ["%ARCH%"] == ["64"] set VCARCH=amd64
- if /I ["%1"] == ["vc141"] set "VCVER=vc14"
- if /I ["%1"] == ["vc142"] set "VCVER=vc14"
- if exist "%CASROOT%\custom.bat" (
- call "%CASROOT%\custom.bat" %VCVER% %ARCH% %CASDEB%
- )
- if not ["%TCL_DIR%"] == [""] set "PATH=%TCL_DIR%;%PATH%"
- if not ["%TK_DIR%"] == [""] set "PATH=%TK_DIR%;%PATH%"
- if not ["%FREETYPE_DIR%"] == [""] set "PATH=%FREETYPE_DIR%;%PATH%"
- if not ["%FREEIMAGE_DIR%"] == [""] set "PATH=%FREEIMAGE_DIR%;%PATH%"
- if not ["%EGL_DIR%"] == [""] set "PATH=%EGL_DIR%;%PATH%"
- if not ["%GLES2_DIR%"] == [""] set "PATH=%GLES2_DIR%;%PATH%"
- if not ["%TBB_DIR%"] == [""] set "PATH=%TBB_DIR%;%PATH%"
- if not ["%VTK_DIR%"] == [""] set "PATH=%VTK_DIR%;%PATH%"
- if not ["%FFMPEG_DIR%"] == [""] set "PATH=%FFMPEG_DIR%;%PATH%"
- if not ["%OPENVR_DIR%"] == [""] set "PATH=%OPENVR_DIR%;%PATH%"
- if not ["%QTDIR%"] == [""] (
- set "PATH=%QTDIR%/bin;%PATH%"
- set "QT_PLUGIN_PATH=%QTDIR%/plugins"
- )
- rem ----- Set path to 3rd party and OCCT libraries -----
- if not "%CSF_OCCTBinPath%" == "" (
- set "PATH=%CSF_OCCTBinPath%;%PATH%"
- )
- if not ["%TK_DIR%"] == ["%TCL_DIR%"] (
- if not ["%TK_DIR%"] == [""] set "TK_LIBRARY=%TK_DIR%/../lib/tk%TK_VERSION_WITH_DOT%"
- if not ["%TCL_DIR%"] == [""] set "TCL_LIBRARY=%TCL_DIR%/../lib/tcl%TCL_VERSION_WITH_DOT%"
- )
- rem ----- Set envoronment variables used by OCCT -----
- set CSF_LANGUAGE=us
- set MMGT_CLEAR=1
- set "CSF_SHMessage=%CSF_OCCTResourcePath%\SHMessage"
- set "CSF_MDTVTexturesDirectory=%CSF_OCCTResourcePath%\Textures"
- set "CSF_ShadersDirectory=%CSF_OCCTResourcePath%\Shaders"
- set "CSF_XSMessage=%CSF_OCCTResourcePath%\XSMessage"
- set "CSF_TObjMessage=%CSF_OCCTResourcePath%\TObj"
- set "CSF_StandardDefaults=%CSF_OCCTResourcePath%\StdResource"
- set "CSF_PluginDefaults=%CSF_OCCTResourcePath%\StdResource"
- set "CSF_XCAFDefaults=%CSF_OCCTResourcePath%\StdResource"
- set "CSF_TObjDefaults=%CSF_OCCTResourcePath%\StdResource"
- set "CSF_StandardLiteDefaults=%CSF_OCCTResourcePath%\StdResource"
- set "CSF_IGESDefaults=%CSF_OCCTResourcePath%\XSTEPResource"
- set "CSF_STEPDefaults=%CSF_OCCTResourcePath%\XSTEPResource"
- set "CSF_XmlOcafResource=%CSF_OCCTResourcePath%\XmlOcafResource"
- set "CSF_MIGRATION_TYPES=%CSF_OCCTResourcePath%\StdResource\MigrationSheet.txt"
- rem ----- Draw Harness special stuff -----
- if exist "%CSF_OCCTResourcePath%\DrawResources" (
- set "DRAWHOME=%CSF_OCCTResourcePath%\DrawResources"
- set "CSF_DrawPluginDefaults=%CSF_OCCTResourcePath%\DrawResources"
- if exist "%CSF_OCCTResourcePath%\DrawResources\DrawDefault" (
- set "DRAWDEFAULT=%CSF_OCCTResourcePath%\DrawResources\DrawDefault"
- )
- )
|