parse_arguments.cmd 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. set BUILD_DIR=%BLENDER_DIR%..\build_windows
  2. set BUILD_TYPE=Release
  3. :argv_loop
  4. if NOT "%1" == "" (
  5. REM Help Message
  6. if "%1" == "help" (
  7. set SHOW_HELP=1
  8. goto EOF
  9. )
  10. REM Build Types
  11. if "%1" == "debug" (
  12. set BUILD_TYPE=Debug
  13. REM Build Configurations
  14. ) else if "%1" == "builddir" (
  15. set BUILD_DIR_OVERRRIDE="%BLENDER_DIR%..\%2"
  16. shift /1
  17. ) else if "%1" == "with_tests" (
  18. set TESTS_CMAKE_ARGS=%TESTS_CMAKE_ARGS% -DWITH_GTESTS=On
  19. ) else if "%1" == "with_opengl_tests" (
  20. set TESTS_CMAKE_ARGS=%TESTS_CMAKE_ARGS% -DWITH_OPENGL_DRAW_TESTS=On -DWITH_OPENGL_RENDER_TESTS=On
  21. ) else if "%1" == "full" (
  22. set TARGET=Full
  23. set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% ^
  24. -C"%BLENDER_DIR%\build_files\cmake\config\blender_full.cmake"
  25. ) else if "%1" == "lite" (
  26. set TARGET=Lite
  27. set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -C"%BLENDER_DIR%\build_files\cmake\config\blender_lite.cmake"
  28. ) else if "%1" == "cycles" (
  29. set TARGET=Cycles
  30. set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -C"%BLENDER_DIR%\build_files\cmake\config\cycles_standalone.cmake"
  31. ) else if "%1" == "headless" (
  32. set TARGET=Headless
  33. set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -C"%BLENDER_DIR%\build_files\cmake\config\blender_headless.cmake"
  34. ) else if "%1" == "bpy" (
  35. set TARGET=Bpy
  36. set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -C"%BLENDER_DIR%\build_files\cmake\config\bpy_module.cmake"
  37. ) else if "%1" == "clang" (
  38. set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS%
  39. set WITH_CLANG=1
  40. ) else if "%1" == "release" (
  41. set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -C"%BLENDER_DIR%\build_files\cmake\config\blender_release.cmake"
  42. set TARGET=Release
  43. ) else if "%1" == "asan" (
  44. set WITH_ASAN=1
  45. ) else if "%1" == "x86" (
  46. set BUILD_ARCH=x86
  47. ) else if "%1" == "x64" (
  48. set BUILD_ARCH=x64
  49. ) else if "%1" == "2017" (
  50. set BUILD_VS_YEAR=2017
  51. ) else if "%1" == "2017pre" (
  52. set BUILD_VS_YEAR=2017
  53. set VSWHERE_ARGS=-prerelease
  54. ) else if "%1" == "2017b" (
  55. set BUILD_VS_YEAR=2017
  56. set VSWHERE_ARGS=-products Microsoft.VisualStudio.Product.BuildTools
  57. ) else if "%1" == "2019" (
  58. set BUILD_VS_YEAR=2019
  59. ) else if "%1" == "2019pre" (
  60. set BUILD_VS_YEAR=2019
  61. set VSWHERE_ARGS=-prerelease
  62. ) else if "%1" == "2019b" (
  63. set BUILD_VS_YEAR=2019
  64. set VSWHERE_ARGS=-products Microsoft.VisualStudio.Product.BuildTools
  65. ) else if "%1" == "2015" (
  66. set BUILD_VS_YEAR=2015
  67. ) else if "%1" == "packagename" (
  68. set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -DCPACK_OVERRIDE_PACKAGENAME="%2"
  69. shift /1
  70. ) else if "%1" == "nobuild" (
  71. set NOBUILD=1
  72. ) else if "%1" == "nobuildinfo" (
  73. set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -DWITH_BUILDINFO=Off
  74. ) else if "%1" == "pydebug" (
  75. set WITH_PYDEBUG=1
  76. ) else if "%1" == "showhash" (
  77. SET BUILD_SHOW_HASHES=1
  78. REM Non-Build Commands
  79. ) else if "%1" == "update" (
  80. SET BUILD_UPDATE=1
  81. set BUILD_UPDATE_SVN=1
  82. set BUILD_UPDATE_GIT=1
  83. ) else if "%1" == "code_update" (
  84. SET BUILD_UPDATE=1
  85. set BUILD_UPDATE_SVN=0
  86. set BUILD_UPDATE_GIT=1
  87. ) else if "%1" == "ninja" (
  88. SET BUILD_WITH_NINJA=1
  89. ) else if "%1" == "clean" (
  90. set MUST_CLEAN=1
  91. ) else if "%1" == "verbose" (
  92. set VERBOSE=1
  93. ) else if "%1" == "format" (
  94. set FORMAT=1
  95. set FORMAT_ARGS=%2 %3 %4 %5 %6 %7 %8 %9
  96. goto EOF
  97. ) else (
  98. echo Command "%1" unknown, aborting!
  99. exit /b 1
  100. )
  101. shift /1
  102. goto argv_loop
  103. )
  104. :EOF
  105. exit /b 0