Download installers if not present. They usually are, because are cached
by the workflow. However, this change is mainly to allow the installation
not by CI but on some local computer for debugging purposes by C&P.
Using `cmake --build . --parallel` actually doesn't limit the number
of processes because it just passes the number (here none) to make,
resulting in `make -j`.
This is a possible explanations of macOS runner freezes, as eg. here:
<https://github.com/MartinPulec/UltraGrid/actions/runs/7641831068>
(last relevant message in log is `[100%] Built target joysticks`).
This makes the script reentrant, allowing to run it also interactively
repeatedly, provided that the `apple_key_p12_b64` and
`notarytool_credentials` environment variables are correctly set.
Following to previous commit, we can build with Qt 6 (even thought that
a workaround is neeeded).
qt package (version 6) is installed anyways as a dependency of opencv
Install vulkan headers prior to updating homebrew tree.
the version 1.3.264 seem to be temporarily broken (see [1]), producing
error:
/usr/local/include/vulkan/vulkan.hpp:15:10: fatal error: 'vulkan/vulkan_hpp_macros.hpp' file not found
#include <vulkan/vulkan_hpp_macros.hpp>
[1]:
https://github.com/MartinPulec/UltraGrid/actions/runs/6184953701/job/16789584064
the version 4.1.7 in GH runner is unsolicitedly producing
relocatable install names as it would with (in recent HB version)
HOMEBREW_RELOCATABLE_INSTALL_NAMES=1
see failed run:
<https://github.com/CESNET/UltraGrid/actions/runs/6147222102/job/16745596096>
The relocatable install names like:
$ otool -L /usr/local/opt/qt/lib/QtGui.framework/QtGui | grep png
@loader_path/../../../../../../../opt/libpng/lib/libpng16.16.dylib
Makes significant problems to macdylibbundler (it doesn't copy the library
to the bundle at all neither chantes the name).
\+ reinstall freetype (see failed build
<https://github.com/MartinPulec/UltraGrid/actions/runs/6185513000/job/16791263362>)
fixes failed run
<https://github.com/CESNET/UltraGrid/actions/runs/5925739298/job/16065753514>
From some point, it seems that Qt6 (Homebrew port _qt_) is already
installed but it doesn't bundle successfully. So enforce using Qt5
(previous symlink command didn't replace the `/usr/local/opt/qt` symlink
if already present).
\+ copy the link instead of linking it to prevent:
Error: /usr/local/opt/qt@5 is not a valid keg
Copy sounfont to known path for macOS and Windows CI builds (in Linux,
this is already handled with a environment var SDL_SOUNDFONTS). And also
use that location if there is any soundfont.
Use of OpenSSL required a bit tweaking on mac. Also the new library is
faster and and smaller, which makes is better suitable for UG.
Note: other platforms are not compatible with wolfSSL yet - U18.04 does
contain old/incompatible version. MSYS2 doesn't build wolfSSL.