This project uses git submodules and several are required for a successful
build.  If this tarball was NOT provided with submodules (default), some source
dependencies will need to be manually added to src/3rdparty.

If this project WAS provided with submodules, there are detailed dependencies
(e.g. supported compilers, cmake requirements, cross-compilation) at
doc/wiki/Compiling.md including platform-specific build instructions (e.g.
apt-get, dnf, pacman, etc).

Online documentation:

   https://github.com/LMMS/lmms/wiki/

Live online chat via Discord (similar to IRC):

   https://lmms.io/chat, Channel #programming

Basic build steps:

   mkdir build
   cd build
   cmake ../
   make
   sudo make install
   # or alternately: su -c 'make install'

With the above commands an out-of-tree build is performed. You can also run
"cmake ." directly in the root of source tree although this is not recommended.
When performing an out-of-tree build after there's already an in-tree build,
make sure to run "make distclean" before running cmake inside build-directory.

If you want to use custom compiler flags simply set the environment variables
CFLAGS and CXXFLAGS.

After running cmake (the 3rd command above) you can see a summary of things
that are going to be built into LMMS or built as plugins. Install the
according libraries and development files if a certain feature is not enabled.
Then remove CMakeCache.txt and run cmake again.

For non-root installs, or to install to a non-standard location, provide an
install prefix to cmake, using the flag:

   -DCMAKE_INSTALL_PREFIX=<prefix>

The Compilation tutorial (see docs/wiki/Compilation.md)
specifically uses <prefix> as "../target" for all non-root installations.  This
is strongly recommended if developing a patch or a feature.  For root
installations, <prefix> can be /usr, /usr/local, /opt, etc. For most systems,
the default is /usr/local.

If your Qt5 installation does not reside in standard installation paths,
additionally pass:

   -DCMAKE_PREFIX_PATH=<prefix>

Where <prefix> is the location to Qt5 installation, usually /opt/qt5/, etc.

Important wiki sections:

doc/wiki/Compiling.md:
   Dependencies Detailed
      - Build Toolchain (cmake)
      - Compiler (gcc, clang)
      - Libraries (required and optional dependencies)

doc/wiki/Dependencies-<platform>.md
   Platform-specific dependencies (Windows, Ubuntu, Fedora, macOS, etc.)
