Menu

Tree [86c647] next /
 History

HTTPS access


File Date Author Commit
 .gitlab 2025-02-15 Joshua Murphy Joshua Murphy [4f1c8c] Add bug report template
 Nasa2FGearthview 2019-03-25 chris_blues chris_blues [7b51c9] FGmeta/Nasa2FGearthview
 changes-in-dat-files 2016-12-08 Florent Rougon Florent Rougon [ef36d5] Add directory changes-in-dat-files/apt.dat with...
 fg-from-scratch 2019-09-30 Scott Giese Scott Giese [e0568f] Final 'white text' version
 fgaddon 2020-10-13 Stuart Buchanan Stuart Buchanan [c2223d] Better stats for aircraft_updates.py and set exec
 release_builder 2025-07-17 James Turner James Turner [bfd9e2] Upload release to GitLab as generic package
 windows 2025-03-06 Gijs de Rooy Gijs de Rooy [b1f848] Remove faulty information page from Windows ins...
 ws30 2025-09-07 Stuart Buchanan Stuart Buchanan [894fe2] Re-factor of WS3.0 scenery generation tooling
 .gitattributes 2017-05-18 Florent Rougon Florent Rougon [5fa233] download_and_compile.sh: replace manually set v...
 .gitignore 2025-07-17 Florent Rougon Florent Rougon [b6d92e] Update the top-level .gitignore file
 .gitlab-ci.yml 2026-01-09 James Turner James Turner [86c647] Adjust macOS Qt version to 6.5
 .gitmodules 2018-03-16 James Turner James Turner [4588c2] Switch to relative submodule URLs
 CMakeLists.txt 2024-12-16 James Turner James Turner [41985a] Superbuild: faster build & run times
 CMakePresets.json 2024-12-10 James Turner James Turner [022a28] CI tweaks
 CMakeUserPresets-example.json 2024-12-01 James Turner James Turner [2d9bae] Allow CMake superbuild
 FlightGear-files.iss 2025-08-23 Gijs de Rooy Gijs de Rooy [6c17c9] Use libpng16.dll
 FlightGear-i18n.iss 2021-01-17 Slawek Mikula Slawek Mikula [bfe6b6] - #2524 - ported changes from release installer...
 FlightGear.iss 2025-07-17 James Turner James Turner [72ac40] Forward port the installer naming changes
 LICENSE.md 2025-09-01 James Turner James Turner [de4c97] Add GPL license
 README.md 2024-10-24 James Turner James Turner [f99989] CI: fix notarytool invocation
 build_appimage.sh 2025-07-17 James Turner James Turner [72ac40] Forward port the installer naming changes
 build_macos_dmg.rb 2026-01-08 James Turner James Turner [e8a8c4] macOS: Fix crashpad permissions
 build_win_installers.bat 2025-07-17 James Turner James Turner [72ac40] Forward port the installer naming changes
 create_metar_dat.py 2016-08-08 Richard Senior Richard Senior [cd41e9] Parse new NOAA METAR index page format
 download_and_compile.sh 2025-08-21 Florent Rougon Florent Rougon [69f786] download_and_compile.sh: use correct operator f...
 fgdata_check_materials.py 2024-06-08 scttgs0 scttgs0 [5e0526] Ticket #2738 Material::setShininess() warning n...
 fgdata_checkers.py 2016-10-20 Rebecca N. Palmer Rebecca N. Palmer [f57a5e] fgdata_checkers: update comments
 fgtorrent.py 2025-04-17 Julian Smith Julian Smith [98964f] fgtorrent.py: new, for generating .torrent files.
 version 2020-10-13 Automatic Release Builder Automatic Release Builder [ebaa83] Update version information

Read Me

Download & Compile

CI builds on GitLab

CMake deployment helpers

The file flightgear/CMakeModules/Installation.cmake contains various helpers to minimsie shell scripting
after the build completes. In general, CMake scripting is preferred because the build system has complete
information available to it about library locations, versions, etc.

Notably there are CMake targets or optional installation components for:

  • adding the Qt deployables on Windows, by running windeployqt
  • creating a suitable appdir for running a Linux AppImage creation, including generating the .desktop meta-data file
  • copying OSG libraires and plugin into the deployment locations, eg the appdir for Linux and the bundle on macOS
  • creating the InnoSetup config file (InstallConfig.iss) on Windows
  • uploading debug symbols to Senty.io

macOS code signing, packaging, etc

We rely on a .keychain file being added via the GitLab 'secure files' feature. The keychain contains the macOS developer ID
certificate and corresponding private key file. The keychain also contains a notarization profile with saved AppStoreConnect data.

The developer ID, notarization profile name and the keychain password are all configured in
the GitLab UI via masked variables. The relevant variables are:

  • FG_CODESIGN_IDENTITY: this is the certifcate identity passed to codesign
  • FG_NOTARISE_PROFILE: the notarisation profile name inside the keytchain
  • FG_KEYCHAIN_PASSWORD: password to unlock the keychain

The CI YAML contains shell commands to download the secure file, add the keychain to the system list,
and unlock it so that code-signing and notarization are possible. Unlocking the keychain ensures
that operations which use it don't block with a password dialog or prompt.

Windows code signing