Commit graph

65 commits

Author SHA1 Message Date
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
60104f3311 CREATE_PROJECT: Disable components when they are not needed 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
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
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
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
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
18ab6803d6 JANITORIAL: Fix various "an" typos in comments 2023-03-16 14:47:28 +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
Orgad Shaneh
7998025b98 CREATE_PROJECT: Centralize toUpper 2022-01-18 09:24:29 +02:00
Orgad Shaneh
aa24872dc6 CREATE_PROJECT: Accept std::ostream in writeFileListToProject 2022-01-14 12:53:21 +02:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
sluicebox
16bf767de3 CREATE_PROJECT: Add --include-dir and --library-dir
Additional include and library directories can now be added.

This is most useful to Xcode Mac projects where a vanilla Homebrew setup
requires manually adding five directories through the Xcode UI and then
repeating that every time the project needs to be regenerated.

Now create_project can be scripted to regenerate a working Mac project
without any extra Xcode steps.
2021-11-06 19:08:06 -05:00
sluicebox
2bca5da803 WIN32: Make UNICODE the default build configuration 2021-07-14 18:41:02 -05:00
sluicebox
1f253b805c CREATE_PROJECT: Add --use-windows-unicode 2021-06-29 12:38:01 -05:00
Donovan Watteau
5a78e1350b CREATE-PROJECT: Provide a stub for "override" to older compilers
msbuild.h makes uses of the "override" keyword, so borrow the compat
macro from c++11-compat.h to make this work on older compilers,
such as the ones found on Mac OS X Leopard.
2021-02-09 13:33:56 -08:00
Henrik "Henke37" Andersson
ad09e09af5 CREATE-PROJECT: easy access to named features 2020-11-12 00:54:06 +00:00
SupSuper
b0bc795999 CREATE_PROJECT: Don't include files with the same name but different paths 2020-11-11 10:24:59 +00:00
SupSuper
e9b3974ff8 CREATE_PROJECT: Replace duplicate filename check with unique object files 2020-11-11 04:12:36 +00:00
Martin Gerhardy
7be30d492b CREATE_PROJECT: fixed cmake generator
* Support for pkg-config was added
* Shortened the CMakeLists.txt by more than 4000 lines
* Added macro for feature detection
* Configure stage is reporting missing libs as error now (they were reported as compile errors during the build before)
* Link the scummvm-detection lib (this was missing before)
* Added missing defines like DETECTION_STATIC and USE_SDL2
* Group impl and header files in src file list to shorten the cmake script
* Unified indention for generated script
2020-11-08 11:30:25 +01:00
Henrik "Henke37" Andersson
803d8f1ba5 CREATE_PROJECT: Put detection in a separate project
Keeps the main project clean and is a prerequisite for loading detection as a plugin
2020-11-03 07:10:13 +00:00
aryanrawlani28
58a9de8092 DEVTOOLS: CREATE_PROJECT: Use map instead of unordered_map
- No C11 support yet, revert to use map to fix build
2020-10-03 14:56:36 +02:00
aryanrawlani28
de56694f53 DEVTOOLS: CREATE_PROJECT: Support static detection features
- This allows apps that use create_project to build with statically linked detection features.
- Also add support to write an addtional file - detection_tables.h inside engines/.
2020-10-03 14:56:36 +02:00
SupSuper
59d9975912 CREATE_PROJECT: Remove obsolete BuildSetup libraries property
Every generator manages their libraries, so this is no longer used
2020-08-20 23:54:32 +02:00
Michał Janiszewski
bb9dddcd04 CREATE_PROJECT: JANITORIAL: Apply code formatting 2020-07-15 15:30:55 +02:00
SupSuper
7a5c4e6121 CREATE_PROJECT: Remove C++11 2020-07-15 15:30:55 +02:00
Michał Janiszewski
c763e56d57 CREATE_PROJECT: Address review comments 2020-07-15 15:30:55 +02:00
Michał Janiszewski
3d3b0124ad CREATE_PROJECT: Make MSVC project understand more architectures 2020-07-15 15:30:55 +02:00
Michał Janiszewski
a23b1789db CREATE_PROJECT: Add ability to remove feature from setup 2020-07-15 15:30:55 +02:00
Michał Janiszewski
0de86d6fbf CREATE_PROJECT: Add option to use canonical library names
This allows for easier plugging in of alternative providers of libraries
2020-07-15 15:30:55 +02:00
SupSuper
558b07584e CREATE_PROJECT: Use name-based UUIDs for MSVC projects
This keeps the project UUIDs consistent between regenerations,
avoiding excessive workspace reloads.
2019-06-19 00:15:48 +03:00
SupSuper
fd0d65496e CREATE_PROJECT: Auto-detect Visual Studio version if not specified
This removes the need for separate scripts for every version
2019-04-20 07:47:25 -04:00
SupSuper
5c0529abc2 CREATE_PROJECT: Refactor Visual Studio version differences
Moved most generation differences to a MSVCVersion class, makes it
easier to support new versions without tracking down if-checks everywhere.
2019-04-20 07:47:25 -04:00
SupSuper
3091345af3 MSVC: Update post-build installer for Inno Setup 2018-12-23 18:39:06 +02:00
Cameron Cawley
8fa2f90a26 CREATE_PROJECT: Support building with Tremor instead of Vorbis 2018-11-27 22:58:02 +00:00
Adrian Frühwirth
cee4d6b853 JANITORIAL: Fix trailing whitespace 2018-05-24 15:30:55 +02:00
Thierry Crozat
2f4d14aba5 CREATE_PROJECT: Disable engines for which required features are not available 2017-02-06 23:18:02 +00:00
Filippos Karapetis
c69eb82527 CREATE_PROJECT: Switch SDL backend to SDL2 by default
This adapts create_project with the changes in de04a68c06
2016-08-22 13:09:49 +03:00
Johannes Schickel
dfaf97dda7 DEVTOOLS: Improve SDL2 support in create_project.
This adapts MSBuild and XCode project generators to output project files which
can be used to build the SDL backend with SDL2 easily.
2016-03-24 01:26:05 +01:00
Johannes Schickel
567a6b4712 DEVTOOLS: Slight formatting fix. 2016-03-24 01:26:05 +01:00
Vincent Bénony
64f50761ec IOS: Merge master 2016-01-06 16:19:03 +01:00
Vincent Bénony
a8d65195ce IOS: Adds an helper function 2016-01-06 15:35:35 +01:00
Vincent Bénony
283eac7e5f IOS: Create a separate for adding resources 2016-01-06 15:35:32 +01:00
Johannes Schickel
84ac8fa735 DEVTOOLS: A few formatting fixes. 2015-12-12 06:54:58 +01:00