1
0
Fork 0
Commit graph

187 commits

Author SHA1 Message Date
James Turner
db8985fc76 Fix a typo on Windows 2019-05-27 17:47:24 +01:00
James Turner
7738f33306 Adjust FindDBus to use imported targets
This is necessary on macOS where DBus is typically installed using
Homebrew, and hence we need additional linker flags to find the
library. Using the PkgConfig::DBUS imported target handles all this
transparently, but then we need to define an imported target for
Windows to work.
2019-05-27 11:37:35 +01:00
Lars Toenning
5a662d97fd Fix broken libevent/dbus cmake module 2019-05-17 10:19:38 +02:00
Florent Rougon
63f6d0b5bf Convert obsolete uses of get_filename_component(<var> <FileName> PATH)
In the context of get_filename_component(), PATH is a legacy alias for
DIRECTORY. Replace it with DIRECTORY, which is recommended[1] for
CMake versions > 2.8.11.

[1] https://cmake.org/cmake/help/latest/command/get_filename_component.html
2019-04-25 19:11:01 +02:00
Florent Rougon
b2d6acdd4d CMake changes related to FGDATA_SRC_DIR and TRANSLATIONS_SRC_DIR
- When FGDATA_SRC_DIR isn't explicitly set by the user, set it to
  ${PROJECT_SOURCE_DIR}/../fgdata if this is a directory.

- When TRANSLATIONS_SRC_DIR isn't explicitly set by the user, look for
  translations in ${FGDATA_SRC_DIR}/Translations instead of
  ${PROJECT_SOURCE_DIR}/../fgdata/Translations (i.e., honor the setting
  of FGDATA_SRC_DIR for the sake of translation lookup).

This fixes the problem explained in [1] and [2].

[1] https://sourceforge.net/p/flightgear/mailman/message/36645499/
[2] b2274fbbed/
2019-04-25 19:11:01 +02:00
Lars Toenning
85acefab95 Swift: initial support 2019-04-11 11:36:22 +01:00
James Turner
2b1913e118 Add Russian to list of Qt translations to sync 2018-10-12 11:37:08 +01:00
James Turner
ca8b84dae0 Make translations detection more robust
Thanks to Scott Giese for the suggestion, check for a full valid
path inside the Translation setup, in case FGData exists but is not
populated.
2018-09-22 18:24:23 +01:00
Stuart Buchanan
c5840b1039 Fix translations variable where no translations data 2018-09-01 16:22: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
41687767b9 Translations looked up correctly
Tweak both the launcher and main locale lookups, to tolerate the
different region suffixes encountered in reality.
2018-08-28 23:34:44 +01:00
James Turner
2329654e3b Disabling translations is tricky. 2018-08-28 17:12:31 +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
Scott Giese
402a71100e Enabled locating plib via the naming convention used by vcpkg 2018-08-06 22:14:53 -05:00
Scott Giese
78882621e9 Support Visual Studio 2017 2018-06-22 22:40:37 -05:00
Ganael Laplanche
b9b393a355 Use all linker flags from pkgconf, including library path 2018-06-12 12:10:31 +02:00
Erik Hofman
d043a20d3f Better AeonWave detection 2018-06-05 09:40:29 +02: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
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
cf5e2b39f1 Handle CMake policy 0071 correctly 2018-05-01 12:35:55 +01:00
James Turner
bb0ba31fe0 Fix MSVC fgrcc execution 2018-04-16 15:24:14 +01:00
Edward d'Auvergne
3b79530b06 CMake: Split the target links and includes into separate CMake modules. 2018-04-05 21:06:02 +02:00
Edward d'Auvergne
6a730b5820 CMake: The main sources/headers have been shifted into FG_{SOURCES,HEADERS}.
This allows the sources and headers in src/Main/ to be used by other targets.
They are grouped into the new "Main" flightgear component via the macro in the
FlightGearComponent CMake module.  The bootstrap.cxx file with its main function
has been separated out into a separate variable MAIN_SOURCE for use by the fgfs
binary.

