1
0
Fork 0
Commit graph

223 commits

Author SHA1 Message Date
Florent Rougon
b405bd47d0 Use the system CppUnit only when -DSYSTEM_CPPUNIT=ON is passed to CMake
According to the discussion around [1], using the system CppUnit library
is rarely useful but likely to cause problems (due to possible
incompatibilities between versions); that is, unless people doing so
really know what they are doing. For this reason, this commit changes
the CMake config logic as follows: the system CppUnit library is now
only used when explicitly asked for with -DSYSTEM_CPPUNIT=ON on the
CMake command line.

[1] https://sourceforge.net/p/flightgear/mailman/message/36636483/
2019-04-11 22:14:53 +02:00
Lars Toenning
85acefab95 Swift: initial support 2019-04-11 11:36:22 +01:00
Fernando García Liñán
e042364dd0 Compositor framework initial commit. 2019-02-04 18:03:38 +01:00
Erik Hofman
073e8927b9 Split up SIMD support in ENABLE_SIMD which enables sse2 support for the compiler and ENABLE_SIMD_CODE which enables the hand crafted SIMD math functions which defaults to OFF now since compilers have catched up on generating optimized vectorized SIMD code. 2019-01-15 10:37:37 +01:00
James Turner
aa6c4c758a Mac: set CMake deployment target the right way
Necessary for building with the Mojavae 10.14 SDK. This also meant
bumping the min version to OS-X 10.9
2018-10-01 22:28:08 +01:00
James Turner
c537bbcfe7 Translations: detect missing lrelease explicitly.
This gives a clearer message and behaviour when Qt is installed but
the translation tools have been omitted.
2018-09-01 14:59:24 +01:00
James Turner
eaa2ed5cbb Launcher translations enabled
Translations are build into the executable at compile time, providing
FGData is available during the build.
2018-08-27 13:20:23 +01:00
James Turner
3f5a0a47ad Improved build.h generation (each build)
Use a custom_target to recursively invoke Cmake at build time; this
ensures the build ID and Git revision are always up to date.
2018-08-19 16:06:16 +01:00
James Turner
d534a5ba36 Move build-ID variables to their own header
This is to reduce rebuilding by changing version.h needlessly, since
only a few places use the build ID info.
2018-08-12 11:18:50 -07:00
Edward d'Auvergne
ba5b472705 TestSuite: Elimination of the now unused ENABLE_TESTS CMake variable. 2018-07-26 15:52:07 +02:00
Edward d'Auvergne
583461a812 TestSuite: Removal of the no longer used tests/ directory and code.
All tests have been migrated into the CppUnit infrastructure and the dummy
structures and FG_TESTLIB are no longer used.
2018-07-26 15:52:06 +02:00
James Turner
12dac05d38 Launcher: experimenting with SVG icons 2018-07-02 23:15:01 +01:00
James Turner
82f23e556e Improve MSVC project generation
- set startup project to fgfs
- guess a value for PATH based on the build config
2018-06-16 13:03:23 +01:00
James Turner
9c4e4d411c Defualt STGMerge to OFF for now
(Unbreak Windows)
2018-06-14 16:46:55 +01:00
Stuart Buchanan
42c3a366a3 Add ENABLE_STGMERGE option to build stgmerge tool 2018-06-12 20:16:35 +01:00
Erik Hofman
2edf1443d3 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:36 +02:00
James Turner
ee48fddd5e Compute scrollbar extent using alternate props
This computation is close enough, and removes the need for private
headers.
2018-05-08 22:16:53 +01:00
James Turner
102fe04e91 Import PLIB JS code into FlightGear
- will permit bug-fixing which cannot occur for
  official PLIB.
2018-05-03 00:02:09 +01:00
James Turner
50518862fe Fix UDev detection for HID-input 2018-05-01 12:36:20 +01:00
James Turner
cf5e2b39f1 Handle CMake policy 0071 correctly 2018-05-01 12:35:55 +01:00
Florent Rougon
207703a931 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:27:10 +02:00
James Turner
921f29fbfe HID-Input disambiguation tweaks 2018-04-09 22:03:49 +01:00
Edward d'Auvergne
98debee29c TestSuite: Addition of the ENABLE_AUTOTESTING CMake option.
This allows for finer control of the test suite execution.  The default of ON
will cause the test-suite to be executed after compiling the test_suite target.
2018-03-23 17:26:05 +01:00
Edward d'Auvergne
3c73600237 TestSuite: Addition of the SYSTEM_CPPUNIT option for distributors.
This is to allow for selecting between a system installed version of CppUnit or
the version bundled with flightgear.
2018-03-23 17:26:05 +01:00
Edward d'Auvergne
c9122ff84b TestSuite: Converted the old tests/test-mktime.cxx program into a unit test.
This required many time related include files, functions, and variables to be
tested for via CMake, and converted to macros via #cmakedefine, so that they
would be automatically set for the test-mktime.cxx file.
2018-03-23 17:26:04 +01:00
Edward d'Auvergne
8b438cb97e TestSuite: Initial support for a FlightGear test suite based on CppUnit.
This includes the basic CMake infrastructure for building and executing the test
suite.  Four test categories have been added - unit, system/functional, GUI, and
simgear unit tests.  The test suite is run by typing 'make test_suite'.

