Use the installer and rely on dylibbundler v2 to deploy the framework
correctly.
Note: in the macOS/install_others.sh script, make sure that the env var
modification is global (== not just in the subshell) in order to be updated
by subsequent commands in the same script.
disabled in 3a076d24
The VideoMasterHD[_audio] did have invalid signature because of tweaked
internal paths, which caused Apple runtime to kill the process. Removing
the signature is not sufficient (the runtime requires signature) so we
sign it by our key.
Remove absolute path from library location - we are in the directory
anyways.
This will be useful for local use (to copy and paste) when the library
is already copied to `$(xcrun --show-sdk-path)..` etc.
\+ early return
It is not needed to split the string like this:
```
a="potentially long string on"\
"multiple lines"
```
but it is better rather to put the '\' inside the string:
```
a="potentially long string on\
multiple lines"
```
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.