Commit Graph
291 Commits
Author SHA1 Message Date
Paweł Kołodziejski 04ace45b51 DEVTOOLS: Added tinygl option feature 2025-09-28 22:29:51 +02:00
Eugene Sandulenko b65cf24c0e "ALL: Remove unused GNU FreeFont files
This reverts commit 01039f8aba.
2025-09-12 14:00:40 +02:00
Eugene Sandulenko 01039f8aba Revert "ALL: Remove unused GNU FreeFont files"
This reverts commit 4aece3f785.
2025-09-12 13:40:28 +02:00
Cameron Cawley 4aece3f785 ALL: Remove unused GNU FreeFont files 2025-09-07 00:00:04 +02:00
Le Philousophe 57df0a6049 BACKENDS: Untangle networking USE flags
A new USE_HTTP define is created to indicate that an HTTP backend is
available (using either libcurl or emscripten platform).
USE_CLOUD now only builds cloud providers storage support, while
USE_SDL_NET determines if a local web server is built.
USE_LIBCURL is now only used when the feature really depends on libcurl
(that is lobby support for Scumm HE).
2025-08-13 18:38:54 +02:00
Donovan Watteau 5bf1a12082 BUILD: Effectively drop support for MSVC < 2015
It's been documented on the wiki for nearly 3 years that MSVC 2015 is
the oldest MSVC release being supported.

AFAICS no-one is actively using any older version nowadays, and C++11
support in MSVC 2013 is incomplete anyway:
https://learn.microsoft.com/en-us/previous-versions/hh567368(v=vs.140)

This means that some old MSVC hacks can be dropped now (not touching
any vendored or generated code having such hacks, though).
2025-07-26 08:24:33 +03:00
SupSuper 3cfaa9506e CREATE_PROJECT: Add support for SDL3 2025-06-15 23:26:58 +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
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
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
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
Michael 5e5a3fa4c2 CREATE_PROJECT: add missing newlines to help text 2024-08-29 17:51:01 +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 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
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
Martin Gerhardy 3e0b701d06 CREATE_PROJECT: pass-by-reference 2023-12-14 18:00:49 +01:00
sluicebox 335f90b136 CREATE_PROJECT: Set MSVC default subsystem to CONSOLE
MSVC builds now use the CONSOLE subsystem by default,
just like all our other Windows builds.

--use-windows-subsystem is now available to generate
projects with the WINDOWS subsystem.
2023-11-15 14:32:27 -08:00
elasota 667cb63823 DEVTOOLS: Add precompiled header support to MSBuild/MSVC. 2023-09-29 21:37:10 +01:00
Walter Agazzi d117a48aaf DISTS: Keep Catharon license original naming 2023-09-03 22:27:43 +02:00
Walter Agazzi ab6b7b0360 DISTS: Add Catharon license and include in builds 2023-09-03 22:27:43 +02:00
Lars Sundström 76af53dc7f CREATE_PROJECT: Define SCUMMVM_NEON for iphoneos and tvos
Add the definition of SCUMMVM_NEON in create_project for the iOS
and tvOS targets. Do not add the same definition to corresponding
simulators since they can run on x86_64 hosts, which for obvious
reasons lacks support for NEON.
2023-09-03 22:26:37 +02:00
elasota bf3e902864 CREATE_PROJECT: Quiet VS "structure was padded due to alignment specifier" warning 2023-08-04 18:35:21 +02:00
sluicebox e62200161b CREATE_PROJECT: Fix msvc warning 2023-07-22 13:08:48 -07:00
elasota b24d281748 CREATE_PROJECT: Add --libs-path command line parameter that can be used in place of setting the SCUMMVM_LIBS environment var 2023-05-14 23:04:04 +03:00
SupSuper e396d34320 CREATE_PROJECT: Remove deprecated --use-canonical-lib-names
It's always the default
2023-04-29 13:16:08 +02:00
SupSuper d71a717b87 CREATE_PROJECT: Add --vcpkg option to MSVC generation 2023-04-29 13:16:08 +02:00
Einar Johan Trøan Sømåen 0c4190679f BUILD: Add support for flagging opengl_game_classic as an engine dep. 2023-04-29 13:01:08 +02:00
elasota 36be0befad CREATE_PROJECT: Exclude MT32Emu source files if the feature is disabled. 2023-04-29 12:15:50 +02:00
Walter Agazzi a6fa65e87a CREATE_PROJECT: Add option to use XCFramework in iOS, tvOS and macOS
The introduction of Apple M1 processor, which is based on the arm64
architecture, makes it impossible to use fat static libraries for iOS
and tvOS since building libraries for the simulators targeting the
arm64 architecture conflicts with the iOS and tvOS native arm64
libraries. It's not possible to have two arm64 libraries targeting
different platforms in the same fat library.

Apple resolves this problem with XCFrameworks. Each XCFramework
contain an Info.plist specifying which platforms and architectures it
targets.

The new iOS and tvOS library package, scummvm-ios7-libs-v3, utilize
the XCFramework format and includes pre-compiled libraries for both
iOS and tvOS with corresponding simulator.

Add the option to use XCFramework in create_project by passing the
switch '--use-xcframework'

Implement support to use XCFrameworks for iOS, tvOS and macOS. If not
passing '--use-xcframework' to create_project, legacy behaviour is
applied.

This commit also add support for mikmod for tvOS.
2023-04-24 22:34:55 +02:00