Assume the builds are against a version of OSG with the <fstream>
declspec(export) fix applied, and hence we can use normal linking,
not the /FORCE:MULTIPLE thing which slows down and complains.
By setting the 'ident' attribute for /download_and_compile.sh, this
replacement will be automatic whenever the file is checked out.
Note: the ID is the 40-character hexadecimal blob object name in Git, it
is *not* the commit ID. 'git show <id>' can be used to obtain the
script contents from its blob object name (id).
This will avoid spoiling every diff with the version number change, or
alternatively having different versions of the same file displaying and
logging the same version number.
If download_and_compile.sh is moved to a different directory in FGMeta
(or even renamed), then the path in .gitattributes must be adapted for
the substitution to work (the '/' in .gitattributes anchors the match at
the containing directory; I did this because download_and_compile.sh is
a rather generic name, and there *might* be different scripts with the
same name in other dirs...).
- Add function _package_alternative() to select between alternative
packages (idea of Pat Callahan).
- Split the 'apt-get update' and 'apt-get install' steps to arrange for
installation of the 'dctrl-tools' prerequisite of
_package_alternative().
- Add and use functions _aptUpdate() and _aptInstall() for good
factoring (makes testing easier for people not using sudo, allows one
to easily switch from 'apt-get' to 'apt' or 'aptitude' if wanted,
etc.).
Support multiple primary aircraft in a package, which has several
aircraft developers have requested. This adjusts the handling of
the variant-of and primary-set tags.
Additionally, this adds partial unit-test coverage for -set.xml
scanning and catalog XML generation.
Run ./test_catalog to run unit-tests of the catalog generation.
Note on eras: I've added every decade since flight started for
consistency and completeness. For example, the Bell X-1 is from
the 1940s but is post-WW2.
- extract per-variant thumbnails from -set.xml files
- handle multiple primary aircraft in a directory (this will
need client-side changes too, eventually)
Cmake now has a standard variable to indicate the build type we are
creating. Map the existing settings on each platform to that value
(with varying degrees of nice-ness, further clean-up possible)
We can build a 64-bit FGPanel now, since the issue was GLUT and freeGlut
supports a 64-bit version.
Note the shortcut icon is not disabled automatically, that needs an
additional fix.