All these files have therefore been removed from the test_suite CMakeLists.txt
file, as they are added via FG_SOURCES and FG_HEADERS.  The MSVC grouping code
also does not need to deal with the now deleted separate SOURCE and HEADER
variables for these files.
2018-04-05 21:06:02 +02:00
Edward d'Auvergne
e88017eba3 CMake: Shifted the Mac bundle commands into its own CMake module. 2018-04-05 21:06:02 +02:00
Edward d'Auvergne
93c4aab885 CMake: Shifted the MSVC grouping code into its own CMake module.
This is for simplifying the main src/Main/CMakeLists.txt file and allowing the
code to be shared with the test suite.
2018-04-05 21:05:54 +02:00
Edward d'Auvergne
f8e57f921d CMake: Shifted the FlightGear embedded resources code into its own CMake module.
This is for simplifying the main src/Main/CMakeLists.txt file and allowing the
code to be shared with the test suite.

The generated source and header files have also been removed from the main
source list and placed in the CMake module as the global variables
EMBEDDED_RESOURCE_SOURCES and EMBEDDED_RESOURCE_HEADERS.
2018-04-05 21:05:30 +02:00
Edward d'Auvergne
bd3a3db50b CMake: Shifted the target setup code into its own CMake module.
This is for simplifying the main src/Main/CMakeLists.txt file and allowing the
code to be shared with the test suite.
2018-04-05 21:05:16 +02: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
Erik Hofman
5f828894df Update to AeonWave version 3.0+ 2017-10-31 10:53:34 +01:00
Erik Hofman
c9b01b1d69 Enable SSE and SSE2 by default 2016-12-16 10:50:24 +01:00
James Turner
9aaff777d9 Support CrashRpt 1403 2016-12-09 14:39:25 +00:00
James Turner
5d7b65477f Simplify MSVC detection to match SimGear. 2016-11-15 00:07:32 +01:00
James Turner
e2f7585d9c Use a Cmake imported target for SimGear 2016-10-30 22:15:54 +00:00
Erik Hofman
a0b4f20cfe Fix the header location 2016-08-06 11:27:22 +02:00
Erik Hofman
9d13473d11 Check for the proper header file 2016-08-04 18:43:10 +02:00
Erik Hofman
ce9c78940b Add support for AeonWave 2016-08-04 18:43:10 +02:00
Erik Hofman
9ec4d7749f Add support for AeonWave 2016-08-04 18:43:10 +02:00
James Turner
a0b7abf7ff Remove FGAdmin 2016-06-15 22:31:47 +01:00
James Turner
3d80a107b5 Tweaks for VS 15 / boost detection 2016-06-09 10:33:30 +01:00
James Turner
043355b5a7 Curl is required for SimGear now. 2016-05-07 10:23:02 +01:00
James Turner
2328f7fbdb Handle libCurl linkage when enabled in SimGear
Detect if SimGear was built with Curl support,
and if so, find and link against libCurl
2015-11-26 23:40:14 +00:00
James Turner
3e64e276d7 Remove OldGNUInstallDirs helper
- we require CMake 2.8.11 now
2015-11-13 22:13:44 +00:00
James Turner
c8c2da1b78 Mac nightly can use new launcher. 2015-01-06 21:59:06 +00:00
Thomas Geymayer
a948f68960 CMake: add UTF8-CPP to SimGear include directories. 2014-07-30 12:47:33 +02:00
Torsten Dreyer
6ee2fcdd9e Allow using the system version of flite and the HTS engine
By default, if the system version exists and can be used,
then it will be used. Otherwise, the local version will be used

Original patch by  Saikrishna Arcot via
https://gitorious.org/fg/flightgear/merge_requests/1582
slightly modified
2014-04-28 21:33:48 +02:00
James Turner
a42516bcdd Tweak for Mac nightly GUI launcher 2014-03-17 08:24:28 +00:00
James Turner
7bc7197f6a Use Cmake to generate app-bundle on Mac
- build the .plist using CMake features
- update the nightly Mac packaging script for the new layout
2014-02-14 18:58:36 +00:00
James Turner
29bc895f0b Fix fgelev linkage on Mac. 2014-01-29 16:39:10 +00:00
Clément de l'Hamaide
da05f403b1 Use GSM and Speex libraries from system if they are installed by Saikrishna Arcot 2014-01-23 17:46:49 +01:00
James Turner
590be3f8ff Initial integration of CrashRpt for Windows. 2014-01-18 14:51:19 +00:00
Clément de l'Hamaide
af5ae8b5b1 Make cmake happy (from Christian Schmitt commit - terragear) 2013-12-25 13:49:41 +01:00
James Turner
97d89a0c47 Remove all references to libsvn from build. 2013-09-28 14:15:47 +01:00
Thomas Geymayer
4bcf209dc8 Fix Mac build for tools (fgjs, etc.) 2013-06-21 20:52:16 +02:00
James Turner
06ef376bd8 Look for MSVC 3rdparty deps differently.
Check for the 3rdparty dir in the parent of build dir, not the parent of the source dir. For the recommended build layout, this is the same location, but for super-builds using fgmeta it's not (and the source tree should not be touched).

