Moved list of mods logic to a new CModManager class.
The list of enabled mods is now managed by a flag instead of directory
names of mods.
Mods are now disabled by default.
Also general cleanup, fixing issues from the code review in
https://github.com/colobot/colobot/pull/1191 and fixing linter issues.
Regression: the state of enabled/disabled mods is now not persistent.
The plan is to use some kind of config file for this.
Mute/unmute option when game windowis in background relies on settings
being updates. This happens when users leaves Options screen. This
commit adds saving audio settings on each change.
This is a fix for #1315
Moved most of the variables to targets in the main src.
Made libraries in repo export targets.
Refactor STATIC flags a little and add more.
This commit definitely breaks a lot of things like tests
but the main game builds at least with MSVC.
Make them export targets instead of variables.
Some platforms need libintl, abstract it to a Find*.cmake module.
Static linking requires linking to dependencies of dependencies (it is
as horrific as it sounds). This commit handles this only for libsndfile.
SDL2_image and SDL2_ttf probably also have some hidden dependencies.
FindGLEW module is now bundled with CMake, hence it is deleted.
Added Copyright.txt since some modules are taken from CMake.
`make update-pot` only works if a generator producing Makefiles was
used with `cmake`. The `cmake` command to build a specific target
will work for any generator.
Fixes the `'\1' is not recognized as an internal or external command`
error when trying to run the target `update-pot` with MSBuild.
The `|` characters probably messed with cmd.exe or PowerShell syntax
rules so they were replaced with slashes `/`.
Also, at least some implementations of sed for Windows would produce
CRLF line endings instead of LF line endings. The issue is fixed by
adding the flag `-b`.