Commit Graph

34 Commits

Author SHA1 Message Date
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