live555 HEAD commit is now f4a4e8fb0
testRTSPClient.cpp:64:24: error: copying variable of type 'EventLoopWatchVariable' (aka 'atomic<char>') invokes deleted constructor
64 | EventLoopWatchVariable eventLoopWatchVariable = 0;
The development in PCP seem to be very turbulent these days and it breaks
Win builds often so pin a commit in Windows CI until the situation calms
down a bit.
IP*PKTINFO is defined by the Mingw-w64 headers but the structs
(eg. msghdr or cmsghdr) as defined in RFC 3542 seem to be called
differently (WSAMSG, WSACMSGHDR).
So the compat will be perhaps still required unless PCP adds support
for Win structure names. The other changes are just fixing Win-specific
headers (which may be fixed in PCP upstream eventually).
Also moved dummy Git identity setting to enfironment.sh (is now needed
also for MSW).
Version 2024-10-24 expects std::atomic_flag::test(), which is a C++20
feature but can be omitted if NO_STD_LIB is defined. (passing -std=c++2a
won't help because U20.04 libstdc++ doesn't contain that method).
Built libajantv2 has now a different name:
```
2024-07-25T10:26:49.7807780Z Creating library D:/a/UltraGrid/UltraGrid/libajantv2/build/ajantv2/Release/ajantv2_vs143_MT.lib and object D:/a/UltraGrid/UltraGrid/libajantv2/build/ajantv2/Release/ajantv2_vs143_MT.exp
2024-07-25T10:26:50.0519395Z ajantv2.vcxproj -> D:\a\UltraGrid\UltraGrid\libajantv2\build\ajantv2\Release\ajantv2_vs143_MT.dll
```
with -DAJANTV2_DISABLE_PLUGIN_LOAD=ON
Not sure how it relates, but the former one is not supported and not
disabling the later causes undefined references to mbedtls, eg.:
```
/usr/bin/ld: /usr/local/lib/libajantv2.so: undefined reference to `mbedtls_pk_load_file'
/usr/bin/ld: /usr/local/lib/libajantv2.so: undefined reference to `mbedtls_pem_init'
/usr/bin/ld: /usr/local/lib/libajantv2.so: undefined reference to `mbedtls_pem_read_buffer'
/usr/bin/ld: /usr/local/lib/libajantv2.so: undefined reference to `mbedtls_pem_free'
/usr/bin/ld: /usr/local/lib/libajantv2.so: undefined reference to `mbedtls_pk_parse_subpubkey'
```
The commit bd91d16b (2024-05-31) causes the live555 being build on all
platforms, including arm Linux. But the plaform is not valid for that,
so replace linux-64bit with linux.
Also enforce live555 in this case.
Although not required for platforms other than Linux, it doesn't hurt
if we use this always (reduce script size and complexity).
\+ also removed setting CC/CXX for Win - perhaps no longer needed but
the second is now overriden, anyways (CPLUSPLUS_COPILER is set to CXX
by default but we override it)
Since we must now build the new libajantv2, which takes some 3 minutes,
cache the build in order not to increase the build time.
Also use libajantv2 path for the SDK instead of AJA (doesn't require
unneeded rename), which will be Windows specific.
Only do it in MSW, since the build is slowest. But it can be easily used
also for other platforms.
Use libajantv2 + switch the build system to the new lib at the same time
(it is easier and there is perhaps not a big advantage to splitthis to
2 steps).
This fixes all occurences of `cmake --build` as it already was in one
case with commit HEAD~7.
If omitted, CMake leaves the number of processes used on underlying
implementation, which turns out to `make -j`, thus unlimited number of
cores, which is undesirable.
This saves some 2.5 minute from the Windows runner run time.
There is also commented-out code to download the Release Asset directly
from CineForm GH. This unfortunatelly doesn't work right now (commented
in the file).
Although nowadays rarely used, /usr/src is a convenient place for
system-wide sources (aka libraries), so use it. Also it also removes the
need for hard-coded path.