Commit graph

558 commits

Author SHA1 Message Date
neuromancer
1c763a01f9 FREESCAPE: renamed shaders filenames and added them into shader.dat 2023-07-03 22:18:13 +02:00
SupSuper
21d16f2124 CREATE_PROJECT: Remove deprecated --use-canonical-lib-names
It's always the default

# Conflicts:
#	devtools/create_project/msvc.cpp
2023-07-01 19:24:55 +01:00
SupSuper
0a11d0c81d CREATE_PROJECT: Add --vcpkg option to MSVC generation 2023-07-01 19:13:20 +01:00
Lars Sundström
811bb45997 CREATE_PROJECT: Set bitcode as disabled as default in Xcode
Apple never required bitcode to be enabled and with Xcode 14
bitcode is deprecated.

Set bitcode to disabled for iOS and tvOS projects. Else it will
be default on and give a build error due to the libraries in
scummvm-ios7-libs-v3 doesn't include bitcode.
2023-05-06 10:20:45 +02:00
Thierry Crozat
f1f808f7a4 IOS7: Remove support for non-sandboxed mode 2023-04-27 21:43:40 +01:00
Walter Agazzi
5bc748a659 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-27 21:35:02 +01:00
Lars Sundström
a836661511 CREATE_PROJECT: Add Apple TV OS XCode target
Add Apple TV OS as a new target to the xcode project creator utility.
Make sure that TV OS specific files are not part of the iOS and macOS
targets and the other way around.
The TV OS project will utilize the same source code files as the iOS
project but will instead use the tvos dist files.
2023-04-27 21:14:19 +01:00
Eugene Sandulenko
7031d5f404
DEVTOOLS: Add missing freescape.dat to Xcode project 2023-03-17 11:32:15 +01:00
Lars Sundström
624d9782a5 CREATE_PROJECT: Add Accelerate framework to iOS and tvOS
Add Apple Accelerate framework to iOS and tvOS targets. The framework
utilizes NEON extensions on the ARM chip to accelerate calculations.
This will come to use when processing texture data.
2023-02-12 09:35:48 +01:00
sluicebox
a46321363f
CREATE_PROJECT: Set Xcode MACOSX_DEPLOYMENT_TARGET 2023-02-05 23:12:46 +01:00
Lothar Serra Mari
7c18fd44c3 MACOSX: Add shaders.dat datafile to resource list 2023-01-22 18:47:18 +01:00
Martin Gerhardy
ac094c6868 CREATE_PROJECT: only specify those cmake parameters for find_feature, that are really used 2023-01-15 12:02:47 +02: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
Donovan Watteau
700a8071e5 BUILD: Check if there's an fseeko/ftello with 64-bit off_t
Some systems have fseeko but you need to check that off_t is a 64-bit
value (and this requires some magic incantation on some platforms),
others need fseeko64(), Windows has a different symbol, and then some
systems only have an fseek() that's limited to <2GB files.

This is a first step in trying to improve this.
2022-12-11 21:48:33 +01:00
Donovan Watteau
78fc47552d CREATE_PROJECT: Disable Xcode GCC_WARN_64_TO_32_BIT_CONVERSION on macOS too
This is an equivalent to -Wno-shorten-64-to-32 which we already use in
the regular configure build system, and for iOS Xcode builds.
2022-11-17 00:42:57 +02:00
Cameron Cawley
ed9c052d57 COMMON: Split Lua into a separate module 2022-11-16 22:45:26 +02:00
Orgad Shaneh
eef62b8b41 CREATE_PROJECT: Fix condition for warning suppression
It should not include e.g. GCC 11.2.
2022-10-27 10:19:17 +03:00
Orgad Shaneh
246a062950 CONFIGURE/CREATE_PROJECT: Silence address-of-packed-member GCC 12 warning
It appears a lot, and these casts are intentional and look safe.

Example:
../scummvm/engines/glk/alan3/actor.cpp: In function 'Glk::Alan3::ScriptEntry* Glk::Alan3::scriptOf(int)':
../scummvm/engines/glk/alan3/lists.h:35:52: warning: converting a packed 'Glk::Alan3::ScriptEntry' pointer (alignment 1) to a 'Glk::Alan3::Aword' {aka 'unsigned int'} pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
   35 | #define isEndOfArray(x) implementationOfIsEndOfList((Aword *) (x))
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
../scummvm/engines/glk/alan3/actor.cpp:38:84: note: in expansion of macro 'isEndOfArray'
   38 |                 for (scr = (ScriptEntry *) pointerTo(header->scriptTableAddress); !isEndOfArray(scr); scr++)
      |                                                                                    ^~~~~~~~~~~~
In file included from ../scummvm/engines/glk/alan3/actor.h:25,
                 from ../scummvm/engines/glk/alan3/actor.cpp:22:
