1
0
Fork 0
Commit graph

292 commits

Author SHA1 Message Date
James Hogan
f642c48da4
CMakeLists.txt: Improve finding of osgXR
Replace the ENABLE_OSGXR option with a slightly more user friendly
ENABLE_VR which is only enabled by default on Linux. If VR is enabled we
set ENABLE_OSGXR to enable the code, but only if a compatible osgXR
version is available. In any case a status message is output to specify
whether VR support is enabled or not.

This should allow VR support to be built even after osgXR couldn't be
found the first time cmake was run. The finding is now quiet so as not
to repeatedly spam the log.
2022-01-13 16:44:27 +00:00
SDeAstis
493a9fa60d Modified Cmake and bootstrap to porperly support exclusion of Sentry.io 2021-11-18 16:20:08 +00:00
James Hogan
bad7047c36
VR: Visibility mask support
Update osgXR to 0.3.3 which provides support for visibility masks using
the depth buffer, and extend VRManager to support them.

The following properties are added:
 - /sim/vr/openxr/extensions/visibility-mask: This exposes whether
   visibility masks are supported by the current OpenXR runtime, and
   maps to osgXR::Manager::hasVisibilityMaskExtension().
 - /sim/vr/visibility-mask: This allows visibility masks to be enabled
   and disabled, and maps to osgXR::Settings::setVisibilityMask() via a
   listener.

Finally we inform osgXR that it should use SimGear's newly defined
LEFT_BIT and RIGHT_BIT NodeMask bits for the visibility masks using
osgXR::Manager::setVisibilityMaskNodeMasks(). This allows a single
stereo camera to have a visibility mask for each eye.
2021-10-05 23:44:27 +01:00
James Hogan
dcdda1044a
VR: Find the osgXR library
Allow the osgXR[1] library to be found and linked against. We'll use
this to implement VR in FlightGear.

[1] https://github.com/amalon/osgXR
2021-09-02 22:29:09 +01:00
James Turner
b2ecf39749 Add the Sentry ingest key. 2021-07-28 13:49:01 +01:00
James Turner
695d41a1eb Raise minimum OSG version to 3.6 2021-05-24 16:47:32 +01:00
James Turner
026b02d7e9 CMake: make another object dependency explicit
Since we’re not using target_link_libraries, we need to explicitly
define fgfsObjects (which contains main.cxx) as depending on the
embedded resources target.
2021-03-10 10:17:15 +00:00
James Turner
4fe1fa04bc CMake: fix dependency on buildId target 2021-03-09 19:22:59 +00:00
James Turner
6e42c8fc57 Restore compatibility with CMake < 3.12 2021-03-09 12:02:57 +00:00
James Turner
33e205f123 Switch to using OBJECT library for main build
Allows sharing object files between the fgfs and test_suite targets, in
a follow-up commit.
2021-03-08 16:59:14 +00:00
Erik Hofman
af329b794f Use the find_dependency option to parse Simgear dependencies to FlightGear 2021-03-08 16:15:51 +01:00
Erik Hofman
ffc0105b47 Per request: Rename DDS to DataDistributionService to prevent confusion with DDS the image format. 2021-03-06 09:10:34 +01:00
Erik Hofman
5786d40272 * Support CycloneDDS as a SGIOChannel
* Support the native fdm, gui and ctrl protocols over DDS
* Add fgfdm_log as an fdm over DDS command line logging utility

Usage:
 --native-fdm=dds,out,60
 --native-ctrls=dds,in,60

