| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361 |
- <!DOCTYPE html>
- <html class="writer-html5" lang="en" >
- <head>
- <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
- <meta property="article:modified_time" content="2025-01-31T22:19:23+00:00" /><meta property="og:title" content="Building" />
- <meta property="og:type" content="website" />
- <meta property="og:url" content="https://docs.crownengine.org/html/latest/hackers/building.html" />
- <meta property="og:site_name" content="Crown 0.60.0 Manual" />
- <meta property="og:description" content="Getting Source: Prerequisites: Android: Install Android NDK (>= r21e LTS):- https://developer.android.com/ndk/downloads., Set NDK path and ABI version:. Install LuaJIT dependencies:. Build for Android.. HTML5: Install emsdk:- https://emscripten.org/docs/getting_started/down..." />
- <meta name="description" content="Getting Source: Prerequisites: Android: Install Android NDK (>= r21e LTS):- https://developer.android.com/ndk/downloads., Set NDK path and ABI version:. Install LuaJIT dependencies:. Build for Android.. HTML5: Install emsdk:- https://emscripten.org/docs/getting_started/down..." />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>Building — Crown 0.60.0 Manual 0.61.0 documentation</title>
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/css/custom.css" type="text/css" />
- <link rel="shortcut icon" href="../_static/org.crownengine.Crown.svg"/>
- <link rel="canonical" href="https://docs.crownengine.org/html/latest/hackers/building.html" />
- <!--[if lt IE 9]>
- <script src="../_static/js/html5shiv.min.js"></script>
- <![endif]-->
-
- <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
- <script src="../_static/jquery.js"></script>
- <script src="../_static/underscore.js"></script>
- <script src="../_static/doctools.js"></script>
- <script src="../_static/js/theme.js"></script>
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link rel="copyright" title="Copyright" href="../copyright.html" />
- <link rel="next" title="Console API" href="console_api.html" />
- <link rel="prev" title="Hackers" href="index.html" />
- </head>
- <body class="wy-body-for-nav">
- <div class="wy-grid-for-nav">
- <nav data-toggle="wy-nav-shift" class="wy-nav-side">
- <div class="wy-side-scroll">
- <div class="wy-side-nav-search" >
- <a href="../index.html">
- <img src="../_static/org.crownengine.Crown.svg" class="logo" alt="Logo"/>
- </a>
- <div class="version">
- Crown 0.60.0 Manual
- </div>
- <div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
- <input type="text" name="q" placeholder="Search docs" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
- </form>
- </div>
- </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
- <ul class="current">
- <li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../introduction.html">Introduction</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../installing_crown/index.html">Installing Crown</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../importing_resources/index.html">Importing Resources</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../gameplay/index.html">Writing Gameplay</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../deploying/index.html">Deploying</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../lua_api.html">Lua API reference</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../copyright.html">License</a></li>
- <li class="toctree-l1 current"><a class="reference internal" href="index.html">Hackers</a><ul class="current">
- <li class="toctree-l2 current"><a class="current reference internal" href="#">Building</a><ul>
- <li class="toctree-l3"><a class="reference internal" href="#getting-source">Getting Source</a></li>
- <li class="toctree-l3"><a class="reference internal" href="#prerequisites">Prerequisites</a><ul>
- <li class="toctree-l4"><a class="reference internal" href="#android">Android</a></li>
- <li class="toctree-l4"><a class="reference internal" href="#html5">HTML5</a></li>
- <li class="toctree-l4"><a class="reference internal" href="#linux-ubuntu-20-04">Linux (Ubuntu >= 20.04)</a></li>
- <li class="toctree-l4"><a class="reference internal" href="#windows-msys2">Windows (MSYS2)</a></li>
- <li class="toctree-l4"><a class="reference internal" href="#windows-vs-code">Windows (VS Code)</a></li>
- <li class="toctree-l4"><a class="reference internal" href="#windows-vs-2022">Windows (VS 2022)</a></li>
- </ul>
- </li>
- <li class="toctree-l3"><a class="reference internal" href="#build">Build</a><ul>
- <li class="toctree-l4"><a class="reference internal" href="#build-android">Android</a></li>
- <li class="toctree-l4"><a class="reference internal" href="#build-html5">HTML5</a></li>
- <li class="toctree-l4"><a class="reference internal" href="#linux">Linux</a></li>
- <li class="toctree-l4"><a class="reference internal" href="#build-msys2">Windows (MSYS2)</a></li>
- <li class="toctree-l4"><a class="reference internal" href="#build-vs-code">Windows (VS Code)</a></li>
- <li class="toctree-l4"><a class="reference internal" href="#build-vs-2022">Windows (VS 2022)</a></li>
- </ul>
- </li>
- </ul>
- </li>
- <li class="toctree-l2"><a class="reference internal" href="console_api.html">Console API</a></li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </nav>
- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
- <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
- <a href="../index.html">Crown 0.60.0 Manual</a>
- </nav>
- <div class="wy-nav-content">
- <div class="rst-content">
- <div role="navigation" aria-label="Page navigation">
- <ul class="wy-breadcrumbs">
- <li><a href="../index.html" class="icon icon-home"></a> »</li>
- <li><a href="index.html">Hackers</a> »</li>
- <li>Building</li>
- <li class="wy-breadcrumbs-aside">
- <a href="../_sources/hackers/building.rst.txt" rel="nofollow"> View page source</a>
- </li>
- </ul>
- <hr/>
- </div>
- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
- <div itemprop="articleBody">
-
- <section id="building">
- <h1>Building<a class="headerlink" href="#building" title="Permalink to this headline">¶</a></h1>
- <section id="getting-source">
- <h2>Getting Source<a class="headerlink" href="#getting-source" title="Permalink to this headline">¶</a></h2>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">crownengine</span><span class="o">/</span><span class="n">crown</span><span class="o">.</span><span class="n">git</span>
- </pre></div>
- </div>
- </section>
- <section id="prerequisites">
- <h2>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline">¶</a></h2>
- <section id="android">
- <h3>Android<a class="headerlink" href="#android" title="Permalink to this headline">¶</a></h3>
- <ol class="arabic">
- <li><p>Install Android NDK (>= r21e LTS):</p>
- <blockquote>
- <div><ul class="simple">
- <li><p><a class="reference external" href="https://developer.android.com/ndk/downloads">https://developer.android.com/ndk/downloads</a></p></li>
- </ul>
- </div></blockquote>
- </li>
- <li><p>Set NDK path and ABI version:</p></li>
- </ol>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">export</span> <span class="n">ANDROID_NDK_ROOT</span><span class="o">=<</span><span class="n">android_ndk</span><span class="o">></span>
- <span class="n">export</span> <span class="n">ANDROID_NDK_ABI</span><span class="o">=</span><span class="mi">23</span>
- </pre></div>
- </div>
- <ol class="arabic simple" start="3">
- <li><p>Install LuaJIT dependencies:</p></li>
- </ol>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">apt</span><span class="o">-</span><span class="n">get</span> <span class="n">install</span> <span class="n">libc6</span><span class="o">-</span><span class="n">dev</span><span class="o">-</span><span class="n">i386</span>
- </pre></div>
- </div>
- <ol class="arabic simple" start="4">
- <li><p><a class="reference internal" href="#build-android"><span class="std std-ref">Build for Android</span></a>.</p></li>
- </ol>
- </section>
- <section id="html5">
- <h3>HTML5<a class="headerlink" href="#html5" title="Permalink to this headline">¶</a></h3>
- <ol class="arabic simple">
- <li><p>Install emsdk:</p>
- <ul class="simple">
- <li><p><a class="reference external" href="https://emscripten.org/docs/getting_started/downloads.html">https://emscripten.org/docs/getting_started/downloads.html</a></p></li>
- </ul>
- </li>
- <li><p>Set emsdk path:</p></li>
- </ol>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">export</span> <span class="n">EMSCRIPTEN</span><span class="o">=<</span><span class="n">emsdk</span><span class="o">>/</span><span class="n">upstream</span><span class="o">/</span><span class="n">emscripten</span>
- </pre></div>
- </div>
- <ol class="arabic simple" start="3">
- <li><p><a class="reference internal" href="#build-html5"><span class="std std-ref">Build for HTML5</span></a>.</p></li>
- </ol>
- </section>
- <section id="linux-ubuntu-20-04">
- <h3>Linux (Ubuntu >= 20.04)<a class="headerlink" href="#linux-ubuntu-20-04" title="Permalink to this headline">¶</a></h3>
- <ol class="arabic simple">
- <li><p>Install dependencies:</p></li>
- </ol>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">apt</span> <span class="n">install</span> <span class="n">build</span><span class="o">-</span><span class="n">essential</span> <span class="n">mesa</span><span class="o">-</span><span class="n">common</span><span class="o">-</span><span class="n">dev</span> <span class="n">libgl1</span><span class="o">-</span><span class="n">mesa</span><span class="o">-</span><span class="n">dev</span> \
- <span class="n">libpulse</span><span class="o">-</span><span class="n">dev</span> <span class="n">libxrandr</span><span class="o">-</span><span class="n">dev</span> <span class="n">libc6</span><span class="o">-</span><span class="n">dev</span><span class="o">-</span><span class="n">i386</span> <span class="n">libgtk</span><span class="o">-</span><span class="mi">3</span><span class="o">-</span><span class="n">dev</span>
- <span class="n">sudo</span> <span class="n">add</span><span class="o">-</span><span class="n">apt</span><span class="o">-</span><span class="n">repository</span> <span class="n">ppa</span><span class="p">:</span><span class="n">vala</span><span class="o">-</span><span class="n">team</span>
- <span class="n">sudo</span> <span class="n">apt</span> <span class="n">install</span> <span class="n">valac</span> <span class="n">libgee</span><span class="o">-</span><span class="mf">0.8</span><span class="o">-</span><span class="n">dev</span>
- <span class="c1"># Optionally, to build docs:</span>
- <span class="n">sudo</span> <span class="n">apt</span><span class="o">-</span><span class="n">get</span> <span class="n">install</span> <span class="n">python3</span><span class="o">-</span><span class="n">sphinx</span>
- </pre></div>
- </div>
- <div class="admonition note">
- <p class="admonition-title">Note</p>
- <p>If you encounter any errors while adding the Vala PPA, please update
- <code class="docutils literal notranslate"><span class="pre">ca-certificates</span></code> first:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">apt</span> <span class="n">update</span>
- <span class="n">sudo</span> <span class="n">apt</span> <span class="n">install</span> <span class="n">ca</span><span class="o">-</span><span class="n">certificates</span>
- </pre></div>
- </div>
- </div>
- <ol class="arabic simple" start="2">
- <li><p><a class="reference internal" href="#build-linux"><span class="std std-ref">Build for Linux</span></a>.</p></li>
- </ol>
- </section>
- <section id="windows-msys2">
- <span id="pre-windows-msys2"></span><h3>Windows (MSYS2)<a class="headerlink" href="#windows-msys2" title="Permalink to this headline">¶</a></h3>
- <ol class="arabic">
- <li><p>Install MSYS2:</p>
- <blockquote>
- <div><ul class="simple">
- <li><p><a class="reference external" href="https://www.msys2.org/">https://www.msys2.org/</a></p></li>
- </ul>
- </div></blockquote>
- </li>
- <li><p>Add MSYS2 bin to your PATH; for a default install this would be:</p></li>
- </ol>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">C</span><span class="p">:</span>\<span class="n">msys64</span>\<span class="n">usr</span>\<span class="nb">bin</span>
- </pre></div>
- </div>
- <ol class="arabic simple" start="3">
- <li><p>Open MSYS2 MINGW64 shell and install dependencies:</p></li>
- </ol>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pacman</span> <span class="o">-</span><span class="n">Sy</span> <span class="n">make</span> <span class="n">mingw</span><span class="o">-</span><span class="n">w64</span><span class="o">-</span><span class="n">x86_64</span><span class="o">-</span><span class="n">gcc</span> <span class="n">mingw</span><span class="o">-</span><span class="n">w64</span><span class="o">-</span><span class="n">x86_64</span><span class="o">-</span><span class="n">pkgconf</span> \
- <span class="n">mingw</span><span class="o">-</span><span class="n">w64</span><span class="o">-</span><span class="n">x86_64</span><span class="o">-</span><span class="n">gtk3</span> <span class="n">mingw</span><span class="o">-</span><span class="n">w64</span><span class="o">-</span><span class="n">x86_64</span><span class="o">-</span><span class="n">sassc</span> \
- <span class="n">mingw</span><span class="o">-</span><span class="n">w64</span><span class="o">-</span><span class="n">x86_64</span><span class="o">-</span><span class="n">vala</span> <span class="n">mingw</span><span class="o">-</span><span class="n">w64</span><span class="o">-</span><span class="n">x86_64</span><span class="o">-</span><span class="n">libgee</span>
- </pre></div>
- </div>
- <ol class="arabic simple" start="4">
- <li><p><a class="reference internal" href="#build-msys2"><span class="std std-ref">Build for Windows (MSYS2)</span></a>.</p></li>
- </ol>
- </section>
- <section id="windows-vs-code">
- <h3>Windows (VS Code)<a class="headerlink" href="#windows-vs-code" title="Permalink to this headline">¶</a></h3>
- <ol class="arabic">
- <li><p>Install Visual Studio Code:</p>
- <blockquote>
- <div><ul class="simple">
- <li><p><a class="reference external" href="https://code.visualstudio.com">https://code.visualstudio.com</a></p></li>
- </ul>
- </div></blockquote>
- </li>
- <li><p>Install C/C++ extension for VS Code:</p>
- <ul class="simple">
- <li><p><a class="reference external" href="https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools">https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools</a></p></li>
- </ul>
- </li>
- <li><p><a class="reference internal" href="#pre-windows-msys2"><span class="std std-ref">Install MSYS2</span></a>.</p></li>
- <li><p><a class="reference internal" href="#build-vs-code"><span class="std std-ref">Build for Windows (VS Code)</span></a>.</p></li>
- </ol>
- </section>
- <section id="windows-vs-2022">
- <h3>Windows (VS 2022)<a class="headerlink" href="#windows-vs-2022" title="Permalink to this headline">¶</a></h3>
- <ol class="arabic">
- <li><p>Install Visual Studio 2022:</p>
- <blockquote>
- <div><ul class="simple">
- <li><p><a class="reference external" href="https://visualstudio.microsoft.com/downloads">https://visualstudio.microsoft.com/downloads</a></p></li>
- </ul>
- </div></blockquote>
- </li>
- <li><p>If you want to build tools, <a class="reference internal" href="#pre-windows-msys2"><span class="std std-ref">install Windows (MSYS2)</span></a>.</p></li>
- <li><p><a class="reference internal" href="#build-vs-2022"><span class="std std-ref">Build for Windows (VS 2022)</span></a>.</p></li>
- </ol>
- </section>
- </section>
- <section id="build">
- <h2>Build<a class="headerlink" href="#build" title="Permalink to this headline">¶</a></h2>
- <section id="build-android">
- <span id="id1"></span><h3>Android<a class="headerlink" href="#build-android" title="Permalink to this headline">¶</a></h3>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">make</span> <span class="n">android</span><span class="o">-</span><span class="n">arm</span><span class="o">-</span><span class="n">release</span> <span class="n">MAKE_JOBS</span><span class="o">=</span><span class="mi">4</span>
- </pre></div>
- </div>
- </section>
- <section id="build-html5">
- <span id="id2"></span><h3>HTML5<a class="headerlink" href="#build-html5" title="Permalink to this headline">¶</a></h3>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">make</span> <span class="n">wasm</span><span class="o">-</span><span class="n">release</span> <span class="n">MAKE_JOBS</span><span class="o">=</span><span class="mi">4</span>
- </pre></div>
- </div>
- </section>
- <section id="linux">
- <span id="build-linux"></span><h3>Linux<a class="headerlink" href="#linux" title="Permalink to this headline">¶</a></h3>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">make</span> <span class="n">tools</span><span class="o">-</span><span class="n">linux</span><span class="o">-</span><span class="n">release64</span> <span class="n">MAKE_JOBS</span><span class="o">=</span><span class="mi">4</span>
- </pre></div>
- </div>
- </section>
- <section id="build-msys2">
- <span id="id3"></span><h3>Windows (MSYS2)<a class="headerlink" href="#build-msys2" title="Permalink to this headline">¶</a></h3>
- <p>Open MSYS2 MINGW64 shell:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">export</span> <span class="n">MINGW</span><span class="o">=/</span><span class="n">mingw64</span>
- <span class="n">make</span> <span class="n">tools</span><span class="o">-</span><span class="n">mingw</span><span class="o">-</span><span class="n">release64</span> <span class="n">MAKE_JOBS</span><span class="o">=</span><span class="mi">4</span>
- </pre></div>
- </div>
- </section>
- <section id="build-vs-code">
- <span id="id4"></span><h3>Windows (VS Code)<a class="headerlink" href="#build-vs-code" title="Permalink to this headline">¶</a></h3>
- <p>Open Visual Studio Code Shell:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$env:MINGW = "C:\\msys64\\mingw64"
- make tools-mingw-release64 MAKE_JOBS=4
- </pre></div>
- </div>
- </section>
- <section id="build-vs-2022">
- <span id="id5"></span><h3>Windows (VS 2022)<a class="headerlink" href="#build-vs-2022" title="Permalink to this headline">¶</a></h3>
- <ol class="arabic simple">
- <li><p>Open Visual Studio 2022 Command Prompt:</p></li>
- </ol>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">make</span> <span class="n">tools</span><span class="o">-</span><span class="n">windows</span><span class="o">-</span><span class="n">release64</span> <span class="n">MAKE_JOBS</span><span class="o">=</span><span class="mi">4</span>
- </pre></div>
- </div>
- <ol class="arabic simple" start="2">
- <li><p>To build tools, open a MSYS2 MINGW64 shell:</p></li>
- </ol>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">export</span> <span class="n">MINGW</span><span class="o">=/</span><span class="n">mingw64</span>
- <span class="n">make</span> <span class="n">tools</span><span class="o">-</span><span class="n">mingw</span><span class="o">-</span><span class="n">release64</span> <span class="n">MAKE_JOBS</span><span class="o">=</span><span class="mi">4</span>
- </pre></div>
- </div>
- </section>
- </section>
- </section>
- </div>
- </div>
- <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
- <a href="index.html" class="btn btn-neutral float-left" title="Hackers" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
- <a href="console_api.html" class="btn btn-neutral float-right" title="Console API" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
- </div>
- <hr/>
- <div role="contentinfo">
- <p>© <a href="../copyright.html">Copyright</a> Except where otherwise noted, content on this page is licensed under a CC-BY-SA 4.0 Int. License.
- <span class="lastupdated">Last updated on Jan 31, 2025.
- </span></p>
- </div>
- Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
- <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
- provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
- </footer>
- </div>
- </div>
- </section>
- </div>
- <script>
- jQuery(function () {
- SphinxRtdTheme.Navigation.enable(true);
- });
- </script>
- <!-- Theme Analytics -->
- <script async src="https://www.googletagmanager.com/gtag/js?id=G-XNVGCMNDZH"></script>
- <script>
- window.dataLayer = window.dataLayer || [];
- function gtag(){dataLayer.push(arguments);}
- gtag('js', new Date());
- gtag('config', 'G-XNVGCMNDZH', {
- 'anonymize_ip': true,
- });
- </script>
- </body>
- </html>
|