Commit Graph

649 Commits

Author SHA1 Message Date
SupSuper 090d10862e CREATE_PROJECT: ASan is incompatible with /RTC 2025-06-04 02:27:48 +01:00
Orgad Shaneh 6ad2e5d337 CREATE_PROJECT: Disable NDEBUG for cmake
ScummVM makes heavy use of assert, and having NDEBUG defined makes it no-op.

Inspired by https://github.com/llvm/llvm-project/blob/1f7885cf9c68/llvm/cmake/modules/HandleLLVMOptions.cmake#L118
2025-06-01 09:43:41 +03:00
Le Philousophe 02eb86c465 CREATE_PROJECT: Disable MSVC warning C4505
It triggers on libvpx because MSVC doesn't provide any way to
acknowledge a static function is unused.
2025-05-31 00:07:15 +02:00
Paweł Kołodziejski 2c22ce882b WINTERMUTE: Implemented post filters for shader renderer 2025-05-24 12:15:20 +02:00
Orgad Shaneh e472be2ee4 BUILD: Suppress stringop-overflow and stringop-truncation GCC warnings
Too many false-positives.
2025-05-21 10:20:29 +03:00
Paweł Kołodziejski 4cfe9c0bbc DISTS: Update xcode create_project for shader files 2025-05-21 06:41:15 +02:00
Orgad Shaneh 3e3589cf70 CREATE_PROJECT: Set RELEASE_BUILD also for cmake 2025-05-05 15:56:14 +03:00
Orgad Shaneh 64c2072ce2 CREATE_PROJECT: Fix include order for cmake projects
If the engines directory contains plugins_table.h or detection_table.h
from an in-source build, when building out-of-source, these files from
the source directory were prioritized over build directory versions.

This caused issues when different plugins were enabled across builds.

The revised include order now matches the implementation in Makefile.
2025-04-25 20:33:19 +03:00
Donovan Watteau 7613a635f6 BUILD: Promote to error any warning about functions lacking a return statement
Regarding the `configure` script, we now have:

  * default: add `-Werror=flag-name` for selected warnings where it's
    important to fail early (just `-Werror=return-type` for now)

  * --enable-Werror: use `-Werror` for all warnings

  * --disable-Werror: don't any `-Werror` flag

For Xcode, `-Werror=return-type` is added to default flags.

For MSVC, equivalent flags have been added to the existing
`globalErrors` list.

Suggested by sluicebox.
2025-04-25 19:25:51 +03:00
Donovan Watteau 14cfd9b006 CREATE_PROJECT: Use /diagnostics:caret for clearer MSVC warnings
Gets a bit closer to how modern GCC and Clang show warnings.

Introduced in VS 2017:
https://learn.microsoft.com/en-us/cpp/build/reference/diagnostics-compiler-diagnostic-options?view=msvc-170
2025-04-25 19:22:31 +03:00
Michael Ball d91852d222 PLAYGROUND3D: Implement Tests 2 and 4 in OpenGLShaders renderer 2025-04-05 21:31:53 +02:00
cmd05 03ab265a97 FREESCAPE: add cubemap shaders to configuration lists 2025-03-22 12:10:19 +01:00
Le Philousophe 0703661115 CREATE_PROJECT: Add support for meta-components
These components represent a group of features which can be deleted as a
whole when unused.
2025-01-08 19:30:35 +02:00
Le Philousophe e02cd501cc CREATE_PROJECT: Move features hard-coded logic in its own function
And accept these are not hacks anymore.
2025-01-08 19:30:35 +02:00
Le Philousophe 380ccf54ce CREATE_PROJECT: add_component line has 5 tokens and not 4 2025-01-04 12:01:19 +01:00
Le Philousophe 12bc55bc4e DEVTOOLS: Add back mt32emu feature
It was removed before because the configure script declared it as a
component but the component got renamed and mt32emu is still a feature
(although not declare likewise anymore).
2025-01-04 10:49:46 +01:00
Orgad Shaneh 063209a962 BUILD: Fix build on mingw with libcurl
waitOnSocket in socket.cpp uses select, which is implemented in ws2_32.
2025-01-03 08:28:44 +01:00
Filippos Karapetis 1b9398f3e0 CREATE_PROJECT: Fix the MPC decoder feature name 2024-12-27 02:27:03 +02:00
Le Philousophe 5ca7c20121 CREATE_PROJECT: Add components based features dynamically
Cleanup the uneeded static features.
2024-12-26 18:42:44 +02:00
Le Philousophe 46b62be404 CREATE_PROJECT: Explain why an engine is disabled 2024-12-25 00:34:39 +01:00
Le Philousophe 3ad09d8999 CREATE_PROJECT: Make unused components disabling verbose 2024-12-25 00:34:39 +01:00
Le Philousophe 60104f3311 CREATE_PROJECT: Disable components when they are not needed 2024-12-25 00:34:39 +01:00
Le Philousophe aeec3e9a8e CREATE_PROJECT: Use std::find to search the feature
This matches the other implementations
2024-12-25 00:34:39 +01:00
Le Philousophe 22e235f4d4 CREATE_PROJECT: Add Lua feature
This repairs build
2024-12-25 00:34:39 +01:00
Eugene Sandulenko ba6604dd21 DEVTOOLS: CREATE_PROJECT: Add support for components
We scan the configure file and enable all components
2024-12-25 00:34:39 +01:00
Le Philousophe 0dfc71322a CONFIGURE: Add a 3D feature
This allows to blacklist 3D engines on platforms not supporting 3D.
These platforms don't have OpenGL nor TinyGL enabled.
2024-12-01 22:39:32 +01:00
SupSuper 92cbe01360 CREATE_PROJECT: Add a52dec and libmpcdec 2024-10-17 06:41:40 +01:00
Le Philousophe 1d2d081690 CREATE_PROJECT: Enable ImGui SDL Renderer support 2024-09-29 17:04:03 +02:00
Lars Sundström 74caec446b DISTS: Add PrivacyInfo.xcprivacy to ios7 and tvos
Apple will require a valid privacy manifest file bundled for
applications uploaded to App Store Connect.
The privacy manifest describes the privacy practices of an app,
describing the reasons of use of some core APIs that can be
misused to try to identify the device or user, also known as
fingerprinting.

