build_windows.cmd 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. @ECHO OFF
  2. REM
  3. REM Copyright (c) Contributors to the Open 3D Engine Project.
  4. REM For complete copyright and license terms please see the LICENSE at the root of this distribution.
  5. REM
  6. REM SPDX-License-Identifier: Apache-2.0 OR MIT
  7. REM
  8. REM
  9. SETLOCAL EnableDelayedExpansion
  10. CALL "%~dp0env_windows.cmd"
  11. IF NOT EXIST "%OUTPUT_DIRECTORY%" (
  12. MKDIR %OUTPUT_DIRECTORY%.
  13. )
  14. SET SOURCE_DIRECTORY=%CD%
  15. PUSHD %OUTPUT_DIRECTORY%
  16. ECHO [ci_build] cmake --version
  17. cmake --version
  18. IF ERRORLEVEL 1 (
  19. ECHO [ci_build] CMAKE not found!
  20. exit /b 1
  21. )
  22. REM Compute half the amount of processors so some jobs can run
  23. SET /a HALF_PROCESSORS = NUMBER_OF_PROCESSORS / 2
  24. SET LAST_CONFIGURE_CMD_FILE=ci_last_configure_cmd.txt
  25. SET CONFIGURE_CMD=cmake "%SOURCE_DIRECTORY%" %CMAKE_OPTIONS% %EXTRA_CMAKE_OPTIONS%
  26. IF NOT "%CMAKE_LY_PROJECTS%"=="" (
  27. SET CONFIGURE_CMD=!CONFIGURE_CMD! -DLY_PROJECTS="%CMAKE_LY_PROJECTS%"
  28. )
  29. IF NOT EXIST CMakeCache.txt (
  30. ECHO [ci_build] First run, generating
  31. SET RUN_CONFIGURE=1
  32. ) ELSE IF NOT EXIST %LAST_CONFIGURE_CMD_FILE% (
  33. ECHO [ci_build] Last run command not found, generating
  34. SET RUN_CONFIGURE=1
  35. ) ELSE (
  36. REM Detect if the input has changed
  37. FOR /F "delims=" %%x in (%LAST_CONFIGURE_CMD_FILE%) DO SET LAST_CMD=%%x
  38. IF !LAST_CMD! NEQ !CONFIGURE_CMD! (
  39. ECHO [ci_build] Last run command different, generating
  40. SET RUN_CONFIGURE=1
  41. )
  42. )
  43. IF DEFINED RUN_CONFIGURE (
  44. ECHO [ci_build] %CONFIGURE_CMD%
  45. %CONFIGURE_CMD%
  46. IF NOT !ERRORLEVEL!==0 GOTO :error
  47. ECHO !CONFIGURE_CMD!> %LAST_CONFIGURE_CMD_FILE%
  48. )
  49. ECHO [ci_build] cmake --build . --target %CMAKE_TARGET% --config %CONFIGURATION% %CMAKE_BUILD_ARGS% -- %CMAKE_NATIVE_BUILD_ARGS%
  50. cmake --build . --target %CMAKE_TARGET% --config %CONFIGURATION% %CMAKE_BUILD_ARGS% -- %CMAKE_NATIVE_BUILD_ARGS%
  51. IF NOT %ERRORLEVEL%==0 GOTO :error
  52. POPD
  53. EXIT /b 0
  54. :error
  55. POPD
  56. EXIT /b 1