Commit graph

72 commits

Author SHA1 Message Date
dhewg
1597e6c3b3 Always link the Windows binaries against OpenGL
Just as with every other platform.
2018-08-20 01:46:30 +02:00
spiral
85a3a7089a Add ID_GAME_API for dllexport/attribute(visibility)
Delete obsolete Game.def exports files
2018-08-20 01:46:30 +02:00
spiral
f07999ecf2 VS Pro doesn't choose the right default like Express, so be explicit 2018-08-20 01:46:30 +02:00
dhewg
22637272dc Check for jpeg_mem_src()
This function only exists starting with libjpeg8.
Check for existence and provide an implementation if necessary.
This allows libjpeg6 to be used.

Code borrowed from libjpeg8, adapt copyright in README
accordingly.
2018-08-20 01:46:29 +02:00
dhewg
444da3574d Fix compiler checks for newer gcc versions
Use CXX instead of C checks - newer gcc versions refuse some
C++ flags when compiling C.
2018-08-20 01:46:29 +02:00
spiral
cceeb88948 CMake support for MSVC
Use the WIN32 flag for add_executable.
2018-08-20 01:46:29 +02:00
dhewg
975cda1637 Unify CPUID_FTZ and CPUID_DAZ
Get rid of the 2 CPUID flags and combine them with SSE in one
implementation.
SSE flags can now be set on all x86 and x86_64 platforms -
independent of -ffast-math.
Helper defines borrowed from STREFLOP.
2018-08-20 01:46:29 +02:00
dhewg
f1a7b426fe Port all thread related functions to SDL
Setting thread priorities has been dropped (it is not portable).
The background download thread now exits gracefully.
g_threads is not public anymore.
2018-08-20 01:46:29 +02:00
dhewg
efbd47f4bc Port critical sections and events to SDL
Use SDL mutexes and conditions.
One new critical section CRITICAL_SECTION_SYS for events.
2018-08-20 01:46:29 +02:00
dhewg
0a945baff1 Initial SDL setup
Use SDL_main on all platforms.
Fix main() for non-const argv so it matches with the SDL
prototype.
Adapt win32 WinMain() to main() and get rid of the win32 special
case in Common::Init().
2018-08-20 01:46:28 +02:00
dhewg
980937db1a Link MinGW binaries with -mwindows
mingw-w64 requires this when linking gui applications.
2018-08-20 01:46:28 +02:00
dhewg
c476c0b168 Get rid of -Wno-unknown-pragmas
Not required anymore.
2018-08-20 01:46:28 +02:00
dhewg
11b2cea993 Only compile idlib once
Build one static idlib and link the binaries against it.
2018-08-20 01:46:27 +02:00
dhewg
e8965eb6fb Move the game include directory to the build system
Don't include based on a preprocessor symbol, let the build
system make the correct decision.
2018-08-20 01:46:27 +02:00
dhewg
e9c9835bdf TypeInfoGen is standalone, don't compile/link it
Neither the core or the game libraries need it.
2018-08-20 01:46:27 +02:00
dhewg
260ddac543 Fix compilation of demo binaries
invalid conversion from ‘const char*’ to ‘char*’

There are no demo pk4 files available compatible to this 1.3.1
codebase. Add a note about it.
2018-08-20 01:46:27 +02:00
dhewg
a7b3b9fb0b Overwrite CMake default C[XX]FLAGS
CMake sets default flags for the standard build types.
We want to replace them, not merge them.

Reported by azalyn.
2018-08-20 01:46:27 +02:00
dhewg
e3f2666f32 Delete redundant files 2018-08-20 01:46:27 +02:00
dhewg
bc5f5c785a Get rid of all idAudioHardware implementations 2018-08-20 01:46:27 +02:00
dhewg
f21bda7f2a cmake: Get rid of "-m32" check
This doesn't work. Always add -m32 when X86 was set.
2018-08-20 01:46:27 +02:00
dhewg
2b446ddd28 Basic infrastructure to build with MinGW
Add WIN32 support to CMake (core and games, no dedicated for now).
Only use MFC when it is available.
2018-08-20 01:46:26 +02:00
dhewg
01e9547049 Add a CMake build system
Tested on FreeBSD, Linux, and a ghetto rigged OSX i686 cross
compiler.

Find[OGG|Vorbis|VorbisFile].cmake borrowed from osgAudio
2018-08-20 01:46:26 +02:00