Commit Graph

671 Commits

Author SHA1 Message Date
Le Philousophe 96be501f58 CREATE_PROJECT: Remove useless attribute from ProjectProvider
Move it to MSVC where it's really needed.
2025-11-20 20:25:37 +01:00
Le Philousophe 9a38c499aa CREATE_PROJECT: Minor cleanups on Xcode generator
Stay consistent between NASM and other defines.
Don't remove defines already removed.
2025-11-20 20:25:37 +01:00
Michael 7a23b2e3ab CREATE_PROJECT: add support for Visual Studio 2026 2025-11-12 13:22:59 +02:00
Le Philousophe 015293bc2e CREATE_PROJECT: Build engines plugins table in tests
This is needed to finish the build.
2025-11-02 15:27:28 +01:00
Le Philousophe 1aad68f13c CREATE_PROJECT: Avoid include conflicts for tests
Move test runner null OSystem implementation in subfolders.

MSVC resolves relative includes using the including file but also the
including parents. This leads to clashes when including the code under
test from the runner or the null system code.

By moving everything inside their own folder, the clash is avoided as
relative paths don't resolve anymore from there.
2025-11-02 15:27:28 +01:00
Le Philousophe 0798cc7c92 CREATE_PROJECT: Fix cxxtestgen.py invocation 2025-11-02 15:27:28 +01:00
Helco 87fba6a395 CREATE_PROJECT: Keep components for test project enabled 2025-11-02 15:27:28 +01:00
Helco ec7e4a9d79 CREATE_PROJECT: Fix encoding.dat not being copied for MSVC tests project 2025-11-02 15:27:28 +01:00
Helco ff23782647 CREATE_PROJECT: Remove base-backend.cpp from MSVC test project 2025-11-02 15:27:28 +01:00
Helco b0e2d1e3ba CREATE_PROJECT: Fix null_osystem.cpp missing for MSVC tests project 2025-11-02 15:27:28 +01:00
Helco 26c023bf1d CREATE_PROJECT: Do not use TESTS definition within if blocks 2025-11-02 15:27:28 +01:00
Helco 950385eac6 CREATE_PROJECT: Fix paths in pre/post-build commands 2025-11-02 15:27:28 +01:00
Helco 2fc2ad76a3 CREATE_PROJECT: Use VcPkg manifests on MSVC >= 17 2025-11-02 15:27:28 +01:00
Le Philousophe 14a78e4eaf NETWORKING: Abstract CurlSocket and CurlURL
This will allow alternative providers.
2025-11-02 09:12:23 +01:00
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
Donovan Watteau d6276aab76 CREATE_PROJECT: Add /opt/homebrew to Xcode header and lib paths
/opt/homebrew is the default prefix used by Homebrew on Apple Silicon.

See:
https://docs.brew.sh/Installation
2025-07-14 13:52:25 +02:00
SupSuper 3cfaa9506e CREATE_PROJECT: Add support for SDL3 2025-06-15 23:26:58 +03:00
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