Commit graph

282 commits

Author SHA1 Message Date
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
Donovan Watteau
db9f13d475 CREATE_PROJECT: Add libmikmod support 2023-04-10 20:14:22 +02:00
Donovan Watteau
5c2a6c17f2 CONFIGURE: Define USE_SDL2 in the preprocessor when found 2023-03-09 01:30:34 +01:00
Donovan Watteau
37e3146f49 JANITORIAL: CREATE_PROJECT: Fix a small typo 2023-03-07 13:52:18 +01:00
Little Cat
c16244a23a BACKENDS: ENET: Compile stable 1.3.17 source. 2023-03-06 00:07:13 +01:00
Little Cat
1a50e10a83 BACKENDS: ENET: Now compiles and works on MSVC. 2023-03-06 00:07:13 +01:00
Eugene Sandulenko
10dda78ecc
DISTS: Include MKV license in distribution packages 2023-03-05 21:47:13 +01:00
Eugene Sandulenko
53163f427a DEVTOOLS: Added libvpx support to create_project 2023-03-05 21:29:03 +01:00
elasota
843776dd85 DEVTOOLS: Promote numerous VS warnings to errors.
Changes the following warnings to errors:
C4701: potential use of uninitialized local variable
C4703: potential use of uninitialized local pointer
C4456: declaration hides previous local declaration
C4003: not enough arguments for function-like macro invocation
C4840: use of non-trivial class as an argument to a variadic function
C4805: unsafe mix of bool and int in a numeric operation or comparison
C4305: truncation of double to float or int to bool
C4366: address taken of unaligned field and used as an aligned pointer
C4315: object constructed into an unaligned field with a constructor that expects it to be aligned
2022-12-25 16:31:57 +01:00
Cameron Cawley
fd123d6679 COMMON: Split compression and formats into separate modules 2022-12-11 22:33:23 +01:00