Difference between revisions of "Building TPT with Meson/zh"
TOC_Official (talk | contribs) (Add Chinese version of building TPT with Meson on Windows) |
TOC_Official (talk | contribs) (Add Chinese version of building TPT with Meson) |
||
Line 4: | Line 4: | ||
'''编辑注记:请勿在未经咨询TPT开发者的情况下修改本指南。否则你的修改有可能在没有事先通知的情况下被无情地退回。''' | '''编辑注记:请勿在未经咨询TPT开发者的情况下修改本指南。否则你的修改有可能在没有事先通知的情况下被无情地退回。''' | ||
+ | '''译者注记:该部分翻译未经验证,如有问题请遵照英文原版。''' | ||
= Windows = | = Windows = | ||
Line 53: | Line 54: | ||
* 一旦你真正改变了<code>meson.build</code>文件,Meson就会在你下次试图构建它时自动重新生成解决方案;Visual Studio会给你一个关于解决方案被改变的可怕的弹出窗口,这是很正常的,只要点击 "重新加载解决方案 "即可。 | * 一旦你真正改变了<code>meson.build</code>文件,Meson就会在你下次试图构建它时自动重新生成解决方案;Visual Studio会给你一个关于解决方案被改变的可怕的弹出窗口,这是很正常的,只要点击 "重新加载解决方案 "即可。 | ||
* 你目前看到的配置(很可能是<code>debug|x64</code>,如果你完全按照这个指南来做的话)是解决方案的唯一配置,不建议添加其他配置,因为Meson在下次重新生成解决方案时只会覆盖它们;相反,你必须用Meson生成单独的构建项目。 | * 你目前看到的配置(很可能是<code>debug|x64</code>,如果你完全按照这个指南来做的话)是解决方案的唯一配置,不建议添加其他配置,因为Meson在下次重新生成解决方案时只会覆盖它们;相反,你必须用Meson生成单独的构建项目。 | ||
+ | |||
+ | = MacOS = | ||
+ | |||
+ | 在MacOS 10.15和11.5上测试。 | ||
+ | |||
+ | == 环境搭建 == | ||
+ | |||
+ | * 安装Homebrew ([https://brew.sh/ 下载链接]) | ||
+ | 在下一步,会使用<code>xcode-select</code>;注意,你''不需要安装Xcode''来运行该命令 | ||
+ | *在终端中,执行以下命令 | ||
+ | xcode-select --install # 征求你的确认,安装编译器 | ||
+ | sudo -H python -m pip install --upgrade pip # 如果你得到 "没有名为pip的模块",尝试python3 | ||
+ | sudo -H pip install --upgrade meson ninja | ||
+ | brew install pkg-config luajit fftw sdl2 | ||
+ | cd [你保存代码仓库的路径] | ||
+ | git clone https://github.com/The-Powder-Toy/The-Powder-Toy | ||
+ | |||
+ | == 第一次构建 == | ||
+ | |||
+ | * <code>cd</code>到版本库根目录并执行以下命令 | ||
+ | meson build-debug | ||
+ | cd build-debug | ||
+ | ninja | ||
+ | *在整个过程中,你可能会看到一些警告,但应该没有错误(如果你在任何阶段看到,不要试图跳过它;而是记录下来,在[https://powdertoy.co.uk/Discussions/Categories/Topics.html?Category=5 论坛]上向我们询问 。 | ||
+ | ** 如果你不确定,再次运行Ninja;如果它说 "no work to do",说明一切正常。 | ||
+ | *现在,可以从提示符中运行TPT | ||
+ | ./powder | ||
+ | |||
+ | = Linux = | ||
+ | |||
+ | 在Ubuntu 20.04和Raspbian 10上测试。 | ||
+ | |||
+ | ==所需的环境设置 == | ||
+ | |||
+ | * 确保你的软件包列表是最新的(命令,<code>sudo apt update</code>)。 | ||
+ | * 安装git (命令,<code>sudo apt install git</code>) | ||
+ | * 安装python(命令,<code>sudo apt install python3</code>)。 | ||
+ | * 安装pip,如果不存在的话(参考[https://pip.pypa.io/en/stable/installing/ 他们的教程])。 | ||
+ | * 升级pip (命令:<code>sudo -H python3 -m pip install --upgrade pip</code>) | ||
+ | * 安装[https://mesonbuild.com/ Meson]和[https://ninja-build.org/ Ninja],如果不存在的话(命令,<code>sudo -H pip install --upgrade meson ninja</code>)。 | ||
+ | * 可以选择安装ccache(命令,<code>sudo apt install ccache</code>)。 | ||
+ | * 安装一个库工具(命令,<code>sudo apt install pkg-config</code>) | ||
+ | * 安装所需的库(命令:<code>sudo apt install libluajit-5.1-dev libcurl4-openssl-dev libfftw3-dev zlib1g-dev libsdl2-dev</code>) | ||
+ | ** 你的软件包管理器可能会用完全不同的名字打包这些东西 | ||
+ | *下载源代码(命令,<code>git clone https://github.com/The-Powder-Toy/The-Powder-Toy</code>)。 | ||
+ | |||
+ | == 初次构建 == | ||
+ | |||
+ | * <code>cd</code>到版本库根目录并执行以下命令 | ||
+ | meson build-debug | ||
+ | cd build-debug | ||
+ | ninja | ||
+ | *在整个过程中,你可能会看到一些警告,但应该没有错误(如果你在任何阶段看到,不要试图跳过它;而是记录下来并在[https://powdertoy.co.uk/Discussions/Categories/Topics.html?Category=5 论坛]上向我们询问 | ||
+ | ** 如果你不确定,再次运行Ninja;如果它说 "no work to do",说明一切正常。 | ||
+ | *现在,从提示符中运行TPT应该是可行的 | ||
+ | ./powder | ||
+ | |||
+ | =接下来的步骤(所有平台)= | ||
+ | |||
+ | == 更新二进制文件 == | ||
+ | |||
+ | 现在你已经成功地第一次构建了TPT,你可能会想改变代码中的一些东西。要更新二进制文件,请通过执行以下命令再次构建它 | ||
+ | ninja | ||
+ | 在你上次执行的相同提示下再次构建。每当你改变一些东西,并希望二进制文件反映这些改变时,你都必须这样做。 | ||
+ | |||
+ | == 构建release版 == | ||
+ | |||
+ | 到目前为止,你一直在构建 "调试 "二进制文件。这些二进制文件比 "发布 "版本的调试要容易得多,但它们的性能也较差。你可以建立一个 "release"版本二进制文件,它的性能要好得多,但很难调试。只有当你确定你没有更多的bug需要处理时才使用这些构建。如果以后确实出现了一个bug,再去构建debug二进制文件。 | ||
+ | |||
+ | 要构建release版二进制文件,请在提示符中导航回到版本库的根目录,用Meson创建一个新的构建站点,然后再次用Ninja构建 | ||
+ | cd /d [你存放软件库的地方] | ||
+ | cd The-Powder-Toy | ||
+ | meson -Dbuildtype=release build-release | ||
+ | cd build-release | ||
+ | ninja | ||
+ | |||
+ | 注意,build-debug和build-release目录是独立的 "构建项目",当你把它们设置为你的当前目录时(通过使用<code>cd</code>,见上面的命令列表),你可以用Ninja更新它们。 | ||
+ | |||
+ | == 构建static版 == | ||
+ | |||
+ | 上面的debug和release配置都会产生 "动态 "二进制文件,这意味着它们依赖于你系统的某些组件(你用apt在linux上安装的库或用brew在macos上安装的库)或powder.exe以外的文件(在windows上与powder.exe在同一目录的DLLs)。''如果你是一个MOD作者,请确保你不发送这样的二进制文件,''因为你的用户已经习惯了TPT不依赖任何东西,因此不太可能有自己安装这些库的经验。 | ||
+ | |||
+ | 你可以通过建立一个 "static"(静态)二进制文件来摆脱这些依赖性。这样,二进制文件将依赖于你系统中很可能存在的非常基本的组件。它也会增加几兆字节,并且链接它需要更长的时间,这就是为什么你只有在即将向公众发布时才会这样做。 | ||
+ | |||
+ | 要构建静态二进制文件,请在提示符中导航到版本库的根目录,用Meson创建一个新的构建站点(见下面的注释!),然后再次用Ninja构建 | ||
+ | meson -Dbuildtype=release -Dstatic=prebuilt build-release-static | ||
+ | cd build-release-static | ||
+ | ninja | ||
+ | |||
+ | 注意:在Windows上,你还需要在上面的Meson调用中添加<code>-Db_vscrt=static_from_buildtype</code>选项,否则生成的二进制文件将与MSVC运行时(vcruntime.dll和类似的)动态链接。 | ||
+ | meson -Dbuildtype=release -Dstatic=prebuilt -Db_vscrt=static_from_buildtype build-release-static | ||
+ | cd build-release-static | ||
+ | ninja | ||
+ | |||
+ | == 曾经有用的方法 == | ||
+ | |||
+ | 每个平台都有自己的一套怪癖,需要加以解决(主要是看你,微软和苹果)。幸运的是,我们的构建系统已经解决了其中的大部分问题。不幸的是,这些解决方法是以升级构建系统的形式出现的,而这些系统并不是自动安装的,即使是自动安装,受影响的构建站点也可能需要手动重新配置。如果你曾在某个时候让TPT成功构建,但从那时起,你的构建站点不知怎么就坏了,你可以尝试以下方法来修复它们。 | ||
+ | |||
+ | 修复单个构建站点的最直接的方法是重新配置它。要检查这个方法是否有效,请尝试运行Ninja。 | ||
+ | cd /d [你存放软件库的地方] | ||
+ | cd The-Powder-Toy | ||
+ | meson --reconfigure --wipe build-debug # 或者你给你的构建站点起的任何名字 | ||
+ | ninja | ||
+ | 你必须对每一个被破坏的构建站点进行这样的操作。 | ||
+ | |||
+ | 如果这没有帮助,你可以升级pip、Meson和Ninja。'''就像第一次设置它们时一样,在linux和macos上添加<code>sudo -H</code>,在windows上在高位命令提示符下运行这个。 | ||
+ | python -m pip install --upgrade pip # 如果你得到 "没有名为pip的模块",试试python3 | ||
+ | pip install --upgrade meson ninja | ||
+ | 一旦你完成了这些,重新配置你的构建站点(见上文)。 | ||
+ | |||
+ | 如果这都没有帮助,那就是你从头开始的提示,就像你第一次构建TPT一样,按照指南进行,只不过你已经有了版本库,所以你不需要再克隆了。事实上,这是你对TPT所做修改的地方,所以你不应该删除它。'''删除你的本地克隆版本库永远不会解决任何问题,它只会导致代码的丢失。''甚至不要考虑这样做。 | ||
+ | |||
+ | 作为最后的手段,你可以[https://powdertoy.co.uk/Discussions/Categories/Topics.html?Category=5 在论坛上]问我们 。 | ||
+ | |||
+ | = 构建选项 = | ||
+ | |||
+ | 构建选项在你建立一个构建站点时被传递给Meson(见上面的例子),或者在以后的任何时候,当这个构建站点已经被使用时被传递。在这两种情况下,它们都是以<code>-D[name]=[value]</code>的形式作为命令行参数传递。例如,要建立一个用Lua 5.1而不是LuaJIT编译TPT的构建站点,你可以发出以下命令 | ||
+ | meson -Dlua=lua5.1 build-debug-lua5.1 | ||
+ | 但你也可以使用一个现有的构建站点,并改变相关的构建选项来做同样的事情 | ||
+ | cd build-debug | ||
+ | meson configure -Dlua=lua5.1 | ||
+ | 下次你运行Ninja时,由于这个改变而需要重建的东西都会被重建。关于配置构建站点的更多信息,请参见[https://mesonbuild.com/Quick-guide.html the Meson quick guide]。 | ||
+ | |||
+ | 下面是我们的Meson设置支持的构建选项列表 | ||
+ | |||
+ | {| class="wikitable" style="text-align: center; width: 100%;" | ||
+ | ! Name !! Type !! Description | ||
+ | |- | ||
+ | | static || one of 'none', 'system', 'prebuilt' || Build statically using libraries present on the system ('system') or using prebuilt libraries official builds use ('prebuilt') | ||
+ | |- | ||
+ | | beta || boolean || Beta build | ||
+ | |- | ||
+ | | ignore_updates || boolean || Don't show notifications about available updates | ||
+ | |- | ||
+ | | install_check || boolean || Do install check on startup | ||
+ | |- | ||
+ | | http || boolean || Enable HTTP via libcurl | ||
+ | |- | ||
+ | | gravfft || boolean || Enable FFT gravity via libfftw3 | ||
+ | |- | ||
+ | | snapshot || boolean || Snapshot build | ||
+ | |- | ||
+ | | snapshot_id || integer || Snapshot ID, only relevant if 'snapshot' is true | ||
+ | |- | ||
+ | | mod_id || integer || Mod ID, used on the [https://starcatcher.us/TPT Starcatcher build server]; the build server will compile for all platforms for you and send updates in-game, see jacob1 to get a mod ID | ||
+ | |- | ||
+ | | lua || one of 'none', 'lua5.1', 'lua5.2', 'luajit' || Lua library to use | ||
+ | |- | ||
+ | | ssl || currently only 'openssl' || SSL library to use | ||
+ | |- | ||
+ | | x86_sse || one of 'none', 'sse', 'sse2', 'sse3', 'auto' || Enable SSE (available only on x86) | ||
+ | |- | ||
+ | | native || boolean || Build with optimizations specific to the local machine, may not run on other machines, overrides 'x86_sse' | ||
+ | |- | ||
+ | | ogli || boolean || Enable OpenGL interface rendering (currently defunct) | ||
+ | |- | ||
+ | | oglr || boolean || Enable OpenGL particle rendering (currently defunct) | ||
+ | |- | ||
+ | | build_powder || boolean || Build the game | ||
+ | |- | ||
+ | | build_render || boolean || Build the thumbnail renderer | ||
+ | |- | ||
+ | | build_font || boolean || Build the font editor | ||
+ | |- | ||
+ | | server || string || Simulation server | ||
+ | |- | ||
+ | | static_server || string || Static simulation server | ||
+ | |- | ||
+ | | update_server || string || Update server, only used by snapshots and mods, see 'snapshot_id' and 'mod_id' | ||
+ | |- | ||
+ | | workaround_gcc_no_pie || boolean || Pass -no-pie to gcc manually to work around meson's -Db_pie=false doing nothing | ||
+ | |} |
Latest revision as of 05:01, 17 August 2021
Language: | English • 한국어 • 中文 |
---|
本文将指导你编译The Powder Toy. 如果你有任何疑问,请在TPT论坛中的开发协助板块提问。
编辑注记:请勿在未经咨询TPT开发者的情况下修改本指南。否则你的修改有可能在没有事先通知的情况下被无情地退回。 译者注记:该部分翻译未经验证,如有问题请遵照英文原版。
Contents
Windows
在Windows 10上测试。
环境搭建
- 安装Git (下载链接)
- 安装时不要改动选项
- 安装Python 下载链接)
- 建议允许安装程序将Python添加到PATH中,并禁用路径长度限制(该选项在安装过程结束时出现)
- 打开一个管理员命令提示符(在开始菜单中搜索 "cmd",右击它,点击 "以管理员身份运行")并执行以下命令
python -m pip install --upgrade pip pip install --upgrade meson ninja
- 安装Visual Studio (下载链接)
- 选择桌面开发的安装组件
- 你只需要 "MSVC "和 "Windows 10 SDK",所以你可以在右边的列表中取消勾选其他选项
- 在开始菜单中找到 "x64 Native Tools Command Prompt for VS"(或类似的应用,以下简称 "VS提示符")并执行以下命令
- 建议将生成的窗口固定到你的任务栏上;你将经常使用它来构建TPT
cd /d [你保存源码仓库的路径] git clone https://github.com/The-Powder-Toy/The-Powder-Toy
第一次构建
- 打开VS提示符(见上文)并执行以下命令
cd /d [你保存源码仓库的路径] cd The-Powder-Toy meson build-debug cd build-debug ninja
- 你可能会在所有这些过程中看到一些警告,但应该没有错误(如果你在任何阶段看到警告,不要跳过它;而是记录下来,在论坛向我们询问)
- 如果你不确定是否成功,再次运行ninja;如果显示 "no work to do",说明一切正常。
- 现在,可以从提示符下运行TPT
powder.exe
使用Visual Studio IDE
上面的方法不能让你使用Visual Studio的 "Visual "部分,即IDE。尽管Meson对这种使用情况的支持有限,但如果由于某种原因你希望使用IDE,你可以要求Meson生成一个使用Visual Studio而不是Ninja的构建项目。
- 打开VS提示符(见上文),执行以下命令
cd /d [你保存源码仓库的路径] cd The-Powder-Toy meson --backend=vs -Dbackend_startup_project=powder build-debug-vs
- 在这之后,你不再需要使用VS提示符。
这将生成一个包含Visual Studio解决方案的构建项目(the-powder-toy.sln
)。你可以像其他解决方案一样使用它,但有几个关键的区别。
- 集成开发环境只能用于更舒适的编辑和调试,而不能用于其他方面,包括改变项目结构;你必须熟悉Meson并使用
meson.build
文件才能做到这一点。 - 一旦你真正改变了
meson.build
文件,Meson就会在你下次试图构建它时自动重新生成解决方案;Visual Studio会给你一个关于解决方案被改变的可怕的弹出窗口,这是很正常的,只要点击 "重新加载解决方案 "即可。 - 你目前看到的配置(很可能是
debug|x64
,如果你完全按照这个指南来做的话)是解决方案的唯一配置,不建议添加其他配置,因为Meson在下次重新生成解决方案时只会覆盖它们;相反,你必须用Meson生成单独的构建项目。
MacOS
在MacOS 10.15和11.5上测试。
环境搭建
- 安装Homebrew (下载链接)
在下一步,会使用xcode-select
;注意,你不需要安装Xcode来运行该命令
- 在终端中,执行以下命令
xcode-select --install # 征求你的确认,安装编译器 sudo -H python -m pip install --upgrade pip # 如果你得到 "没有名为pip的模块",尝试python3 sudo -H pip install --upgrade meson ninja brew install pkg-config luajit fftw sdl2 cd [你保存代码仓库的路径] git clone https://github.com/The-Powder-Toy/The-Powder-Toy
第一次构建
-
cd
到版本库根目录并执行以下命令
meson build-debug cd build-debug ninja
- 在整个过程中,你可能会看到一些警告,但应该没有错误(如果你在任何阶段看到,不要试图跳过它;而是记录下来,在论坛上向我们询问 。
- 如果你不确定,再次运行Ninja;如果它说 "no work to do",说明一切正常。
- 现在,可以从提示符中运行TPT
./powder
Linux
在Ubuntu 20.04和Raspbian 10上测试。
所需的环境设置
- 确保你的软件包列表是最新的(命令,
sudo apt update
)。 - 安装git (命令,
sudo apt install git
) - 安装python(命令,
sudo apt install python3
)。 - 安装pip,如果不存在的话(参考他们的教程)。
- 升级pip (命令:
sudo -H python3 -m pip install --upgrade pip
) - 安装Meson和Ninja,如果不存在的话(命令,
sudo -H pip install --upgrade meson ninja
)。 - 可以选择安装ccache(命令,
sudo apt install ccache
)。 - 安装一个库工具(命令,
sudo apt install pkg-config
) - 安装所需的库(命令:
sudo apt install libluajit-5.1-dev libcurl4-openssl-dev libfftw3-dev zlib1g-dev libsdl2-dev
)- 你的软件包管理器可能会用完全不同的名字打包这些东西
- 下载源代码(命令,
git clone https://github.com/The-Powder-Toy/The-Powder-Toy
)。
初次构建
-
cd
到版本库根目录并执行以下命令
meson build-debug cd build-debug ninja
- 在整个过程中,你可能会看到一些警告,但应该没有错误(如果你在任何阶段看到,不要试图跳过它;而是记录下来并在论坛上向我们询问
- 如果你不确定,再次运行Ninja;如果它说 "no work to do",说明一切正常。
- 现在,从提示符中运行TPT应该是可行的
./powder
接下来的步骤(所有平台)
更新二进制文件
现在你已经成功地第一次构建了TPT,你可能会想改变代码中的一些东西。要更新二进制文件,请通过执行以下命令再次构建它
ninja
在你上次执行的相同提示下再次构建。每当你改变一些东西,并希望二进制文件反映这些改变时,你都必须这样做。
构建release版
到目前为止,你一直在构建 "调试 "二进制文件。这些二进制文件比 "发布 "版本的调试要容易得多,但它们的性能也较差。你可以建立一个 "release"版本二进制文件,它的性能要好得多,但很难调试。只有当你确定你没有更多的bug需要处理时才使用这些构建。如果以后确实出现了一个bug,再去构建debug二进制文件。
要构建release版二进制文件,请在提示符中导航回到版本库的根目录,用Meson创建一个新的构建站点,然后再次用Ninja构建
cd /d [你存放软件库的地方] cd The-Powder-Toy meson -Dbuildtype=release build-release cd build-release ninja
注意,build-debug和build-release目录是独立的 "构建项目",当你把它们设置为你的当前目录时(通过使用cd
,见上面的命令列表),你可以用Ninja更新它们。
构建static版
上面的debug和release配置都会产生 "动态 "二进制文件,这意味着它们依赖于你系统的某些组件(你用apt在linux上安装的库或用brew在macos上安装的库)或powder.exe以外的文件(在windows上与powder.exe在同一目录的DLLs)。如果你是一个MOD作者,请确保你不发送这样的二进制文件,因为你的用户已经习惯了TPT不依赖任何东西,因此不太可能有自己安装这些库的经验。
你可以通过建立一个 "static"(静态)二进制文件来摆脱这些依赖性。这样,二进制文件将依赖于你系统中很可能存在的非常基本的组件。它也会增加几兆字节,并且链接它需要更长的时间,这就是为什么你只有在即将向公众发布时才会这样做。
要构建静态二进制文件,请在提示符中导航到版本库的根目录,用Meson创建一个新的构建站点(见下面的注释!),然后再次用Ninja构建
meson -Dbuildtype=release -Dstatic=prebuilt build-release-static cd build-release-static ninja
注意:在Windows上,你还需要在上面的Meson调用中添加-Db_vscrt=static_from_buildtype
选项,否则生成的二进制文件将与MSVC运行时(vcruntime.dll和类似的)动态链接。
meson -Dbuildtype=release -Dstatic=prebuilt -Db_vscrt=static_from_buildtype build-release-static cd build-release-static ninja
曾经有用的方法
每个平台都有自己的一套怪癖,需要加以解决(主要是看你,微软和苹果)。幸运的是,我们的构建系统已经解决了其中的大部分问题。不幸的是,这些解决方法是以升级构建系统的形式出现的,而这些系统并不是自动安装的,即使是自动安装,受影响的构建站点也可能需要手动重新配置。如果你曾在某个时候让TPT成功构建,但从那时起,你的构建站点不知怎么就坏了,你可以尝试以下方法来修复它们。
修复单个构建站点的最直接的方法是重新配置它。要检查这个方法是否有效,请尝试运行Ninja。
cd /d [你存放软件库的地方] cd The-Powder-Toy meson --reconfigure --wipe build-debug # 或者你给你的构建站点起的任何名字 ninja
你必须对每一个被破坏的构建站点进行这样的操作。
如果这没有帮助,你可以升级pip、Meson和Ninja。就像第一次设置它们时一样,在linux和macos上添加sudo -H
,在windows上在高位命令提示符下运行这个。
python -m pip install --upgrade pip # 如果你得到 "没有名为pip的模块",试试python3 pip install --upgrade meson ninja
一旦你完成了这些,重新配置你的构建站点(见上文)。
如果这都没有帮助,那就是你从头开始的提示,就像你第一次构建TPT一样,按照指南进行,只不过你已经有了版本库,所以你不需要再克隆了。事实上,这是你对TPT所做修改的地方,所以你不应该删除它。'删除你的本地克隆版本库永远不会解决任何问题,它只会导致代码的丢失。甚至不要考虑这样做。
作为最后的手段,你可以在论坛上问我们 。
构建选项
构建选项在你建立一个构建站点时被传递给Meson(见上面的例子),或者在以后的任何时候,当这个构建站点已经被使用时被传递。在这两种情况下,它们都是以-D[name]=[value]
的形式作为命令行参数传递。例如,要建立一个用Lua 5.1而不是LuaJIT编译TPT的构建站点,你可以发出以下命令
meson -Dlua=lua5.1 build-debug-lua5.1
但你也可以使用一个现有的构建站点,并改变相关的构建选项来做同样的事情
cd build-debug meson configure -Dlua=lua5.1
下次你运行Ninja时,由于这个改变而需要重建的东西都会被重建。关于配置构建站点的更多信息,请参见the Meson quick guide。
下面是我们的Meson设置支持的构建选项列表
Name | Type | Description |
---|---|---|
static | one of 'none', 'system', 'prebuilt' | Build statically using libraries present on the system ('system') or using prebuilt libraries official builds use ('prebuilt') |
beta | boolean | Beta build |
ignore_updates | boolean | Don't show notifications about available updates |
install_check | boolean | Do install check on startup |
http | boolean | Enable HTTP via libcurl |
gravfft | boolean | Enable FFT gravity via libfftw3 |
snapshot | boolean | Snapshot build |
snapshot_id | integer | Snapshot ID, only relevant if 'snapshot' is true |
mod_id | integer | Mod ID, used on the Starcatcher build server; the build server will compile for all platforms for you and send updates in-game, see jacob1 to get a mod ID |
lua | one of 'none', 'lua5.1', 'lua5.2', 'luajit' | Lua library to use |
ssl | currently only 'openssl' | SSL library to use |
x86_sse | one of 'none', 'sse', 'sse2', 'sse3', 'auto' | Enable SSE (available only on x86) |
native | boolean | Build with optimizations specific to the local machine, may not run on other machines, overrides 'x86_sse' |
ogli | boolean | Enable OpenGL interface rendering (currently defunct) |
oglr | boolean | Enable OpenGL particle rendering (currently defunct) |
build_powder | boolean | Build the game |
build_render | boolean | Build the thumbnail renderer |
build_font | boolean | Build the font editor |
server | string | Simulation server |
static_server | string | Static simulation server |
update_server | string | Update server, only used by snapshots and mods, see 'snapshot_id' and 'mod_id' |
workaround_gcc_no_pie | boolean | Pass -no-pie to gcc manually to work around meson's -Db_pie=false doing nothing |