INSTALL.md: Add Python, ALSA, ASIO info
Markdown syntax
Get rid of OS-specific install docs
They were just direct copies from the libopenshot repo, and it's too
much of a pain keeping them in sync. libopenshot-audio doesn't really
warrant separate instructions for each OS.
INSTALL.md: Cleanup, more detail
Since CMake 3.11, the supported method of integrating Doxygen into
CMake projects has been via the doxygen_add_docs() CMake function,
which (crucially) can be passed a target name to create and doesn't
rely on tons of hardcoding like our UseDoxygen.cmake and its
Doxyfile.in template did.
This means our docs (only) now require CMake 3.11 to generate, but it
allows Doxygen to be configured/used multiple times in the same CMake
configuration, removing a major barrier to superproject builds.
Also, made docs disableable via an ENABLE_AUDIO_DOCS option, and adopt
FeatureSummary into the build.
Remove Doxyfile.in template
CI: Don't autoinstall API docs
Delete Doxyfile.in
Docs: Use PROJECT_VERSION_FULL
Don't pre-process source files
Also include the documentation MarkDown pages in the Doxygen docs.
These will show up as Related Pages in the interface.
* The formatting of `INSTALL-*.md` had to be changed some:
- Doxygen doesn't support headings in bulleted lists (lines starting
with `* ###`) -- I'm not even sure that's legal markdown. They were
changed to just level 3 headings (lines starting with `###`).
- ALL Windows paths in `INSTALL-WINDOWS.md` were wrapped in backticks,
to prevent Doxygen parsing them as markup commands.
- Level 1 headings were added to the top of the three install docs,
giving them the title "Building libopenshot for ___(OS)___".
Otherwise all three pages were titled "Getting Started".
* Separately, the table at the top of `HW-ACCEL.md` does not
translate well to Doxygen. It will need further polishing. But the
docs are all quite readable now.
Doxygen was having real trouble generating clean docs from
the JUCE sources, but their own website docs were generated
with Doxygen as well, and looked great.
Turns out, they preprocess their own source files before
generating docs from them. Borrowed their Python script to
munge the sources, and connected it up as a new target
dependency for `make doc`. It'll only run if the docs are
requested to be built, and `make clean` will clear out
the preprocessed sources if it's run.