Read more about which APIs that require a privacy manifest here:
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api

Add such manifest to ios7 and tvos ports and make sure they are
bundled with the app.
2024-09-06 15:49:46 +03:00
Michael 5e5a3fa4c2 CREATE_PROJECT: add missing newlines to help text 2024-08-29 17:51:01 +02:00
SupSuper 57dc6158f4 CREATE_PROJECT: Reenable OpenGL on arm64 2024-08-28 00:40:43 +03:00
SupSuper a92d1de02c MSVC: Replace Analysis configuration with ASan 2024-07-15 02:57:22 +02:00
Le Philousophe d67767ce32 CREATE_PROJECT: Disable ImGui when creating Xcode project
This is complicated to support as the Xcode project is used for MacOS
and iOS/tvOS where ImGui is not supported.
This needs to avoid building of some files in the engines in a selective
way which is not easy to achieve without hacks.
2024-07-08 20:49:58 +02:00
SupSuper 3a0d79dedd CREATE_PROJECT: Fix compiler error 2024-07-07 13:15:36 +01:00
SupSuper 9147a8ad99 CREATE_PROJECT: Check IMGUI feature dependencies 2024-07-07 13:09:31 +01:00
Einar Johan Trøan Sømåen d099ff71dc CREATE_PROJECT: Add ImgUi support in create_project 2024-07-07 10:17:20 +02:00
Eugene Sandulenko 1033d8ce68 CREATE_PROJECT: Added missing License files 2024-05-22 21:59:00 +02:00
SupSuper 5216d4c399 CREATE_PROJECT: Add option to disable static detection 2024-04-27 12:13:00 +01:00
Orgad Shaneh 58c6eb9bff DEVTOOLS: Raise minimum cmake version to 3.13
Versions less than 3.5 are deprecated. The generated cmake has
minimum version 3.13 too.
2024-04-25 01:06:08 +02:00
Orgad Shaneh 4fa89cd73d CREATE_PROJECT: Move resource embeds from MSVC to general project
It is also needed for CMake project.

Amends commit 4dc9ef2771.
2024-03-21 18:06:01 +02:00
Orgad Shaneh b096814b0d CREATE_PROJECT: Inline member initialization 2024-03-16 21:44:08 +02:00
elasota 4dc9ef2771 DISTS: Move engine data defs to dedicated files 2024-02-27 17:12:15 +01:00
polyesterswing 15a9c63565 AUDIO: Add libopenmpt support 2024-02-21 18:45:25 +01:00
SupSuper c2d63ba044 CREATE_PROJECT: Fix opengl_game_shaders feature flag 2024-02-20 10:03:46 +00:00
sluicebox a5c6d43d59 CREATE_PROJECT: Fix crash when all engines disabled 2023-12-31 02:41:35 -08:00
elasota 92cae5cdfc DEVTOOLS: Fix create_lure and create_titanic not compiling in Visual Studio 2023-12-22 19:22:55 +02:00
Eugene Sandulenko 91c04fa311 DISTS: Rename cloud_connection.zip to helpdialog.zip and add it to the dist lists 2023-12-16 21:09:36 +01:00
Martin Gerhardy 1827d03ff8 CREATE_PROJECT: use windows subsystem setting for cmake, too
see 335f90b136
2023-12-14 18:00:49 +01:00
Martin Gerhardy 3e0b701d06 CREATE_PROJECT: pass-by-reference 2023-12-14 18:00:49 +01:00
Thierry Crozat 95a060e4fe AUDIO: Add a basic soundfont for fluidsynth
The soundfont was already included in the Libretro port. It is
now included in all platforms.
2023-12-03 16:17:32 +00:00