etc.
2021-03-05 16:10:04 +01:00
Scott Giese
3c694ddb5b Remove redundant policy definitions.
Add CMP0116 from CMake 3.20.
2021-02-20 22:34:32 -06:00
James Turner
67d235a17e Add a CMake message when ASan is enabled 2021-02-20 19:59:13 +00:00
James Turner
7b87b061da Add coherent noise filter to the AP 2020-12-26 18:54:35 +00:00
Scott Giese
1781bebb12 Easy rpath solution.
Supported for UNIX-like (excluding Apple, Cygwin).
2020-12-16 23:34:59 -06:00
Fernando García Liñán
255d193bc8 Make Compositor default
- Removed the ENABLE_COMPOSITOR CMake flag.
- Removed /sim/version/compositor-support.
- Removed miscellaneous branching to check if the Compositor is enabled.
- Removed custom resource loader since Compositor Effects are now located in $FG_ROOT/Effects.
- Removed splash screen warning.
- Only use the Compositor versions of CameraGroup and FGRenderer.
- Fix redout/blackout not appearing under certain circumstances.
2020-11-16 13:25:29 +01:00
Automatic Release Builder
2fe55d1e6b Sett RelWithDebInfo opt flags
Ensure we use O3 for AppImage builds
2020-10-29 14:47:33 +00:00
James Turner
740193a378 CMake: different fix for ALIAS issues with 3.10
ALIAS is not really functional in 3.10, so use a variable to approximate
the same behaviour. Not elegant but it seems to work.
2020-08-27 22:33:08 +01:00
James Turner
cf424e4344 Rename buildId header file
Avoid the very common name ‘build.h’ in favour of something clearer
and FlightGear specific.
2020-08-24 15:05:16 +01:00
James Turner
178d1beb80 Cmake: Remove version.h machinery
Merge this file into config.h, this means we can save an include path
everywhere.
2020-08-24 15:04:24 +01:00
James Turner
a82a13b70c Cmake: fix compat with CMake 3.10
Thankfully StackOverflow had an evil solution to this missing feature
in 3.10.
2020-08-23 22:25:03 +01:00
James Turner
fef50310bf Cmake: fix some issues Scott spotted. 2020-08-23 18:15:07 +01:00
James Turner
47ff3e9f67 Improve CMake strucutre 2020-08-23 11:31:37 +01:00
James Turner
5820619575 Move ENABLE_ASAN check to global scope
Allows ASan with GCC.
2020-08-23 11:30:21 +01:00
James Turner
d7504d8f65 Enable ASan for Clang 2020-08-17 10:21:26 +01:00
Julian Smith
d0aaf240f6 renamed version -> flightgear-version to avoid breaking clang++.
clang++ headers end up including <version>, which picked up this file instead
of the system one, breaking builds.
2020-07-04 09:02:51 +01:00
James Turner
94f98294de Workaround Fedora Qt packaging bug
Use a manual include file, instead of the official method, to check
if the Qt5 private headers are installed or not.
2020-06-24 16:36:45 +01:00
James Turner
8a35be7798 Flip the C++17 switch, experimentally. 2020-06-22 20:40:29 +01:00
James Turner
425a2f4fe3 C++ version fixes for C++17 support 2020-06-22 10:25:51 +01:00
James Turner
bd666f952e Raise minimum OSG version to 3.4.1 2020-06-18 17:39:48 +01:00
James Turner
306cc83744 Raise versions of CMake/Qt/Compiler/macOS
Let’s see what breaks :)
2020-06-18 12:58:09 +01:00
James Turner
9326c88f9b Move Qt root path variable to top-level CMakeList 2020-06-10 17:59:09 +01:00
James Turner
32ff21c1df UI: support OSG multi-threading modes, partially
Requires private header, so might need an additional package installed
on some Unixes.
2020-06-08 22:44:52 +01:00
James Turner
a9e5a27e55 UI handling tweaks
- add class to handle top-level windows
- remove requirement to use custom graphics-window
- order alongside PUI UI
2020-06-05 17:54:27 +01:00
James Turner
af00b5e304 Set CMake OpenGL VND policy 2020-06-05 13:33:27 +01:00
James Turner
f3db10d43b Fix missing guard in SIMD compiler flag setting 2020-05-28 10:47:29 +01:00
James Turner
bb6174bd44 Fix compilation with Boost >= 1.73 2020-05-28 10:47:10 +01:00
James Turner
cd2011b61e Change how SIMD compile flags are set 2020-05-26 13:06:35 +01:00
James Turner
0b845b9c9f Kill setting compiler flags for Debug
Use the Cmake default values for this
2020-05-24 14:32:59 +01:00
James Turner
54f660764e Tests: change how we find+load data files
Avoid encoding test-data as strings, since this exceeds MSVC limits
on string literals, and tests don’t need to be relocatable anyway,
so we can just hard-code the source location into config.h
2020-05-24 14:14:35 +01:00
James Turner
1b86267dbe Clang: Adjust RelWithDebInfo flags 2020-05-13 00:08:19 +01:00
James Turner
620a02bad3 Make sentry APi key customisable 2020-05-12 12:01:59 +01:00
James Turner
45eb7eaff4 Clang disable global setting of CFLAGS / CXXFLAGS
This was intended to only affect Debug builds, but when using a multi-
config generator (XCode, Visual Studio etc) it affects all builds.

Disabling for now until we figure out a better way to do this.
2020-05-10 19:42:35 +01:00
James Turner
fe16551cf6 Better RelWithDebInfo flags for CL.exe 2020-05-08 14:32:40 +01:00
James Turner
fe56b8272b Windows: ensure RelWithDebInfo is fast
Default CMake RelWithDebInfo pessimizes inlining
2020-05-07 14:13:10 +01:00
James Turner
faee5dbabf Code changes for crash reporting with Sentry. 2020-04-17 17:55:34 +01:00
James Turner
9957d02687 Cmake: detect various packages quietly
For packages which are optional, check for them quietly, to avoid lots
of noise in our CMake output.
2020-04-09 14:00:19 +01:00
James Turner
92e6cccfdc Tweak DBus detection, especially for macOS
Avoid the need to set PKG_CONFIG_PATH externally, use the internal
CMake behaviour where CMAKE_PREFIX_PATH is added. Unfortunately, we
do still need to manually add CMAKE_INSTALL_PREFIX, which is not
auto-added.
2020-04-08 16:54:20 +01:00