This PR introduces the first draft of a CMake based build system for YACReader. It is not feature complete and currently only supports building on Linux with system dependencies, but the necessary plumbing and key structures like options, module layout and best practices are mostly present.
Features:
Enforce out-of-source builds
Proper dependency management
Support promoting warnings to errors without affecting system headers (like Qt)
Faster builds
Can build and install YACReader on Linux and other Unix systems
Going forward, the idea is to include this WIP in our CI to keep it working and use it as a test platform for more strict compile flags than we currently set in qmake.
Missing features, which should be considered advanced - like downloading and managing external source dependencies like 7zip - should be introduced by later PRs until we can drop support for qmake builds.
This PR introduces the first draft of a CMake based build system for YACReader. It is not feature complete and currently only supports building on Linux with system dependencies, but the necessary plumbing and key structures like options, module layout and best practices are mostly present.
Features:
Going forward, the idea is to include this WIP in our CI to keep it working and use it as a test platform for more strict compile flags than we currently set in qmake.
Missing features, which should be considered advanced - like downloading and managing external source dependencies like 7zip - should be introduced by later PRs until we can drop support for qmake builds.