To compile FeatherNotes from its source, first install build dependencies. In Debian-based systems, they are:

 * g++ >= 5
 * libx11-dev and libxext-dev (for X11)
 * qtbase5-dev and libqt5x11extras5-dev (for Qt5)
 * libqt5svg5-dev (for hard-coded SVG icons)
 * qttools5-dev-tools (for localization)
 * libhunspell-dev (for spell checking)

In Arch-based systems, the required package are:

 * gcc (or gcc-multilib for multilib systems)
 * libx11 and libxext (for X11)
 * qt5-base and qt5-x11extras (for Qt5)
 * qt5-svg (for hard-coded SVG icons)
 * qt5-tools (for localization)
 * hunspell (for spell checking)

In Red Hat based systems like Fedora:

 * gcc-c++
 * libX11-devel
 * libXext-devel
 * qt5-qtx11extras-devel
 * qt5-qtbase-devel
 * qt5-qtsvg-devel
 * qt5-qttools-devel
 * hunspell-devel (for spell checking)

And, finally, in OpenSUSE:

 * gcc-c++
 * libX11-devel
 * libXext-devel
 * libqt5-qtx11extras-devel
 * libqt5-qtbase-devel
 * libqt5-qtsvg-devel
 * libqt5-qttools-devel
 * hunspell-devel (for spell checking)

NOTE: `pkgconfig` is required for finding Hunspell's version with cmake. Since it may be provided by more that one package in some distros, it is not listed above.

Then, open a terminal inside this folder and issue the following commands:

	mkdir build && cd build
	cmake ..
	make
	sudo make install

In some distros, you may need to be more explicit and use `cmake .. -DCMAKE_INSTALL_PREFIX=/usr` for installing FeatherNotes under `/usr`, in contrast to `/usr/local`. The latter place may not be good in Linux distros and could cause troubles later.

NOTE: Experimental compilation against Qt6 can be done with `cmake .. -DENABLE_QT5=OFF`. When Qt6 becomes the default version of Qt in some distros, that compilation option will be set to `OFF` by default.

************************************
*   Compilation without Hunspell   *
************************************

Under Linux and Unix, FeatherNotes supports spell checking with Hunspell, which is included in the compilation by default.

But if you do not want the spell checking support, you could first turn it off with:

	cmake .. -DWITH_HUNSPELL=OFF

*******************************
*   Compilation without X11   *
*******************************

If, for whatever reason, you do not want the X11 support, you could first turn on the option "WITHOUT_X11":

	cmake .. -DWITHOUT_X11=ON

The result will have all features except for virtual desktop awareness.

Please also note that, on Linux, FeatherNotes works under Wayland and you do not need to disable its X11 support for that.

Compilation on Haiku OS or macOS does not require "WITHOUT_X11" either.

**********************************
*   Translation (Localization)   *
**********************************

The file 'feathernotes/data/translations/feathernotes.ts' can serve as the basis for translation. The translated file should be saved in the same directory as "feathernotes_LN.ts", where "LN" is the abbreviation for the target language, like "de", "fr", etc.

If you have translated FeatherNotes's GUI into your language, please make a "Pull Request" (PR) at https://github.com/tsujan/FeatherNotes for your work to be merged into FeatherNotes!
