Scott Giese
05e3c29ee4
Support Visual Studio 2017
2018-06-22 22:19:49 -05:00
Erik Hofman
03156a6d94
Better AeoNWave detection
2018-06-05 09:39:51 +02:00
Erik Hofman
08258ee4b3
Detect AeonWave and if it is installed use it, otherwise fall back to OpenAL. Also let get_available_devices() use C++ strings instead of const char*
2018-06-02 14:06:15 +02:00
Florent Rougon
99c1dd8124
Add compiler options for GCC and Clang when CMAKE_BUILD_TYPE is Debug
...
When CMAKE_BUILD_TYPE is Debug and we are compiling with GCC, add the
following options to CMAKE_C_FLAGS and CMAKE_CXX_FLAGS:
-O0 -fno-omit-frame-pointer -fno-inline
Ditto for Clang, except that -fno-inline-functions is used instead of
-fno-inline.
cf. thread starting at
https://sourceforge.net/p/flightgear/mailman/message/36295412/
2018-04-18 08:25:10 +02:00
Thomas Geymayer
af5833cbc5
cppbind: Refactor to use C++11+ type_traits
2018-01-21 13:21:55 +01:00
Alessandro Menti
e7356223bb
CMakeLists.txt: explicitly enable the CMP0067 (C/C++ standard flags) policy
...
Explicitly enable the CMP0067 policy to have try_compile use the correct
C/C++ standard flags; otherwise, CMake will default to not honoring those,
causing the C/C++ checks to be compiled with no standard flags and SimGear
to be compiled with them. This causes errors if we try to detect a new
prototype which is only present in C++14 and above).
2018-01-03 11:54:04 +01:00
Florent Rougon
7547ad0391
Improve formatting of the HAVE_WORKING_STD_REGEX test
...
Indent the test code in a nicer way and shorten it, taking advantage of
this guarantee from the C++ standard:
If control reaches the end of main without encountering a return
statement, the effect is that of executing return 0.
-> no need for "#include <cstdlib>" nor for "return EXIT_SUCCESS".
2018-01-03 00:34:52 +01:00
Thomas Geymayer
52b8f60953
Add std::index_sequence for C++11
...
Will be required for nasal::Ghost
2018-01-02 08:00:49 +01:00
Florent Rougon
ab1e2d49ab
Add a CMake check for a working <regex> implementation
...
Define HAVE_WORKING_STD_REGEX if, and only if <regex> is usable.
Normally, <regex> should be available and working in any compliant C++11
implementation, however at least g++ 4.8[1] lies about its C++11
compliance: its <regex> is utterly unusable, see [2] and [3] for
details.
[1] Which appears to be (precisely 4.8.5) the version shipped in
CentOS 7, and used on FlightGear's current Jenkins installation.
[2] https://stackoverflow.com/a/12665408/4756009
[3] https://sourceforge.net/p/flightgear/mailman/message/36170781/
2017-12-29 13:46:42 +01:00
Florent Rougon
7a374c43dc
Fix CMake test for std::isnan()
...
It used the wrong header; std::isnan() is defined in <cmath>.
2017-10-23 19:29:07 +02:00
James Turner
b342245619
Fix lib64 mode on Ubuntu 17.04 / CMake 3.7
2017-09-28 15:11:09 +01:00
gallaert
e0e6a29150
CMake fails to detect OpenRTI include files.
2017-08-16 21:15:20 +01:00
Erik Hofman
1446f559cc
Add -fPIC to make FlightGear's shared library linking for fgtestlib happy
2017-03-26 10:17:10 +02:00
Peter Sadrozinski
61525c555e
Disable GDAL, and compiling new terrain engine by default
2017-02-26 09:46:29 -05:00
Peter Sadrozinski
dad30b0cc2
alternative terrain engine - SGMesh utilizing pagedLOD
2017-02-25 19:17:55 -05:00
Erik Hofman
edec5bbc01
There is still a segmenttion fault issue with the AVX code, disable it until this is sorted out
2017-01-26 14:46:36 +01:00
Erik Hofman
33feb9a416
Move SIMD flags to CMAKE_CXX_FLAGS_RELEASE and fix a typo in the process
2017-01-20 14:56:15 +01:00
Erik Hofman
fbc0986fd8
Do not rely on SSE3, this is just a slight drawback
2017-01-06 15:10:52 +01:00
Erik Hofman
892579456d
add SSE support for the C compiler (gcc and clang)
2016-12-18 09:40:38 +01:00
Erik Hofman
4dde1d365c
MSVC 2013+ for 64-bit automatically sets /arch:SSE2 and doesn't recognise te option
2016-12-17 10:50:19 +01:00
Erik Hofman
175eddd1fa
Add the proper SSE options to Clang too
2016-12-16 11:05:03 +01:00
Erik Hofman
203db3d095
Enable SSE and SSE2 by default
2016-12-16 10:49:44 +01:00
James Turner
5ecc1ab6f2
Simplify timing code.
...
Assumes we have timegm on Unix, and use _mkgmtime on Windows.
This means we never need to use ftime() / timeb.h
2016-11-17 21:23:56 +01:00
James Turner
3009aadaa6
Simplify Boost auto-detection on MSVC.
2016-11-14 23:05:10 +01:00
James Turner
ee02750e95
Enforce VS2013/2015 requirement on Windows.
2016-11-13 14:57:39 +00:00
James Turner
f55007394e
Make more includes target-specific.
2016-11-13 14:57:21 +00:00
James Turner
a09630bcca
Cmake export fixes.
...
Should hopefully fix importing in FlightGear
2016-11-02 13:59:43 +00:00
James Turner
b44c70b3f4
Simplify isnan detection with C++11 library.
2016-10-30 22:49:38 +00:00
James Turner
51e7d95bf2
Require CMake 3.0, enable C++11
...
Let’s see what this breaks.
2016-10-24 22:52:51 +02:00
James Turner
202571386b
Exported package fix.
...
https://sourceforge.net/p/flightgear/codetickets/1892/
2016-10-20 20:26:51 +01:00
Florent Rougon
11c6e5bf04
Require zlib 1.2.4 or compatible
...
Commit 8277857827
relies on zlib's
gzoffset() function (not just offset(): that was a typo in the commit
message, sorry). This function appeared in zlib 1.2.4 (which dates from
2010). Enforce this requirement with CMake.
2016-10-19 21:17:54 +02:00
James Turner
7b2507cb19
Config changes to warn on older tools.
...
Warn on to-be-deprecated versions of Cmake, Visual Studio and GCC
2016-09-28 17:20:51 -05:00
James Turner
2e19aaaff9
Remove multi-arch workaround in CMake
...
Since we now require 2.8.11, we can rely on this bug being fixed.
2016-09-27 20:43:03 -05:00
James Turner
6b82b78c7c
Warn when OSG is not in UTF-8 mode.
...
This will become an error in the near future.
2016-08-15 22:38:00 +01:00
James Turner
8201301064
Improve Windows linkage.
...
When using a patched OSG, avoid /FORCE:MULTIPLE work-around.
2016-08-15 22:38:00 +01:00
James Turner
a31d1342d5
Simplify Aeonwave/OpenAL logic in Cmake slightly
2016-08-06 14:40:14 +01:00
Erik Hofman
f092f000fa
AeonWave is off by default
2016-08-05 10:57:20 +02:00
Erik Hofman
f3c3b7ec1b
Split include dirs
2016-07-29 12:35:20 +02:00
Erik Hofman
efe9648afa
Activate AeonWave by setting USE_AEONWAVE to ON
2016-07-21 13:05:40 +02:00
Erik Hofman
d12cd4945e
Get soundmgr_aeonwave in a compilig state
2016-07-21 13:05:40 +02:00
Bertrand Coconnier
5ab595b401
The Shlwapi library is now needed for the Windows build (required in simgear/misc/sg_dir.cxx which calls to PathIsDirectoryEmpty)
2016-07-03 14:36:22 +02:00
James Turner
516d76d41b
VS215 tweaks, warning fixes
2016-06-09 20:38:01 +01:00
James Turner
c762dbe864
Fix dependency on ‘version’ file.
2016-06-09 11:03:35 +01:00
James Turner
8690e4617f
CMake tweaks for MSVC detection
2016-06-03 12:19:21 +01:00
James Turner
729c9e3faa
More VS2015 fixes
2016-06-01 22:36:36 +01:00
Erik Hofman
03f7f82856
Revert to the previous way of handling OpenAL. The reason was to find alext.h but that reason has gone by copying a small number of defines
2016-06-01 09:51:41 +02:00
Erik Hofman
d1a808c630
Find OpenAL the proper way
2016-05-30 10:50:22 +02:00
Erik Hofman
f65a970d2e
Fix two OpenAL related compiler errors
2016-05-27 19:08:20 +02:00
Maciej Mrozowski
2b15b6b8ad
Add SYSTEM_UDNS CMake option. Remove spurious EXPAT_LIBRARIES linking when using bundled expat.
2016-05-26 02:33:24 +02:00
Erik Hofman
857f7c9e61
Revert to c++98
2016-05-24 21:37:12 +02:00