../scummvm/engines/glk/alan3/acode.h:453:8: note: defined here
  453 | struct ScriptEntry {    /* SCRIPT TABLE */
      |        ^~~~~~~~~~~
2022-10-27 02:26:02 +03:00
Lars Sundström
4133cf4b9f IOS7: Add GameController capability
Add the GameController framework to the project and enable support for
controller user interaction in the Info.plist file. This allows for
Game Controller compatible devices to notify the application when
connected.

Add GameController framework to configure and ports.mk if not using
Xcode to build the target.
2022-08-08 21:08:56 +01:00
sluicebox
da8dbea44b CREATE_PROJECT: Restrict /Zc:__cplusplus to newer MSVC
Fixes compiler warnings on older versions that don't support this
2022-06-06 17:32:50 -04:00
sluicebox
924f208a03 CREATE_PROJECT: Text console debugger optional on Xcode
Prior to this, create_project always set USE_TEXT_CONSOLE_FOR_DEBUGGER on Xcode.
This was hard-coded behavior that I should have removed when I added configuring
this feature on the command line in 8c32927f39

Now it's disabled by default and can be enabled by --enable-text-console, just
like the other projects.
2022-05-20 23:43:59 -04:00
elasota
5f0c6fa4d0 CREATE_PROJECT: Add /Zc:__cplusplus so __cplusplus macro matches C++ feature level 2022-05-13 10:22:21 +03:00
elasota
22b72dba52 COMMON: Remove BasePtr base class from SharedPtr and WeakPtr. Fix missing refCount method in SharedPtr. 2022-04-25 18:20:19 -07:00
elasota
bd23944fd1 COMMON: Fix SharedPtr natvis 2022-04-25 18:20:19 -07:00
SupSuper
601d9dc7d4 CREATE_PROJECT: Warning flag -Wall already includes -Wimplicit 2022-04-25 06:59:13 +01:00
SupSuper
18ebbdcf99 CREATE_PROJECT: Don't add GCC warnings to MSVC CMake 2022-04-25 06:46:28 +01:00
SupSuper
d2ad40a7a1 CREATE_PROJECT: Fix missing prefix in CMake engines 2022-04-25 06:28:40 +01:00
Filippos Karapetis
ec16ebbf96 Revert "SCUMM: Refactor the workaround for the broken sample in Indy4"
This reverts commit c59df76164.
2022-04-16 14:25:51 +03:00
Filippos Karapetis
c59df76164 SCUMM: Refactor the workaround for the broken sample in Indy4
This makes the workaround code more self-contained
2022-04-16 14:23:02 +03:00
Paweł Kołodziejski
8b6df2de29
DEVTOOLS: XCode: Update iOS deployment version 2022-03-11 17:24:13 +01:00
Orgad Shaneh
34d3841269 CREATE_PROJECT: Fix cmake project with opengl enabled
Compliments 04b1ce5a6e.
2022-03-07 14:42:52 +02:00
Paweł Kołodziejski
2ac26ade3e
DEVTOOLS: Xcode project: Add shaders files only for specific enabled engines 2022-03-07 11:08:57 +01:00
Paweł Kołodziejski
b21a081f2c
DEVTOOLS: Added shader files to Xcode project 2022-03-06 23:30:02 +01:00
Orgad Shaneh
c02abd2967 CREATE_PROJECT: Simplify engines part
Create a function add_engine which handles everything for the engine, and
remove redundant conditions all over the project file.
2022-03-05 21:39:08 +02:00
Orgad Shaneh
097b543c6c CREATE_PROJECT: Replace c++0x with c++11 in Xcode generator 2022-03-05 21:34:01 +02:00
Paweł Kołodziejski
fbd6b1ceed
DEVTOOLS: Skip 'openglsdl' directory for iOS Xcode project 2022-03-04 19:22:17 +01:00
NMIError
221fa4c841
AUDIO: Add support for RetroWave OPL3
This commit adds support for the SudoMaker RetroWave OPL3 sound card. Requires
the retrowave library.

Add the following settings to scummvm.ini:
retrowaveopl3_bus=serial
retrowaveopl3_port=<port> f.e. COM3 or ttyACM0
2022-01-29 17:33:29 +01:00
Le Philousophe
04b1ce5a6e CREATE_PROJECT: Make OpenGL features consistent with configure 2022-01-18 16:49:03 +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
Orgad Shaneh
c20f81e430 CREATE_PROJECT: Sparkle override/final 2022-01-14 12:53:21 +02:00
Orgad Shaneh
be1e3a011a CREATE_PROJECT: Use range-based for in cmake generator 2022-01-14 08:35:31 +02:00
Orgad Shaneh
cf32f6a497 CREATE_PROJECT: Leverage C++11 string literals for cmake generator 2022-01-14 06:02:13 +02:00
Orgad Shaneh
56495448b2 CREATE_PROJECT: Enable C++11 2022-01-14 06:02:13 +02:00
Orgad Shaneh
f7d528e1b8 DEVTOOLS: Fix link in cmake project with tts enabled 2022-01-12 23:42:41 +02:00
Orgad Shaneh
1d080331a4 DEVTOOLS: Bump minimum cmake version to 3.13
This mutes the following warning:
CMake Warning (dev) at CMakeLists.txt:1581 (target_sources):
  Policy CMP0076 is not set: target_sources() command converts relative paths
  to absolute.  Run "cmake --help-policy CMP0076" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

  An interface source of target "scummvm" has a relative path.
This warning is for project developers.  Use -Wno-dev to suppress it.
2022-01-12 23:41:38 +02:00
Le Philousophe
52dcac9fc6 CREATE_PROJECT: Fix theoradec feature name
This is needed by sword25
2022-01-09 17:28:17 +01:00
Le Philousophe
0011ad97cb CREATE_PROJECT: Add a warning when the feature is not found 2022-01-09 17:28:17 +01:00
Henrik "Henke37" Andersson
8119ae19c0 CREATE_PROJECT: Fix feature name for freetype
The name was inconsistent with the main build system
2022-01-09 18:27:24 +02:00