1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/drabel-PyMake

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
pyvcenv.bat 2.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
tianduanrui Отправлено 13.04.2021 15:06 da12ad4
@echo off
:: 在<source-root>/<source-file>.json,即$(mm source)文件里面添加,
:: 在每个使用MSVC的ENV配置里必须加入两个环境变量,
:: "VCVARSALL"="${vcvarsall-201x}",${vcvarsall-201x} 路径集保存到 path-assemblage。
:: "VCVARSALLPARAM"="amd64_x86",这个环境变量根据ENV的目标决定。
:: 只有这样,pyvcenv.bat 才能执行有效。
:: bat环境变量不区分大小写。
:: 建议增加"RUN-VCVARSALL"="${VCVARSALL} ${VCVARSALLPARAM}"。
:: 用户自行决定配置"CLS-VCVARSALL"和"CLS-VCVARSALLPARAM"。
set PYENVFLAG=True
if "%1" == "" (
echo usage:
echo " pyvcenv <env-name>"
echo " pyvcenv open <env-name>"
echo " pyvcenv 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 " pyvcenv <env-name>"
echo " pyvcenv open <env-name>"
echo " pyvcenv 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 " pyvcenv <env-name>"
echo " pyvcenv open <env-name>"
echo " pyvcenv 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"

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/drabel-PyMake.git
git@api.gitlife.ru:oschina-mirror/drabel-PyMake.git
oschina-mirror
drabel-PyMake
drabel-PyMake
master