2018-04-12 16:08:48 +02:00
2019-01-25 01:02:56 +01:00
option (
'developer' ,
type : 'combo' ,
2022-12-28 23:15:55 +01:00
choices : [ 'true' , 'false' , 'auto' ] ,
value : 'false' ,
deprecated : [ 'auto' ] ,
2019-01-25 01:02:56 +01:00
description : 'Make a "developer" build with cheats and extra debugging features'
)
2022-12-28 23:15:55 +01:00
option ( 'vfs_zip' ,
type : 'feature' ,
value : 'auto' ,
deprecated : { 'true' : 'enabled' , 'false' : 'disabled' } ,
description : 'Support loading of game data from ZIP packages (requires libzip)'
)
2019-01-24 21:21:08 +01:00
option (
'enable_zip' ,
type : 'boolean' ,
2022-12-28 23:15:55 +01:00
deprecated : 'vfs_zip' ,
description : 'DEPRECATED: use vfs_zip instead' ,
2018-04-12 16:08:48 +02:00
)
option (
'package_data' ,
2022-12-28 23:15:55 +01:00
type : 'feature' ,
value : 'auto' ,
deprecated : { 'true' : 'enabled' , 'false' : 'disabled' } ,
description : 'Package the game’ s assets into a compressed archive (requires vfs_zip)'
)
option (
'install_relocatable' ,
type : 'feature' ,
value : 'auto' ,
deprecated : { 'true' : 'enabled' , 'false' : 'disabled' } ,
description : 'Install everything into the same directory, don\'t hardcode absolute paths into the executable. Prefix is assumed to be an empty directory reserved for Taisei in this mode.'
2018-04-12 16:08:48 +02:00
)
option (
'install_relative' ,
type : 'combo' ,
choices : [ 'auto' , 'true' , 'false' ] ,
2022-12-28 23:15:55 +01:00
deprecated : 'install_relocatable' ,
description : 'DEPRECATED: use install_relocatable instead' ,
2018-04-12 16:08:48 +02:00
)
option (
'install_freedesktop' ,
2022-12-28 23:15:55 +01:00
type : 'feature' ,
value : 'auto' ,
deprecated : { 'true' : 'enabled' , 'false' : 'disabled' } ,
2018-04-12 16:08:48 +02:00
description : 'Install freedesktop.org integration files (launchers, icons, replay file associations, etc.). Mostly relevant for Linux/BSD/etc. desktop systems'
)
2022-12-28 23:15:55 +01:00
option (
'install_macos_bundle' ,
type : 'feature' ,
value : 'auto' ,
deprecated : { 'true' : 'auto' , 'false' : 'disabled' } ,
description : 'Install into a macOS application bundle'
)
option (
'macos_bundle' ,
type : 'boolean' ,
deprecated : 'install_macos_bundle' ,
description : 'DEPRECATED: use install_macos_bundle instead' ,
)
OpenGL ES 3.0 rendering backend (#148)
* First steps towards shader transpilation
Needs to be manually enabled via -Dshader_transpiler=true.
Requires shaderc. https://github.com/google/shaderc
Not yet functional due to missing SPIRV-Cross integration. SPIRV-Cross
currently does not have an official C API, and crossc is too minimal to
be useful. The current plan is to extend crossc and vendor it, while
also sending PRs upstream.
* Integrate crossc; shader transpilation for GLES now works
* fix leak
* gles30 backend now playable on Mesa with 3.2 context
Some rendering issues are present. Identified so far:
- Marisa's lasers are invisible
- Death effect looks wrong
Also, a small pixmap manipulation library has been written, and the
texture uploading API redesigned around it.
* fix marisa lasers in GLES (uniform name clashed with builtin)
* fix player death effect in GLES (another name clash)
* Dump ANGLE's translated shader code in debug log
* fix screenshots
* Drop support for triangle fans, switch to strips
Fans offer no advantage over strips, and they've been removed in D3D10+,
so ANGLE has to emulate them.
* crude workaround for an ANGLE bug
* Re-enable GL debug labels, fix an issue with them that affected ANGLE (but was always technically a bug)
* fix race condition in shaderc initialization
* New SDL_RWops interface for vertex buffers
* Optimize VBO streaming via buffering updates
Measurable performance improvement even with the main gl33 renderer,
drastic improvement with ANGLE.
* Fix the depth texture binding problem under ANGLE
Apparently it hates GL_DEPTH_COMPONENT16 for some reason. Sized internal
formats are not supported in GLES 2.0 anyway, so not using them is
probably a good idea.
* fix GLES2.0 segfault (the backend still doesn't work, though)
* dump GL extensions at info log level, not debug
* get around a Mesa bug; more correct texture format table for GLES2
* Correct GLES3 texture format table according to the spec
Not a Mesa bug after all
* require crossc>=1.5.0, fallback to subproject
* Request at least 8bit per color channel in GL backends
* Forbid lto for static windows builds with shader_transpiler=true
* fix edge case segfault
* Add basic ANGLE bundling support to the build system
Windows only, and no NSIS support yet
* Fix various windows-related build system and installer brokenness
* Disable gles backends by default
* update documentation
2018-10-02 00:36:10 +02:00
option (
'install_angle' ,
type : 'boolean' ,
2023-02-23 21:06:56 +01:00
value : false ,
2020-02-20 03:16:28 +01:00
description : 'Install pre-built ANGLE libraries. Required for Windows/macOS OpenGL ES 2.0/3.0'
OpenGL ES 3.0 rendering backend (#148)
* First steps towards shader transpilation
Needs to be manually enabled via -Dshader_transpiler=true.
Requires shaderc. https://github.com/google/shaderc
Not yet functional due to missing SPIRV-Cross integration. SPIRV-Cross
currently does not have an official C API, and crossc is too minimal to
be useful. The current plan is to extend crossc and vendor it, while
also sending PRs upstream.
* Integrate crossc; shader transpilation for GLES now works
* fix leak
* gles30 backend now playable on Mesa with 3.2 context
Some rendering issues are present. Identified so far:
- Marisa's lasers are invisible
- Death effect looks wrong
Also, a small pixmap manipulation library has been written, and the
texture uploading API redesigned around it.
* fix marisa lasers in GLES (uniform name clashed with builtin)
* fix player death effect in GLES (another name clash)
* Dump ANGLE's translated shader code in debug log
* fix screenshots
* Drop support for triangle fans, switch to strips
Fans offer no advantage over strips, and they've been removed in D3D10+,
so ANGLE has to emulate them.
* crude workaround for an ANGLE bug
* Re-enable GL debug labels, fix an issue with them that affected ANGLE (but was always technically a bug)
* fix race condition in shaderc initialization
* New SDL_RWops interface for vertex buffers
* Optimize VBO streaming via buffering updates
Measurable performance improvement even with the main gl33 renderer,
drastic improvement with ANGLE.
* Fix the depth texture binding problem under ANGLE
Apparently it hates GL_DEPTH_COMPONENT16 for some reason. Sized internal
formats are not supported in GLES 2.0 anyway, so not using them is
probably a good idea.
* fix GLES2.0 segfault (the backend still doesn't work, though)
* dump GL extensions at info log level, not debug
* get around a Mesa bug; more correct texture format table for GLES2
* Correct GLES3 texture format table according to the spec
Not a Mesa bug after all
* require crossc>=1.5.0, fallback to subproject
* Request at least 8bit per color channel in GL backends
* Forbid lto for static windows builds with shader_transpiler=true
* fix edge case segfault
* Add basic ANGLE bundling support to the build system
Windows only, and no NSIS support yet
* Fix various windows-related build system and installer brokenness
* Disable gles backends by default
* update documentation
2018-10-02 00:36:10 +02:00
)
option (
'angle_libgles' ,
type : 'string' ,
description : 'Path to ANGLE\'s libGLESv2 dynamic library (see install_angle)'
)
option (
'angle_libegl' ,
type : 'string' ,
description : 'Path to ANGLE\'s libEGL dynamic library (see install_angle)'
)
2018-04-12 16:08:48 +02:00
option (
'win_console' ,
type : 'boolean' ,
value : false ,
description : 'Use the console subsystem on Windows'
)
option (
'static' ,
type : 'boolean' ,
value : false ,
2022-12-28 23:15:55 +01:00
deprecated : 'prefer_static' ,
description : 'DEPRECATED: use prefer_static instead' ,
2018-04-12 16:08:48 +02:00
)
option (
'docs' ,
2022-12-28 23:15:55 +01:00
type : 'feature' ,
deprecated : { 'true' : 'enabled' , 'false' : 'disabled' } ,
description : 'Build and install documentation (requires docutils)'
2018-04-12 16:08:48 +02:00
)
OpenGL ES 3.0 rendering backend (#148)
* First steps towards shader transpilation
Needs to be manually enabled via -Dshader_transpiler=true.
Requires shaderc. https://github.com/google/shaderc
Not yet functional due to missing SPIRV-Cross integration. SPIRV-Cross
currently does not have an official C API, and crossc is too minimal to
be useful. The current plan is to extend crossc and vendor it, while
also sending PRs upstream.
* Integrate crossc; shader transpilation for GLES now works
* fix leak
* gles30 backend now playable on Mesa with 3.2 context
Some rendering issues are present. Identified so far:
- Marisa's lasers are invisible
- Death effect looks wrong
Also, a small pixmap manipulation library has been written, and the
texture uploading API redesigned around it.
* fix marisa lasers in GLES (uniform name clashed with builtin)
* fix player death effect in GLES (another name clash)
* Dump ANGLE's translated shader code in debug log
* fix screenshots
* Drop support for triangle fans, switch to strips
Fans offer no advantage over strips, and they've been removed in D3D10+,
so ANGLE has to emulate them.
* crude workaround for an ANGLE bug
* Re-enable GL debug labels, fix an issue with them that affected ANGLE (but was always technically a bug)
* fix race condition in shaderc initialization
* New SDL_RWops interface for vertex buffers
* Optimize VBO streaming via buffering updates
Measurable performance improvement even with the main gl33 renderer,
drastic improvement with ANGLE.
* Fix the depth texture binding problem under ANGLE
Apparently it hates GL_DEPTH_COMPONENT16 for some reason. Sized internal
formats are not supported in GLES 2.0 anyway, so not using them is
probably a good idea.
* fix GLES2.0 segfault (the backend still doesn't work, though)
* dump GL extensions at info log level, not debug
* get around a Mesa bug; more correct texture format table for GLES2
* Correct GLES3 texture format table according to the spec
Not a Mesa bug after all
* require crossc>=1.5.0, fallback to subproject
* Request at least 8bit per color channel in GL backends
* Forbid lto for static windows builds with shader_transpiler=true
* fix edge case segfault
* Add basic ANGLE bundling support to the build system
Windows only, and no NSIS support yet
* Fix various windows-related build system and installer brokenness
* Disable gles backends by default
* update documentation
2018-10-02 00:36:10 +02:00
option (
'shader_transpiler' ,
2022-12-28 23:15:55 +01:00
type : 'feature' ,
deprecated : { 'true' : 'enabled' , 'false' : 'disabled' } ,
2019-01-24 21:21:08 +01:00
description : 'Enable shader trans-compilation (requires shaderc)'
OpenGL ES 3.0 rendering backend (#148)
* First steps towards shader transpilation
Needs to be manually enabled via -Dshader_transpiler=true.
Requires shaderc. https://github.com/google/shaderc
Not yet functional due to missing SPIRV-Cross integration. SPIRV-Cross
currently does not have an official C API, and crossc is too minimal to
be useful. The current plan is to extend crossc and vendor it, while
also sending PRs upstream.
* Integrate crossc; shader transpilation for GLES now works
* fix leak
* gles30 backend now playable on Mesa with 3.2 context
Some rendering issues are present. Identified so far:
- Marisa's lasers are invisible
- Death effect looks wrong
Also, a small pixmap manipulation library has been written, and the
texture uploading API redesigned around it.
* fix marisa lasers in GLES (uniform name clashed with builtin)
* fix player death effect in GLES (another name clash)
* Dump ANGLE's translated shader code in debug log
* fix screenshots
* Drop support for triangle fans, switch to strips
Fans offer no advantage over strips, and they've been removed in D3D10+,
so ANGLE has to emulate them.
* crude workaround for an ANGLE bug
* Re-enable GL debug labels, fix an issue with them that affected ANGLE (but was always technically a bug)
* fix race condition in shaderc initialization
* New SDL_RWops interface for vertex buffers
* Optimize VBO streaming via buffering updates
Measurable performance improvement even with the main gl33 renderer,
drastic improvement with ANGLE.
* Fix the depth texture binding problem under ANGLE
Apparently it hates GL_DEPTH_COMPONENT16 for some reason. Sized internal
formats are not supported in GLES 2.0 anyway, so not using them is
probably a good idea.
* fix GLES2.0 segfault (the backend still doesn't work, though)
* dump GL extensions at info log level, not debug
* get around a Mesa bug; more correct texture format table for GLES2
* Correct GLES3 texture format table according to the spec
Not a Mesa bug after all
* require crossc>=1.5.0, fallback to subproject
* Request at least 8bit per color channel in GL backends
* Forbid lto for static windows builds with shader_transpiler=true
* fix edge case segfault
* Add basic ANGLE bundling support to the build system
Windows only, and no NSIS support yet
* Fix various windows-related build system and installer brokenness
* Disable gles backends by default
* update documentation
2018-10-02 00:36:10 +02:00
)
2018-04-12 16:08:48 +02:00
option (
'validate_glsl' ,
2022-12-28 23:15:55 +01:00
type : 'feature' ,
deprecated : { 'true' : 'enabled' , 'false' : 'disabled' } ,
2018-04-12 16:08:48 +02:00
description : 'Enable validation of GLSL shaders (requires glslc)'
)
option (
'r_default' ,
type : 'combo' ,
2022-12-28 23:15:55 +01:00
choices : [ 'auto' , 'gl33' , 'gles20' , 'gles30' , 'null' ] ,
2018-04-12 16:08:48 +02:00
description : 'Which rendering backend to use by default'
)
option (
'r_gl33' ,
2022-12-28 23:15:55 +01:00
type : 'feature' ,
value : 'auto' ,
deprecated : { 'true' : 'enabled' , 'false' : 'disabled' } ,
2018-04-12 16:08:48 +02:00
description : 'Build the OpenGL 3.3 Core renderer'
)
option (
'r_gles20' ,
2022-12-28 23:15:55 +01:00
type : 'feature' ,
value : 'disabled' ,
deprecated : { 'true' : 'enabled' , 'false' : 'disabled' } ,
OpenGL ES 3.0 rendering backend (#148)
* First steps towards shader transpilation
Needs to be manually enabled via -Dshader_transpiler=true.
Requires shaderc. https://github.com/google/shaderc
Not yet functional due to missing SPIRV-Cross integration. SPIRV-Cross
currently does not have an official C API, and crossc is too minimal to
be useful. The current plan is to extend crossc and vendor it, while
also sending PRs upstream.
* Integrate crossc; shader transpilation for GLES now works
* fix leak
* gles30 backend now playable on Mesa with 3.2 context
Some rendering issues are present. Identified so far:
- Marisa's lasers are invisible
- Death effect looks wrong
Also, a small pixmap manipulation library has been written, and the
texture uploading API redesigned around it.
* fix marisa lasers in GLES (uniform name clashed with builtin)
* fix player death effect in GLES (another name clash)
* Dump ANGLE's translated shader code in debug log
* fix screenshots
* Drop support for triangle fans, switch to strips
Fans offer no advantage over strips, and they've been removed in D3D10+,
so ANGLE has to emulate them.
* crude workaround for an ANGLE bug
* Re-enable GL debug labels, fix an issue with them that affected ANGLE (but was always technically a bug)
* fix race condition in shaderc initialization
* New SDL_RWops interface for vertex buffers
* Optimize VBO streaming via buffering updates
Measurable performance improvement even with the main gl33 renderer,
drastic improvement with ANGLE.
* Fix the depth texture binding problem under ANGLE
Apparently it hates GL_DEPTH_COMPONENT16 for some reason. Sized internal
formats are not supported in GLES 2.0 anyway, so not using them is
probably a good idea.
* fix GLES2.0 segfault (the backend still doesn't work, though)
* dump GL extensions at info log level, not debug
* get around a Mesa bug; more correct texture format table for GLES2
* Correct GLES3 texture format table according to the spec
Not a Mesa bug after all
* require crossc>=1.5.0, fallback to subproject
* Request at least 8bit per color channel in GL backends
* Forbid lto for static windows builds with shader_transpiler=true
* fix edge case segfault
* Add basic ANGLE bundling support to the build system
Windows only, and no NSIS support yet
* Fix various windows-related build system and installer brokenness
* Disable gles backends by default
* update documentation
2018-10-02 00:36:10 +02:00
description : 'Build the OpenGL ES 2.0 renderer (incomplete)'
2018-04-12 16:08:48 +02:00
)
option (
'r_gles30' ,
2022-12-28 23:15:55 +01:00
type : 'feature' ,
value : 'auto' ,
deprecated : { 'true' : 'enabled' , 'false' : 'disabled' } ,
2018-04-12 16:08:48 +02:00
description : 'Build the OpenGL ES 3.0 renderer'
)
option (
'r_null' ,
2022-12-28 23:15:55 +01:00
type : 'feature' ,
value : 'auto' ,
deprecated : { 'true' : 'enabled' , 'false' : 'disabled' } ,
description : 'Build the no-op renderer (nothing is displayed). Required for --verify-replay to work properly'
2018-04-12 16:08:48 +02:00
)
2018-08-31 04:58:37 +02:00
2019-03-05 20:43:01 +01:00
option (
'a_default' ,
type : 'combo' ,
2022-12-28 23:15:55 +01:00
choices : [ 'auto' , 'sdl' , 'null' ] ,
2019-03-05 20:43:01 +01:00
description : 'Which audio backend to use by default'
)
option (
2020-06-22 16:41:03 +02:00
'a_sdl' ,
2022-12-28 23:15:55 +01:00
type : 'feature' ,
value : 'auto' ,
deprecated : { 'true' : 'enabled' , 'false' : 'disabled' } ,
2020-06-22 16:41:03 +02:00
description : 'Build the SDL audio backend'
2019-03-05 20:43:01 +01:00
)
option (
'a_null' ,
2022-12-28 23:15:55 +01:00
type : 'feature' ,
value : 'auto' ,
deprecated : { 'true' : 'enabled' , 'false' : 'disabled' } ,
2019-03-05 20:43:01 +01:00
description : 'Build the no-op audio backend (silence); you want this on!'
)
2019-02-08 19:59:36 +01:00
option (
'use_libcrypto' ,
2022-12-28 23:15:55 +01:00
type : 'feature' ,
deprecated : { 'true' : 'enabled' , 'false' : 'disabled' } ,
2019-02-08 19:59:36 +01:00
description : 'Use libcrypto from OpenSSL for better SHA implementations'
)
2019-10-03 02:22:54 +02:00
option (
'deprecation_warnings' ,
choices : [ 'default' , 'error' , 'no-error' , 'ignore' ] ,
type : 'combo' ,
description : 'Treatment of deprecation warnings'
)
2019-11-27 16:18:50 +01:00
option (
'force_vendored_shader_tools' ,
type : 'boolean' ,
value : false ,
description : 'Build shaderc and spirv-cross CLI tools from subprojects even if system versions exist'
)
2022-01-28 17:03:22 +01:00
option (
'stages_live_reload' ,
type : 'boolean' ,
2023-02-23 21:06:56 +01:00
value : false ,
2022-01-28 17:03:22 +01:00
description : 'Enable live-reloading workflow for stages (for development only)'
)
2023-09-28 14:58:08 +02:00
option (
'gamemode' ,
type : 'feature' ,
description : 'Integrate with the GameMode daemon, if running'
)
2024-05-13 03:57:57 +02:00
option (
'tests' ,
type : 'feature' ,
description : 'Build various test programs'
)