All of the fgfs sources are included in the new run_test_suite executable,
excluding the bootstrap routine and its main() function.  The test suite
currently consists of a single dummy unit test for the NasalSys subsystem, and a
single demonstration simgear/props unit test.
2018-03-23 17:26:04 +01:00
James Turner
e920dc7509 Event input layer based on HID-Api
Thus runs in parallel to the existing implementation on Linux and Mac,
but can (soon) replace the Mac code and will run on Windows eventually.
2017-12-18 17:15:55 +00:00
James Turner
329f8f77ab Fix broken private header detection 2017-11-09 15:34:44 +02:00
James Turner
7824571ec2 One more tweak for QtQuick header detection. 2017-10-04 12:07:12 +01:00
James Turner
e6402f505a Help debugging missing QtQuick headers. 2017-10-04 11:12:36 +01:00
James Turner
0331180e4f Fix for UCrt runtime packaging, from Erik 2017-10-02 12:30:56 +01:00
James Turner
948435a465 Fix Ubuntu lib64 handling / Cmake 3.7 2017-09-28 15:12:06 +01:00
James Turner
c47325183c Simplify Qt version checks by requiring 5.4 2017-09-26 16:52:48 +01:00
James Turner
3a8d3506d6 Replace launcher aircraft list with QtQuick version
Improves various flow / layout / usability issues, since delegates
in ListView can do full event interaction.
2017-09-26 16:52:48 +01:00
Ganael Laplanche
e26df90ea4 FreeBSD: fix build when libudev is found 2017-07-06 23:02:52 +02:00
Alessandro Menti
f1ffe97991
Add CMake Linux install directives for the icons and the .desktop file 2017-05-24 22:47:01 +02:00
James Turner
3732930269 QML-driven settings UI. 2017-04-10 14:38:57 +01:00
James Turner
09fe744de0 Test helper CMake macro.
Also build the test code first, so tests can reside in source tree as
well as the test tree.

Finally, build local Sqlite with -fpic to give consistent linkage when
using either built-in or system sqlite.
2017-03-26 12:15:29 +01:00
James Turner
9e122eaf81 Partial testing framework.
Compile a useful subset of FG as a shared library, and add two basic
uses of this to exercise some Flightplan / RoutePath / navaid
functions.

The test framework can/will be expanded incrementally from here, this
is just a starting point.
2017-03-25 15:35:26 +00:00
James Turner
3653508412 Build- and run-time concept of developer mode.
Make a single Cmake value to expose the build type to code, and use
this to default a run-time ‘developer-mode’ property, which can be
over-ridden from the command line.

Use this to drive the different warning levels. Policies subject to
review, especially whether nightly builds should default to 
developer mode or not.
2017-02-27 23:37:59 +00:00
Bertrand Coconnier
b7ec790426 Flags are carried over from SimGear, no need to specify them again. 2017-02-26 16:40:59 +01:00
Peter Sadrozinski
ec4b9f8542 Alternative terrain engine based on pagedLOD
- remove TileMgr from sub systems - add to btg terrain engine
2017-02-26 10:17:15 -05:00
James Turner
17fe0460a9 Previews displayed in the launcher. 2017-02-25 21:47:58 +00:00
Bertrand Coconnier
227087b3a8 Automatic detection of the ENABLE_SIMD setting for SG:
* Scrapped the previous code
* Instead use the symbol value imported from SG via the "CONFIG" mode of CMake find_package()
2017-02-07 00:04:56 +01:00
Bertrand Coconnier
93a8ab99ff Fix to manage the case where SimGear include files are obtained via CMAKE_PREFIX_PATH 2017-02-05 10:27:30 +01:00
Bertrand Coconnier
044715ba05 CMake commands TRY_COMPILE and TRY_RUN are ignoring the instructions from INCLUDE_DIRECTORIES so the include directory has to specified ad hoc. 2017-02-04 22:53:22 +01:00
Bertrand Coconnier
80b8a298e1 Fix for when SimGear headers are not installed system wide (as is the case for Jenkins) 2017-02-04 21:53:18 +01:00
Bertrand Coconnier
4ab0b71fa8 The flag ENABLE_SIMD is now automatically carried over from SimGear. Mixed configurations between FG & SG could crash FG so this should not be allowed. 2017-02-04 20:21:19 +01:00
James Turner
80e45f6d9b Different solution for FGQCanvas install
Move the install line back inside the subdir, but pull in the extra
config file so the install-bindir is defined.
2017-02-04 08:25:41 +01:00
Erik Hofman
e31d6b083e Pick a default build type if none is specified 2017-01-26 14:48:35 +01:00