James Turner
8dd0833993
Fix setting OPENAL_DIR on Windows
...
We need to set this in all cases, since AeonWave is requested by
default, but may not be available.
2018-08-23 19:11:50 +01:00
gallaert
5921fd19fb
Merge branch 'next' of https://git.code.sf.net/p/flightgear/simgear into next
2018-07-18 20:48:01 +01:00
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
gallaert
b01718aae7
Merge branch 'next' of https://git.code.sf.net/p/flightgear/simgear into next
2018-04-25 21:08:46 +01: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
gallaert
8d265a8123
Merge branch 'next' of ssh://git.code.sf.net/p/flightgear/simgear into next
2018-01-21 20:06:46 +00: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
gallaert
12bed8e8ad
Merge branch 'next' of ssh://git.code.sf.net/p/flightgear/simgear into next
2017-11-17 18:46:21 +00: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
gallaert
e4b9cbcb80
Merge branch 'next' of ssh://git.code.sf.net/p/flightgear/simgear into next
2017-10-01 21:25:16 +01:00
James Turner
b342245619
Fix lib64 mode on Ubuntu 17.04 / CMake 3.7
2017-09-28 15:11:09 +01:00
gallaert
3ccfb74028
Fix candidate for 'lib' vs 'lib64'.
2017-08-21 23:07:05 +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
Erik Hofman
03a8a2a3fb
Switch to c++11
2016-05-24 10:42:01 +02:00
Alessandro Menti
fd124e91de
CMakeLists.txt: explicitly set the standard to C++98
...
Set the C++ standard to C++98 to avoid GCC 6 compilation failures.
2016-05-23 23:16:35 +02:00
James Turner
616826ab69
Remove non-CURL HTTP option.
2016-05-07 10:11:40 +01:00
Torsten Dreyer
eac3402176
Enable DNS resolver code by default
2016-05-03 14:58:38 +02:00
Torsten Dreyer
ff5b09c97b
Initial commit for a DNS service resolver
...
- import udns library
(http://www.corpit.ru/mjt/udns.html )
- initial draft for a DNSClient (derived from HTTPClient)
Enable compile and test by adding -D ENABLE_DNS=Yes to cmake flags
2016-04-28 09:37:08 +02:00
James Turner
af0a51930e
CMake: don’t export build to build tree
...
- only export targets to the install tree, since this is
hopefully compatible with CMake 2.8
2016-02-02 18:33:20 +00:00
James Turner
ccb5d05eb4
Fix headless build for CMake export
2016-01-30 14:29:12 +00:00
James Turner
9d7402242a
Work on CMake export of targets.
2016-01-29 23:15:07 +00:00
James Turner
20ea55bdbc
Set macos-min-version for C files too
...
Should fix another 10.7 issues (Nasal code is .c)
2015-12-10 14:53:17 -06:00
James Turner
05d9d7cae8
On Mac, force setting macon-min-version
...
- the CMake option seems to be erratic, it works locally but not
on the Jenkins machine for inexplicable reasons.
2015-12-08 20:42:43 +00:00
James Turner
81d668784a
Fix spelling of Find(CURL)
2015-11-24 00:09:19 +00:00
James Turner
a57e969639
Optional use libCurl as the HTTP client.
...
Will permit HTTPS for packages in the future, disabled by default
for the moment.
2015-11-22 23:53:46 +00:00
James Turner
5c9ca9cbe2
EOL cleanups.
2015-11-22 22:36:54 +00:00
James Turner
5676f96fbf
Require Cmake 2.8.11
...
- drop OldGNUInstallDirs work-around as a result
2015-11-22 22:34:31 +00:00
James Turner
70c5d60564
Drop explicit SDK setting on Mac
2015-09-20 19:30:04 -05:00
James Turner
9a9cd62957
Set RPATH on Mac
2015-06-07 15:57:01 +02:00
James Turner
686f095f1e
Explicit Mac SDK for the moment.
2015-04-11 21:58:15 +01:00
James Turner
3c204e84f4
Fix missing include for Cmake 3.2.1
2015-03-17 23:32:57 +00:00
James Turner
7774b76ad2
Only detect threading library where needed
...
- avoids failure with newest CMake on Mac
2015-03-17 23:28:52 +00:00
James Turner
acd655b37b
Make flag Mac-specific.
2015-03-17 23:26:20 +00:00
James Turner
1a09683351
Fix for Cmake 3.2.1 on Mac SDK handling
2015-03-17 22:31:05 +00:00
James Turner
1365a02aea
Fix where we set OS-X deployment option.
2015-02-24 12:36:28 +00:00
James Turner
6323477a35
Tweak warning flags, for newer Clang.
...
No functionality changing, just less spam in the compile logs.
2015-02-12 16:21:15 +00:00
James Turner
1bf0b7222d
Explicitly force libc++ on clang
2015-02-11 15:46:01 +00:00
James Turner
b2ac9982d4
Better CMake policy detection
...
- thanks to Rebecca Palmer for suggesting this!
2015-02-10 17:11:31 +00:00
James Turner
84cbfb2e98
Cmake policies conditional on Cmake version.
2015-02-09 16:42:40 +00:00
James Turner
7479cadbba
Switch 10.7 on Mac and revert to using libc++
...
(Deployment on libstdc++ with the 10.9 SDK is just too painful)
2015-02-09 15:12:21 +00:00
James Turner
f711306085
Force SDK version / C++ library on Mac.
2015-02-08 13:46:09 +00:00
James Turner
1b7f310ea6
Merge FreeBSD patches.
...
Taken from:
http://svnweb.freebsd.org/ports/head/devel/simgear/files/
2014-11-11 22:29:24 +00:00
Thomas Geymayer
519326f751
Add simple keyboard event demo application.
2014-08-08 00:59:06 +02:00
Thomas Geymayer
7df39b9fc8
Fallback for old Boost (also with UTF8-CPP library).
2014-07-30 12:44:21 +02:00
Thomas Geymayer
02ac1a43c1
Add smart pointer tests (finally using Boost.Test)
2014-05-08 02:17:24 +02:00
James Turner
15d3c12139
Fixed for FreeBSD
...
(From Gerald Laplanche)
2014-04-03 13:42:11 +01:00
James Turner
b0cad59508
Raise required OSG version to 3.2.0
2014-02-19 10:58:39 -08:00
James Turner
8f6677974e
Mac: fix static linkage
...
- Link against Cocoa, not CoreServices (for NSFileManager)
2014-01-28 12:39:28 +00:00
James Turner
c1b579ec5d
Remove jpeg-factory.
...
(FlightGear can now do the same, without the helper class)
2014-01-27 09:19:11 +00:00
James Turner
d69ea5fda6
Kill off EMBEDDED_SIMGEAR
2013-10-17 16:09:39 +01:00
Stanislaw Halik
0186cbb7b7
cmake: prevent Boost barfing out too many warns
2013-10-03 21:49:38 +01:00
Stanislaw Halik
fa36e94c4b
fix static build with recent GNU binutils
...
Signed-off-by: Stanislaw Halik <sthalik@misaki.pl>
2013-10-03 21:49:38 +01:00
James Turner
3e8732b230
Libsvn / APR dependency is removed.
...
Remove any use of libsubversion / API in Simgear, and always
compile the built-in SVN client code.
2013-09-23 18:05:37 +01:00
James Turner
d263334030
Attempting to fix import/export linkage on Windows.
...
Hopefully this tells the Expat headers not to do any clever
declspec(import) or export stuff, which we don't want since we only
use the symbols within SimGearCore, and don't export them.
2013-09-19 22:07:41 +01:00
James Turner
38fb9ea41e
Intermediate static libs have issues.
...
Switch back to including the bundled expat sources directly in the
targets, since transitive linking of static libs is very awkward.
Makes static build happy again (let's see what else breaks)
2013-09-19 21:42:28 +01:00
James Turner
a922aaa68e
Move bundled Expat to new home.
...
Renamed bundled Expat headers to avoid any
possibility of accidental including system headers when
using bundled Expat, or vice-versa. Should help with SVN
crashes reported by Thomas.
2013-09-19 20:12:32 +01:00