The Docker container is complete, list of changes:
* Updated instructions in README for building tsMuxer in the Docker container.
* Updated build scripts accordingly.
* Added small section on testing to the README
qmake doesn't exist anymore : it is now only necessary to generate and build
via CMake, and then copy the application executable to the GUI folder so it
can be used.
MSYS2 defines WIN32 and has a working pkg-config installation, but the
CMakeLists.txt wrongly skipped using pkg-config if WIN32 was defined. This
commit fixes this.
TerminatableThread is now implemented by using std::thread. The terminate()
function provided by the base class was actually not used anywhere, and was
removed along with the base class itself.
As a bonus, the completely unused files common_win32.{cpp,h} are also removed.
Precompiled headers aren't actually used by any of the compilers, so leaving
this header in the repo doesn't make much sense.
However, removing it revealed some places in the code which rely on windows.h
being included on WIN32, which was probably included via the tchar.h include.
These places have been fixed to explicitly include windows.h.
Forward declarations are not allowed to have nested namespace declarations, as
they have to appear inside a namespace if the thing they're forwarding appears
in a namespace originally.
This is a warning with GCC, but an error with Clang. Removing the declaration
entirely is the way to go, since psgStreamReader.h includes textSubtitles.h
anyway, which contains a full definition of the TextToPGSConverter class.
Currently can build tsmuxer CLI and libmediation in native 64-bit
on Linux. Windows, Mac, and 32-bit untested (32-bit is mostly
a function of the user's CXX_FLAGS settings anyway).
As a consequence of trying to get it to build the correct files,
the textSubtitleRender{FT|Win32}.* files had to be moved to an
osdep/ subdirectory. Some #include cases were also fixed to
point to the correct headers and directories in the source
tree or elsewhere.
Install rules need to be fleshed out for static/shared libs and
headers for libmediation, uninstall rules need to be added.
tsMuxerGUI needs to be hooked in as well.