building.rst 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. ========
  2. Building
  3. ========
  4. Getting Source
  5. ==============
  6. .. code::
  7. git clone https://github.com/crownengine/crown.git
  8. Prerequisites
  9. =============
  10. Android
  11. -------
  12. 1. Install Android NDK (>= r21e LTS):
  13. * https://developer.android.com/ndk/downloads
  14. 2. Set NDK path and ABI version:
  15. .. code::
  16. export ANDROID_NDK_ROOT=<android_ndk>
  17. export ANDROID_NDK_ABI=23
  18. 3. Install LuaJIT dependencies:
  19. .. code::
  20. sudo apt-get install libc6-dev-i386
  21. 4. :ref:`Build for Android<build_android>`.
  22. HTML5
  23. -----
  24. 1. Install emsdk:
  25. * https://emscripten.org/docs/getting_started/downloads.html
  26. 2. Set emsdk path:
  27. .. code::
  28. export EMSCRIPTEN=<emsdk>/upstream/emscripten
  29. 3. :ref:`Build for HTML5<build_html5>`.
  30. Linux (Ubuntu >= 20.04)
  31. -----------------------
  32. 1. Install dependencies:
  33. .. code::
  34. sudo apt install build-essential mesa-common-dev libgl1-mesa-dev \
  35. libpulse-dev libxrandr-dev libc6-dev-i386 libgtk-3-dev
  36. sudo add-apt-repository ppa:vala-team
  37. sudo apt install valac libgee-0.8-dev
  38. # Optionally, to build docs:
  39. sudo apt-get install python3-sphinx
  40. .. note::
  41. If you encounter any errors while adding the Vala PPA, please update
  42. ``ca-certificates`` first:
  43. .. code::
  44. sudo apt update
  45. sudo apt install ca-certificates
  46. 2. :ref:`Build for Linux<build_linux>`.
  47. .. _pre_windows_msys2:
  48. Windows (MSYS2)
  49. ---------------
  50. 1. Install MSYS2:
  51. * https://www.msys2.org/
  52. 2. Add MSYS2 bin to your PATH; for a default install this would be:
  53. .. code::
  54. C:\msys64\usr\bin
  55. 3. Open MSYS2 MINGW64 shell and install dependencies:
  56. .. code::
  57. pacman -Sy make mingw-w64-x86_64-gcc mingw-w64-x86_64-pkgconf \
  58. mingw-w64-x86_64-gtk3 mingw-w64-x86_64-sassc \
  59. mingw-w64-x86_64-vala mingw-w64-x86_64-libgee
  60. 4. :ref:`Build for Windows (MSYS2)<build_msys2>`.
  61. Windows (VS Code)
  62. -----------------
  63. 1. Install Visual Studio Code:
  64. * https://code.visualstudio.com
  65. 2. Install C/C++ extension for VS Code:
  66. * https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools
  67. 3. :ref:`Install MSYS2 <pre_windows_msys2>`.
  68. 4. :ref:`Build for Windows (VS Code) <build_vs_code>`.
  69. Windows (VS 2022)
  70. -----------------
  71. 1. Install Visual Studio 2022:
  72. * https://visualstudio.microsoft.com/downloads
  73. 2. If you want to build tools, :ref:`install Windows (MSYS2) <pre_windows_msys2>`.
  74. 3. :ref:`Build for Windows (VS 2022)<build_vs_2022>`.
  75. Build
  76. =====
  77. .. _build_android:
  78. Android
  79. -------
  80. .. code::
  81. make android-arm-release MAKE_JOBS=4
  82. .. _build_html5:
  83. HTML5
  84. -----
  85. .. code::
  86. make wasm-release MAKE_JOBS=4
  87. .. _build_linux:
  88. Linux
  89. -----
  90. .. code::
  91. make tools-linux-release64 MAKE_JOBS=4
  92. .. _build_msys2:
  93. Windows (MSYS2)
  94. ---------------
  95. Open MSYS2 MINGW64 shell:
  96. .. code::
  97. export MINGW=/mingw64
  98. make tools-mingw-release64 MAKE_JOBS=4
  99. .. _build_vs_code:
  100. Windows (VS Code)
  101. -----------------
  102. Open Visual Studio Code Shell:
  103. .. code::
  104. $env:MINGW = "C:\\msys64\\mingw64"
  105. make tools-mingw-release64 MAKE_JOBS=4
  106. .. _build_vs_2022:
  107. Windows (VS 2022)
  108. -----------------
  109. 1. Open Visual Studio 2022 Command Prompt:
  110. .. code::
  111. make tools-windows-release64 MAKE_JOBS=4
  112. 2. To build tools, open a MSYS2 MINGW64 shell:
  113. .. code::
  114. export MINGW=/mingw64
  115. make tools-mingw-release64 MAKE_JOBS=4