当前仓库属于暂停状态,部分功能使用受限,详情请查阅 仓库状态说明
1 Star 0 Fork 9

Hank / Multi-environ Technology
暂停

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
pyvc.bat 2.83 KB
一键复制 编辑 原始数据 按行查看 历史
T.D.R. 提交于 2019-06-21 10:12 . fix all .bat .ps1 .sh
@echo off
:: 在<source-root>/<source-file>.json,即$(mm source)文件里面添加,
:: 在每个使用MSVC的ENV配置里必须加入两个环境变量,
:: "VCVARSALL"="${vcvarsall-201x}",${vcvarsall-201x} 路径集保存到 path-assemblage。
:: "VCVARSALLPARAM"="amd64_x86",这个环境变量根据ENV的目标决定。
:: 只有这样,pyvc.bat 才能执行有效。
:: bat环境变量不区分大小写。
:: 建议增加"RUN-VCVARSALL"="${VCVARSALL} ${VCVARSALLPARAM}"。
:: 用户自行决定配置"CLS-VCVARSALL"和"CLS-VCVARSALLPARAM"。
set PYENVFLAG=True
if "%1" == "" (
echo usage:
echo " pyvc <env-name>"
echo " pyvc open <env-name>"
echo " pyvc close <env-name>"
echo " <env name>: 'current' is suggested."
echo ------
echo please appoint a env name. & exit /b 0
) else if "%1" == "open" (
if "%2" == "" (
echo usage:
echo " pyvc <env-name>"
echo " pyvc open <env-name>"
echo " pyvc close <env-name>"
echo " <env name>: 'current' is suggested."
echo ------
echo please appoint a env name. & exit /b 0
)
set PYENVNAME=%2
) else if "%1" == "close" (
if "%2" == "" (
echo usage:
echo " pyvc <env-name>"
echo " pyvc open <env-name>"
echo " pyvc close <env-name>"
echo " <env name>: 'current' is suggested."
echo ------
echo please appoint a env name. & exit /b 0
)
set PYENVNAME=%2
set PYENVFLAG=False
) else (
set PYENVNAME=%1
)
set PYPROGRAMPATH=%~dp0
set PYPROGRAMNAME=pymake.bat
set PYPROGRAMPATHNAME=%PYPROGRAMPATH%%PYPROGRAMNAME%
echo preparing vc env ...
for /F %%i in ('echo %random%') do ( set "PYENVINDEX=%%i" )
rem echo env index: [%PYENVINDEX%]
rem for /F %%i in ('"%PYPROGRAMPATHNAME%" get current env') do ( set "PYMMDEFAULTENVNAME=%%i" )
rem echo environme: [%PYMMDEFAULTENVNAME%] [default]
rem for /F %%i in ('"%PYPROGRAMPATHNAME%" have env %PYENVNAME%') do ( set "PYENVEXISTEDFLAG=%%i" )
rem if "%PYENVEXISTEDFLAG%" == "False" (
rem echo environme: [%PYENVNAME%] is not existed.
rem exit /b 0
rem )
rem echo environme: [%PYENVNAME%] [%PYENVEXISTEDFLAG%] [USED]
rem for /F %%i in ('"%PYPROGRAMPATHNAME%" get default exec root') do ( set "PYMMSHELLROOT=%%i" )
rem echo exec root: [%PYMMSHELLROOT%] [default]
rem echo exec root: [%CD%] [here]
set PYMMSHELLROOT=%CD%
call "%PYPROGRAMPATHNAME%" vc export2 here %PYENVNAME% to %PYENVINDEX% --local --custom
if not "%ERRORLEVEL%" == "0" (
exit /b %ERRORLEVEL%
)
rem echo %ERRORLEVEL%
if "%PYENVFLAG%" == "False" (
call "%PYMMSHELLROOT%\%PYENVINDEX%_unset.bat"
echo vc env : [%PYENVNAME%] closed
) else (
call "%PYMMSHELLROOT%\%PYENVINDEX%_effect.bat"
echo vc env : [%PYENVNAME%] opened
)
::clean
del /q /f "%PYMMSHELLROOT%\%PYENVINDEX%_effect.bat" "%PYMMSHELLROOT%\%PYENVINDEX%_unset.bat"
Python
1
https://gitee.com/hanktan/PyMake.git
git@gitee.com:hanktan/PyMake.git
hanktan
PyMake
Multi-environ Technology
master

搜索帮助