Commit Graph

44 Commits

Author SHA1 Message Date
ptitSeb
804522b8fb Added ccache support in cmake project 2019-03-31 16:42:20 +02:00
ptitSeb
4720b55ca5 Need a dependencie on the libengine_safemath 2017-05-20 00:18:13 +02:00
ptitSeb
0731a9d79a More fast-math experiment on Pandora 2017-05-19 23:42:33 +02:00
ptitSeb
ad81a5606a Improvements and fixes to Pandora fast-math 2017-04-17 14:52:58 +02:00
ptitSeb
ae30b8b4de Experimental fast-math for Pandora 2017-04-17 13:11:58 +02:00
Emil Laine
4b0e01145e Fix warning -Wtautological-undefined-compare
Quoting Clang:
"reference cannot be bound to dereferenced null pointer in well-defined
C++ code; comparison may be assumed to always evaluate to false"

Conflicts:
	Sources/CMakeLists.txt
2016-05-30 00:55:15 +02:00
Emil Laine
13ba79ea5f Remove unneeded -Wno-sign-compare
(I didn't receive any warnings after enabling -Wsign-compare.)

Conflicts:
	Sources/CMakeLists.txt
2016-05-30 00:49:57 +02:00
Daniel Gibson
b64df456b6 Fix TFE warnings and lots of unused variable warnings
.. still, didn't look at unused variable warnings from *.es because
so many are generated.
2016-05-09 18:51:04 +02:00
Daniel Gibson
dbe524f0b2 Fix more warnings, mostly about logical op parenthesis (TSE only)
except for EntitiesMP/Fish.es which I'm not sure about, and in
Computer.cpp the weird "if (_iActiveMessage < _acmMessages.Count()==0)"
construct whichs intention I didn't fully grasp, either.
2016-05-09 18:51:03 +02:00
Daniel Gibson
72edf1c720 Commented out unused functions and variables
many unused functions and variables are now commented out

You'll still get tons of warnings, which should mostly fall in one of
the following categories:
1. Unnecessary variables or values generated from .es scripts
2. Pointers assigned to from functions with side-effects: DO NOT REMOVE!
   Like CEntity *penNew = CreateEntity_t(...); - even if penNew isn't
   used, CreateEntity() must be called there!
2016-05-09 18:51:03 +02:00
Daniel Gibson
bee4102374 Fix several warnings, warn if not using depth buffer
Fixed -Wreorder warnings (hopefully the last?), also several potentially
uninitialized variables.

In SetupPixelFormat_OGL() Assert if gap_iDepthBits ends up being 0.

Small adjustments to cmake warning settings for gcc/clang
2016-05-09 18:48:39 +02:00
notaz
ff57a29e0f make separate option for using nasm asm
Other asm is now enabled by default again, since asm blocks are now
smarter and won't fail to compile on non-i386 platforms.
2016-04-25 00:14:29 +03:00
Daniel Gibson
1f23f37b36 CMakeLists.txt: suppress some warnings also for gcc, not only clang
also, check for AppleClang, not only Clang.
2016-04-22 04:27:29 +02:00
Daniel Gibson
2a58209487 Some cmake fixes, fixing OSX build (incl 64bit) + disable i386ASM by default
OSX build was a bit broken, it needs to be linked against zlib.
Furthermore it now uses the systems libSDL2 framework, unless you use
-DUSE_SYSTEM_SDL2=FALSE

i386 ASM is now disabled by default, we have plain C fallbacks for
everything that seems to work well enough (and if not they need more
testing which is likely to happen this way)
2016-04-21 17:40:42 +02:00
Salamanderrake
9477af7bfa CMakeLists.txt: Applied some changes Ryan wanted with the c/cxx flags. 2016-04-19 18:16:45 -04:00
Salamanderrake
380bade7c0 CMakeLists.txt: BMS, Added a small explanation about the default CMAKE_INSTALL_PREFIX 2016-04-19 04:43:59 -04:00
Salamanderrake
90a614b03c CMakeLists.txt: Added an install section and fixed permissions issues with libraries. 2016-04-19 04:41:55 -04:00
Salamanderrake
b7c49d4e51 CMakeLists.txt: Some cleanup and removing redundent lines from the CMakeLists.txt file. 2016-04-19 04:41:55 -04:00
Salamanderrake
86b487df9e CMakelists.txt: Removed my attempt at making Engine a static lib again. plus other small cmake fixes 2016-04-19 04:41:55 -04:00
Salamanderrake
836a4abc43 CMakeLists.txt: Redid the section on c/cxx flags to sepereate them
so you can have c++ only flags along with c only flags
	fore their respective .c/.cpp builds without conflict.
2016-04-19 04:38:55 -04:00
Daniel Gibson
80990f2317 Fix some more warnings, Warning about supressed warnings in cmake 2016-04-18 19:10:52 +02:00
Daniel Gibson
78ab018fde CMakeLists.txt: output lib* to Debug/ subdir; suppress more warnings
ssam expects lib* to be in the Debug subdir, so make cmake put it there,
this way it's easier to copy the binaries to your install/Bin/ dir to
test.
clang gives a lot of -Wlogical-op-parentheses warnings, suppress them.
2016-04-18 00:56:21 +02:00
Ryan C. Gordon
dc2c869cfc Merge pull request #24 from ptitSeb/master
More OpenPandora support (special keymap) and optionnal Multi-Threading.
2016-04-15 14:52:56 -04:00
Ryan C. Gordon
d66559abfa Merge pull request #23 from Yamagi/freebsd
Add Freebsd support
2016-04-15 13:07:29 -04:00
Steven Chamberlain
1a7ec841cb Export symbols of main executables for shared libs
Set the ENABLE_EXPORTS property on the main executables, which adds
linker flag -rdynamic if the compiler supports it.  This ensures symbols
are available for dynamic objects (such as shared libEntitiesMPD.so) to
use.
2016-04-13 02:00:21 +01:00
ptitSeb
9678ec3e58 Enabled Multi-Threading (as an option) + OpenPandora specific changes (for Shoulder As Mouse Buttons) 2016-04-12 22:29:39 +02:00
Yamagi Burmeister
08dae0c605 Add FreeBSD defined to CMakeLists.txt
- Detect FreeBSD.
- Set both PLATFORM_UNIX and PLATFORM_FREEBSD. The latter is required to
  distinguish FreeBSD from other unixoid platforms like Linux.
- On FreeBSD 3rd party libs are installed to /usr/local, we need to add
  /usr/local/include as include directory.
- Add linker options for FreeBSD. FreeBSD has no -ldl.
2016-04-12 19:26:58 +02:00
Ryan C. Gordon
df6199de70 Merge pull request #19 from rcgordon/sdl2-port
Sdl2 port
2016-04-12 01:38:05 -04:00
Salamanderrake
df16878e0e FindSDL2.cmake: Added module to help find system libraries for SDL2
CMakeLists.txt: Modified to link system wide SDL2 libraries and link to
	system wide headers
SplashScreen.cpp: commented out as its post SDL2.0.4 >> SDL_WINDOW_SKIP_TASKBAR
2016-04-12 01:21:25 -04:00
Ryan C. Gordon
927c44e9d8 Look for SDL2 libraries; I don't think this is right yet, though. 2016-04-10 00:54:23 -04:00
Ryan C. Gordon
6ce0b9b27e First attempt at a port to SDL2. Untested! 2016-04-09 02:18:57 -04:00
ptitSeb
422db3c58c Preliminary First Encounter support 2016-04-08 00:11:36 +02:00
Ryan C. Gordon
91827e7d2a Define PLATFORM_PANDORA instead of PANDORA, to match other targets. 2016-04-06 13:40:08 -04:00
ptitSeb
ebb70977ea ASM is now an Option, and so is Pandora build. Tremor can be used instead of Vorbis, and the binary is rename to ssam to avoid collision in name for inplace compiling 2016-04-06 13:31:53 +02:00
Ryan C. Gordon
9581eeb02a Let CMake file use a pre-built copy of ECC.
This help cross-compilation. You can do something like this now, to get a
native ECC that runs on the build machine, then build the rest for the
cross-compile target system:

rm -rf cmake-build-ecc
mkdir $_
cd $_
cmake ..
make ecc
cd ..

rm -rf cmake-build
mkdir $_
cd $_
cmake -DECC=/wherever/SeriousEngine/Sources/cmake-build-ecc/ecc ..
make
2016-04-05 12:06:18 -04:00
Steven Chamberlain
26f1a33749 Building on GNU/kFreeBSD and possibly Hurd
* Only use ENOSR and ENOPKG if defined

ENOSR and ENOPKG are part of the POSIX optional STREAMS extension, and
are not available on most other platforms than GNU/Linux.

* Support building on other GNU platforms than Linux

Build for other GNU platforms the same way as Linux:  this includes
CMAKE_SYSTEM_NAME "GNU" (GNU/Hurd) and "GNU/kFreeBSD" (GNU/kFreeBSD).
2016-04-04 20:34:34 -04:00
Ryan C. Gordon
5ba4bccabd Backed out the splitting up of SeriousSam/Menu.cpp 2016-04-04 16:09:41 -04:00
Ryan C. Gordon
f35e86661e Moved Ogg Vorbis files to the "External" directory, plugged into CMake project. 2016-04-04 02:43:12 -04:00
Ryan C. Gordon
a7e4f8237e Patched to compile on Linux, and cleaned out almost all compiler warnings. 2016-04-04 02:34:07 -04:00
Tan Wang Leng
33a3bda3e3 Fix missing endif() 2016-04-02 22:55:53 -04:00
Salamanderrake
cdcf6afc34 Sources/CMakeLists.txt: Added missing find_packge(SDL REQUIRED) to link in the SDL1.2 libraries via ${SDL_LIBRARY} generate variable
and added to the target_link_libraries for SeriousSam and SeriousSamDedicated. I don't know not linking the SDL library was

	the intended outcome but SeriousSam* was failing to link to libSeriousEngine.a.
2016-04-02 22:33:11 -04:00
Ryan C. Gordon
a96fe8de8b Patched to compile on Linux.
(The EntitiesMP and/or GameMP libraries need symbols exported from the main
binary, but when we built the engine as a static library to reuse it between
the client and server, the Linux linker stripped out symbols those libraries
needed. If we can force these symbols to remain, or maybe move to shared
library..? then we can avoid building the engine sources twice to get the
dedicated server too. For now, though...good enough!)
2016-04-02 21:55:48 -04:00
Ryan C. Gordon
74a7321a7f Don't do the Mac policy for now, it upsets pre-3.0 CMake.
I don't want to bump requirements to CMake 3 yet.
2016-04-02 21:54:38 -04:00
Ryan C. Gordon
d02a7a41c4 Added CMake and a simple Mac build script, and nuked the awful old Makefile. 2016-04-01 15:17:23 -04:00