@ECHO OFF
REM
REM Copyright (c) Contributors to the Open 3D Engine Project.
REM For complete copyright and license terms please see the LICENSE at the root of this distribution.
REM
REM SPDX-License-Identifier: Apache-2.0 OR MIT
REM
REM
setlocal enabledelayedexpansion
SET CMD_DIR=%~dp0
SET CMD_DIR=%CMD_DIR:~0,-1%
REM General strategy: Check if python is already installed
REM If not, use cmake and the new package system to install it.
REM Is python installed?
cd /D %CMD_DIR%
call python.cmd --version > NUL
IF !ERRORLEVEL!==0 (
echo get_python.bat: Python is already installed:
call python.cmd --version
goto install_packages
)
cd /D %CMD_DIR%\..
REM IF you update this logic, update it in scripts/build/Platform/Windows/env_windows.cmd
REM If cmake is not found on path, try a known location at LY_CMAKE_PATH
where /Q cmake
IF NOT !ERRORLEVEL!==0 (
IF "%LY_CMAKE_PATH%"=="" (
ECHO ERROR: CMake was not found on the PATH and LY_CMAKE_PATH is not defined.
ECHO Please ensure CMake is on the path or set LY_CMAKE_PATH.
EXIT /b 1
)
PATH !LY_CMAKE_PATH!;!PATH!
where /Q cmake
if NOT !ERRORLEVEL!==0 (
ECHO ERROR: CMake was not found on the PATH or at the known location: !LY_CMAKE_PATH!
ECHO Please add it to the path, set LY_CMAKE_PATH to be the directory containing it, or place it
ECHO at the above location.
EXIT /b 1
)
)
REM If the %LY_3RDPARTY_PATH% is not set, then default it to %USERPROFILE%/.o3de/3rdParty
IF "" == "%LY_3RDPARTY_PATH%" (
SET LY_3RDPARTY_PATH=%USERPROFILE%\.o3de\3rdParty
)
REM output the version number for forensic logging
cmake --version
cmake -DPAL_PLATFORM_NAME:string=Windows -D "LY_3RDPARTY_PATH:string=%LY_3RDPARTY_PATH%" -D "LY_ROOT_FOLDER=%CMD_DIR%\.." -P "%CMD_DIR%\get_python.cmake"
if ERRORLEVEL 1 (
ECHO ERROR: Unable to fetch python using cmake.
ECHO - Is LY_PACKAGE_SERVER_URLS set?
ECHO - Do you have permission to access the packages?
EXIT /b 1
)
:install_packages
echo calling PIP to install requirements...
CALL "%CMD_DIR%\python.cmd" -m pip install -r "%CMD_DIR%/requirements.txt" --disable-pip-version-check --no-warn-script-location
if ERRORLEVEL 1 (
echo Failed to install the packages listed in %CMD_DIR%\requirements.txt. Check the log above!
EXIT /b 1
)
echo calling PIP to O3DE
CALL "%CMD_DIR%\python.cmd" -m pip install -e "%CMD_DIR%/../scripts/o3de" --disable-pip-version-check --no-warn-script-location --no-deps
if ERRORLEVEL 1 (
echo Failed to install %CMD_DIR%\..\scripts\o3de into python. Check the log above!
EXIT /b 1
)
exit /b 0