diff options
Diffstat (limited to 'bin/spack_cmd.bat')
-rw-r--r-- | bin/spack_cmd.bat | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/bin/spack_cmd.bat b/bin/spack_cmd.bat new file mode 100644 index 0000000000..6d851d5311 --- /dev/null +++ b/bin/spack_cmd.bat @@ -0,0 +1,61 @@ +@ECHO OFF +setlocal EnableDelayedExpansion +:: (c) 2021 Lawrence Livermore National Laboratory +:: To use this file independently of Spack's installer, execute this script in its directory, or add the +:: associated bin directory to your PATH. Invoke to launch Spack Shell. +:: +:: source_dir/spack/bin/spack_cmd.bat +:: +pushd %~dp0.. +set SPACK_ROOT=%CD% +pushd %CD%\.. +set spackinstdir=%CD% +popd + + +:: Check if Python is on the PATH +(for /f "delims=" %%F in ('where python.exe') do (set python_pf_ver=%%F) ) 2> NUL + +if not defined python_pf_ver ( + :: If not, look for Python from the Spack installer + :get_builtin + (for /f "tokens=*" %%g in ('dir /b /a:d "!spackinstdir!\Python*"') do ( + set python_ver=%%g)) 2> NUL + + if not defined python_ver ( + echo Python was not found on your system. + echo Please install Python or add Python to your PATH. + ) else ( + set py_path=!spackinstdir!\!python_ver! + set py_exe=!py_path!\python.exe + ) + goto :exitpoint +) else ( + :: Python is already on the path + set py_exe=!python_pf_ver! + (for /F "tokens=* USEBACKQ" %%F in ( + `!py_exe! --version`) do (set "output=%%F")) 2>NUL + if not "!output:Microsoft Store=!"=="!output!" goto :get_builtin + goto :exitpoint +) +:exitpoint + +set "PATH=%SPACK_ROOT%\bin\;%PATH%" +if defined py_path ( + set "PATH=%py_path%;%PATH%" +) + +if defined py_exe ( + "%py_exe%" "%SPACK_ROOT%\bin\haspywin.py" + "%py_exe%" "%SPACK_ROOT%\bin\spack" external find python >NUL +) + +set "EDITOR=notepad" + +DOSKEY spacktivate=spack env activate $* + +@echo ********************************************************************** +@echo ** Spack Package Manager +@echo ********************************************************************** + +%comspec% /k |