If this causes anyone issues, please let me know, since it's possible more flexibility is needed to set the path explicitly.
2013-03-03 16:08:01 +00:00
Frederic Bouvier
32a1c018e4 Improve fltk detection under Windows 2012-12-16 13:52:36 +01:00
Frederic Bouvier
240c237489 Look for Boost 1.52.0 and OpenRTI under Windows 2012-12-01 11:26:10 +01:00
ThorstenB
3b6436bfb8 #946: some libraries not found on Ubuntu/Debian
Ubuntu/Debian introduced "multiarch" library directories, which is
unsupported by CMake <= 2.8.10. Add manual search paths as a workaround.
Currently it is only needed for libsvn, but it is needed for any lib
which is converted to the new directory standard.
2012-12-01 11:01:25 +01:00
Thomas Geymayer
82884ab3c6 Improve finding gperftools and disable profiling by default (even with gperftools installed) 2012-11-19 13:11:03 +01:00
Christian Schmitt
dd6c220fd7 CMAKE: find plib module: correct the linking order of the pu component,
which has to be before fnt. This fixes the fgpanel linking on some distros.
2012-11-15 15:48:34 +01:00
Thomas Geymayer
5610c9551b Add missing file... 2012-11-15 12:43:34 +01:00
Thomas Geymayer
eb44003309 SimGear now includes ShivaVG 2012-11-04 20:02:20 +01:00
Thomas Geymayer
28779e7a51 Update for new simgear Canvas system.
A refactored version of the Canvas system can now be found in
SimGear.
2012-11-04 14:18:31 +01:00
James Turner
50c61b4211 Allow use of the system's SQLite3 library.
Keep distro packagers happy by having the option to use the system's sqlite library instead of our bundled version. Set SYSTEM_SQLITE=1 when running cmake to use the system one.
2012-09-19 14:28:25 +01:00
Frederic Bouvier
db53e4c0b8 Sort fgfs source files in IDE folders 2012-09-16 19:26:53 +02:00
James Turner
6f5afd9be7 Fix case-sensitivity typo 2012-09-14 17:21:51 +01:00
James Turner
29e8307e3f Update FindSimGear for simplified lib names. 2012-09-16 16:07:53 +01:00
ThorstenB
7c01632b00 Fix libsvn detection for some Linux distros
Distros like Debian/Ubuntu use architecture-specific directory structures
(like /usr/lib/x86_64-linux-gnu) which we cannot hardcode/guess, so we
really need to search the default paths.
2012-09-03 23:52:32 +02:00
Frederic Bouvier
bceb942ffa Support MS VS2012 2012-09-03 17:34:01 +02:00
Frederic Bouvier
0608367257 Try to discover the most recent Boost version installed in MSVC_ROOT (Windows only) 2012-09-02 12:44:51 +02:00
ThorstenB
7a0db802d2 Improve error message when SimGear headers are missing/incomplete.
Also avoid CMake errors when files are missing.
2012-08-26 15:28:51 +02:00
Christian Schmitt
f001c5f9fe DetectDistro.cmake: Correct the lsb_release name 2012-08-26 11:55:45 +02:00
Mathias Froehlich
e3ad3d3a07 bvh: Adapt to upstream bvh changes in simgear. 2012-08-24 21:24:12 +02:00
James Turner
c06ab52c55 KIll off ALUT now it's gone from SimGear 2012-08-22 00:10:00 +01:00
ThorstenB
59fe04f8e9 Make web browser app configurable through CMake (for Linux)
so package builders don't need local patches.
Also, instead of hardcoded firefox, use "xdg-open" or "sensible-browser"
launchers on Linux, to auto-detect user's preferred browser.
Override with cmake switch -DWEB_BROWSER=...
(Not affecting Mac/Win which are hard-coded anyway).
2012-08-18 14:11:31 +02:00
ThorstenB
9c87aeb1fc Add cmake Linux distro detection. 2012-08-18 13:40:57 +02:00
ThorstenB
c15af10a7d CMakeList clean-up.
Split into modules for readability.
2012-08-18 13:40:08 +02:00
Frederic Bouvier
62ca9183a7 Trying to restore auto-detection of SVN libs on Windows 2012-08-13 23:20:20 +02:00
Frederic Bouvier
1666ea8286 Restore auto-detection of SVN libs on Windows 2012-08-13 22:16:17 +02:00
James Turner
9c2d01189e Enable subversion lib packaging on Mac 2012-08-11 15:23:17 +01:00
James Turner
3f2d371294 Use system FindPackageHandleStandardArgs macro, no need to distribute it. 2012-06-21 10:23:57 +02:00
James Turner
ffa46f686d Improve ALUT framework detection (for Mac)
Latest Xcode no longer searches /Library/Frameworks by default which exposed an issue here. Search for the header by the correct name to trigger special -F handling in cmake.
2012-06-20 19:45:12 +02:00
James Turner
c4cfd9cb7a Simgear 'route' code is unused now. 2012-05-12 00:42:06 +01:00
James Turner
55105baa25 PUI doesn't use SSG (and never has). Ooops. 2012-03-28 09:37:58 +01:00
James Turner
a38362646d Don't create intermediate static libraries for build fgfs. (Speeds up rebuilds in Xcode dramatically, possible in other IDEs too) 2012-03-26 13:09:39 +01:00
ThorstenB
ecb2e77e5b Fix Windows dependencies
SimgGear always needs "winmm" on Windows (due to timeGetTime in sgtimestamp.cxx)
2012-02-25 01:05:39 +01:00
ThorstenB
da73dd97d3 Clean-up cmake (linker) dependencies. 2012-02-24 22:23:15 +01:00
ThorstenB
572847b4cd #537 linker issues due to clock_gettime/librt dependencies
Simplify dependency check and make it work for Debian.
2012-02-24 22:22:14 +01:00
ThorstenB
0ba48793ea Disable OSG dependencies to osg/Vec2 for simgear compile test. 2012-02-19 22:12:52 +01:00
ThorstenB
f589f2c405 More talkative cmake SimGear checks
Give details whether includes or libraries are missing,
or if (and how) the version mismatches.
Also require an exact simgear/flightgear version match.
2012-02-19 20:20:12 +01:00
ThorstenB
ac841ac44f Terrasync clean-up
Avoid code duplication, only UDP processing and
NMEA message parsing remains.
2012-02-19 14:53:04 +01:00
ThorstenB
9933a7cb4a cmake: add support for Torsten's UDev EventInput
(Hopefully meeting Torsten's quality expectations)
2011-12-04 14:37:25 +01:00
James Turner
cdc65753f0 Refactor SimGear detection to correctly select debug vs release builds in shared library mode. 2011-11-30 19:19:49 +00:00
James Turner
f054f15693 Fixes for linking with shared SimGear. 2011-11-29 10:24:33 +00:00
James Turner
62810e3f9a Re-structure the SimGear detection, to bypass shared-library checks by default (and unless explicitly requested). Should fix the confusion in the GUI tools about the type of SIMGEAR_LIBRARIES (i.e it should be a list, not a path). 2011-11-28 18:23:34 +00:00
ThorstenB
b54defea52 cmake: fix sequence of (static) library dependencies
sgmath depends on sgprops, sgprops depends on sgstructure.
Also, core libraries are enough for fgadmin.
2011-11-26 16:41:35 +01:00
ThorstenB
90c5c9f87a cmake: lib vs lib64 handling for simgear
simgear now always uses CMAKE_INSTALL_LIBDIR for lib installation, so
also use that when searching.
2011-11-25 15:31:22 +01:00
ThorstenB
1a28a933ba Add missing file... (yikes!)
What's wrong with "rename" these days...
2011-11-25 12:14:57 +01:00
ThorstenB
3027424e3e cmake: rename script to avoid downgrading
Use local copy of cmake script only for older cmake versions
2011-11-25 12:12:38 +01:00
James Turner
56bebe2a9b Add GNU install dirs helper to local modules, since it's only available with very newest CMake releases. 2011-11-04 11:08:00 +00:00