You will need CMake 3.16 or newer.  If your Linux distribution
doesn't provide CMake, or if it provides an older version, you can get
it here:

    https://cmake.org/download/

There are ready to use binary packages available for Linux from
that page.  If you must build it from source, please read the instructions
supplied here:

    https://cmake.org/install/

This program needs the Drumstick libraries. You should install the development
package before trying to compile KMetronome. You can alternatively build
KMetronome statically linked to Drumstick, see the advanced build options.

Drumstick is available here:

    https://drumstick.sourceforge.io

Building with CMake
-------------------

Unpack the tarball or check out the repository.  Assuming that you have the
source in ~/src/kmetronome, you need to change to that directory:

$ cd ~/src/kmetronome

Create a build directory, and change to it

$ mkdir build

Now run CMake to generate the build files.

$ cmake -S . -B build

Some variables you may want to set:

    * CMAKE_INSTALL_PREFIX:
      cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/usr

    * CMAKE_PREFIX_PATH:
      cmake -S . -B build -DCMAKE_PREFIX_PATH=$HOME/Qt/5.12.5/gcc_64/

If you are using your own compiled Drumstick sources:

    * Drumstick_DIR:
      cmake -S . -B build -DDrumstick_DIR=$HOME/Projects/drumstick/build/

For example:

$ cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/usr

Look the configure.release and configure.debug scripts for more examples.
If you prefer to avoid all this typing, you can use ccmake to view and change
these options using a friendly curses-based interface:

$ ccmake -S ~/src/kmetronome

There is a GUI equivalent:

$ cmake-gui ~/src/kmetronome

Finally build, and then (sudo) install, and you're done.

$ cmake --build build
$ sudo cmake --install build

To uninstall, use:

$ sudo cmake --build build --target uninstall

Advanced Build Options
----------------------

CMake configuration outputs Makefiles by default in Unix, but you may
prefer Ninja instead, using the cmake option: -G Ninja.

By default, make will output brief details of each build step.  If you
prefer to see full command lines, use:

$ cmake --build build --verbose

Another option, useful for packagers, is setting DESTDIR at install
time. The DESTDIR directory will be prepended to the prefix when
copying the files. https://cmake.org/cmake/help/latest/envvar/DESTDIR.html

$ cmake --install build --prefix ~/rpmroot

Dealing with Configuration Problems
-----------------------------------

First, look for an answer in CMake FAQ:

    https://gitlab.kitware.com/cmake/community/wikis/FAQ

You may want to read the documentation at:

    https://cmake.org/documentation

If you can't solve your problem, open a request for support at the project site:

    https://sourceforge.net/p/kmetronome/
