Last active
August 26, 2016 13:38
-
-
Save kou1okada/0b1c4a5e3b8b8cbd18b2bda69b5e2c55 to your computer and use it in GitHub Desktop.
Utilitiey for VisualStudio using from command line.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@ECHO OFF | |
REM ------------------------------------------------------- | |
REM vcvarsall wrapper | |
REM Copyright (c) 2016 Koichi OKADA. ALl rights reserved. | |
REM This script is distributed under the MIT license. | |
REM ------------------------------------------------------- | |
set VS11_VCVARSALL=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat | |
set VS12_VCVARSALL=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat | |
set VS14_VCVARSALL=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat | |
set VS15_VCVARSALL=C:\Program Files (x86)\Microsoft Visual Studio\VS15Preview\Common7\IDE\VC\vcvarsall.bat | |
set OPT_ARCH=%PROCESSOR_ARCHITECTURE% | |
:PARSE_ARGS | |
set ARGS= | |
:PARSE_ARGS_MAIN | |
IF "%1" == "" GOTO :PARSE_ARGS_END | |
IF "%1" == "-h" GOTO :PARSE_ARGS_HELP | |
IF "%1" == "--help" GOTO :PARSE_ARGS_HELP | |
IF "%1" == "-v" GOTO :PARSE_ARGS_VERBOSE | |
IF "%1" == "--verbose" GOTO :PARSE_ARGS_VERBOSE | |
IF "%1" == "-a" GOTO :PARSE_ARGS_ARCH | |
IF "%1" == "--arch" GOTO :PARSE_ARGS_ARCH | |
IF NOT "%ARGS%" == "" SET ARGS=%ARGS% %1 | |
IF "%ARGS%" == "" SET ARGS=%1 | |
:PARSE_ARGS_NEXT | |
SHIFT | |
GOTO :PARSE_ARGS_MAIN | |
:PARSE_ARGS_END | |
IF NOT "%OPT_HELP%" == "" GOTO :HELP | |
CALL :MAIN %ARGS% | |
GOTO :EOF | |
REM END:PARSE_ARGS | |
:PARSE_ARGS_HELP | |
SET OPT_HELP=%1 | |
SHIFT | |
GOTO :PARSE_ARGS_NEXT | |
REM END:PARSE_ARGS_HELP | |
:PARSE_ARGS_VERBOSE | |
SET OPT_VERBOSE=%1 | |
SHIFT | |
GOTO :PARSE_ARGS_NEXT | |
REM END:PARSE_ARGS_VERBOSE | |
:PARSE_ARGS_ARCH | |
SET OPT_ARCH=%2 | |
SHIFT | |
SHIFT | |
GOTO :PARSE_ARGS_NEXT | |
REM END:PARSE_ARGS_ARCH | |
:SHIFT_ARGS | |
set ARGS= | |
IF "%1" == "9" GOTO :SHIFT_ARGS_9 | |
IF "%1" == "8" GOTO :SHIFT_ARGS_8 | |
IF "%1" == "7" GOTO :SHIFT_ARGS_7 | |
IF "%1" == "6" GOTO :SHIFT_ARGS_6 | |
IF "%1" == "5" GOTO :SHIFT_ARGS_5 | |
IF "%1" == "4" GOTO :SHIFT_ARGS_4 | |
IF "%1" == "3" GOTO :SHIFT_ARGS_3 | |
IF "%1" == "2" GOTO :SHIFT_ARGS_2 | |
IF "%1" == "1" GOTO :SHIFT_ARGS_1 | |
IF "%1" == "0" GOTO :SHIFT_ARGS_0 | |
:SHIFT_ARGS_9 | |
SHIFT | |
:SHIFT_ARGS_8 | |
SHIFT | |
:SHIFT_ARGS_7 | |
SHIFT | |
:SHIFT_ARGS_6 | |
SHIFT | |
:SHIFT_ARGS_5 | |
SHIFT | |
:SHIFT_ARGS_4 | |
SHIFT | |
:SHIFT_ARGS_3 | |
SHIFT | |
:SHIFT_ARGS_2 | |
SHIFT | |
:SHIFT_ARGS_1 | |
SHIFT | |
:SHIFT_ARGS_0 | |
SHIFT | |
:SHIFT_ARGS_MAIN | |
IF "%1" == "" GOTO :EOF | |
set ARGS=%ARGS% %1 | |
SHIFT | |
GOTO :SHIFT_ARGS_MAIN | |
:SHIFT_ARGS_END | |
ECHO %ARGS% | |
GOTO :EOF | |
REM END:SHIFT_ARGS | |
:MAIN | |
IF /I "%1" == "" GOTO :HELP | |
IF /I "%1" == "HELP" GOTO :HELP | |
IF /I "%1" == "VS11" GOTO :VS11 | |
IF /I "%1" == "VS12" GOTO :VS12 | |
IF /I "%1" == "VS14" GOTO :VS14 | |
IF /I "%1" == "VS15" GOTO :VS15 | |
IF /I "%1" == "VC11" GOTO :VS11 | |
IF /I "%1" == "VC12" GOTO :VS12 | |
IF /I "%1" == "VC14" GOTO :VS14 | |
IF /I "%1" == "VC15" GOTO :VS15 | |
IF /I "%1" == "LIST" GOTO :LIST | |
IF /I "%1" == "LS" GOTO :LS | |
ECHO Error: unknown command: %1 | |
GOTO :HELP | |
GOTO :EOF | |
REM EMD:MAIN | |
:HELP | |
ECHO Usage: | |
ECHO %~n0 [options] [command] [params] | |
ECHO Options: | |
ECHO -h, --help | |
ECHO -a, --arch ARCH Set processor architecture | |
ECHO ARCH is target or host_target | |
ECHO ? shows help of vcvarsall | |
ECHO default is %PROCESSOR_ARCHITECTURE% | |
ECHO Commands: | |
ECHO TARGET TARGET is one of vs11, vs12, vs14 and vs15 | |
ECHO list list available TARGET | |
ECHO ls ls vcvarsall.bat | |
GOTO :EOF | |
REM END:HELP | |
:VS11 | |
IF NOT "%VisualStudioVersion%" == "" GOTO :VCVARSALL_WAS_ALREADY_RUN | |
CALL :SHIFT_ARGS 1 %* | |
CALL "%VS11_VCVARSALL%" %OPT_ARCH% %ARGS% | |
:VS12_END | |
IF NOT "%OPT_VERBOSE%" == "" ECHO vavarsall finished | |
GOTO :EOF | |
REM END:VC11 | |
:VS12 | |
IF NOT "%VisualStudioVersion%" == "" GOTO :VCVARSALL_WAS_ALREADY_RUN | |
CALL :SHIFT_ARGS 1 %* | |
CALL "%VS12_VCVARSALL%" %OPT_ARCH% %ARGS% | |
:VS12_END | |
IF NOT "%OPT_VERBOSE%" == "" ECHO vavarsall finished | |
GOTO :EOF | |
REM END:VC12 | |
:VS14 | |
IF NOT "%VisualStudioVersion%" == "" GOTO :VCVARSALL_WAS_ALREADY_RUN | |
CALL :SHIFT_ARGS 1 %* | |
CALL "%VS14_VCVARSALL%" %OPT_ARCH% %ARGS% | |
IF NOT "%OPT_VERBOSE%" == "" ECHO vavarsall finished | |
GOTO :EOF | |
REM END:VC14 | |
:VS15 | |
IF NOT "%VisualStudioVersion%" == "" GOTO :VCVARSALL_WAS_ALREADY_RUN | |
CALL :SHIFT_ARGS 1 %* | |
CALL "%VS14_VCVARSALL%" %OPT_ARCH% %ARGS% | |
IF NOT "%OPT_VERBOSE%" == "" ECHO vavarsall finished | |
GOTO :EOF | |
REM END:VC15 | |
:VCVARSALL_WAS_ALREADY_RUN | |
ECHO Warning: vcvarsall was already run. | |
SET VisualStudioVersion | |
GOTO :EOF | |
REM END:VCVARSALL_WAS_ALREADY_RUN | |
:LIST | |
IF EXIST "%VS11_VCVARSALL%" ECHO VS11 | |
IF EXIST "%VS12_VCVARSALL%" ECHO VS12 | |
IF EXIST "%VS14_VCVARSALL%" ECHO VS14 | |
IF EXIST "%VS15_VCVARSALL%" ECHO VS15 | |
GOTO :EOF | |
REM END:LIST | |
:LS | |
IF EXIST "%VS11_VCVARSALL%" ECHO "%VS11_VCVARSALL%" | |
IF EXIST "%VS12_VCVARSALL%" ECHO "%VS12_VCVARSALL%" | |
IF EXIST "%VS14_VCVARSALL%" ECHO "%VS14_VCVARSALL%" | |
IF EXIST "%VS15_VCVARSALL%" ECHO "%VS15_VCVARSALL%" | |
GOTO :EOF | |
REM END:LS |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment