From 6660ff7ecab7ce12eedd13b51cd08160d8b7107d Mon Sep 17 00:00:00 2001 From: Martchus Date: Thu, 17 Aug 2023 00:15:22 +0200 Subject: [PATCH] Improve section about building on Windows via MSYS2 * Make it clear where to find the "Building this straight" section * Give more details about reducing the list of dependencies to be installed --- README.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c6f1671..ebb2d1d 100644 --- a/README.md +++ b/README.md @@ -194,12 +194,16 @@ it as an existing build (instead of adding a new build configuration). ##### Remarks for building on Windows To create a development build on Windows, it is most straight forward to use the `devel-qt6` preset in a -MSYS2 mingw64 shell. Set the `BUILD_DIR` environment variable and then run the following commands: +MSYS2 mingw64 shell. Set the `BUILD_DIR` environment variable to specify the directory to store build +artefacts. + +Run the following commands to build one of my applications and its `c++utilities`/`qtutilities` dependencies +in one go: ``` -# install dependencies +# install dependencies; you may strip down this list depending on the application and features to enable pacman -Syu git perl-YAML mingw-w64-x86_64-gcc mingw-w64-x86_64-ccache mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-cppunit mingw-w64-x86_64-qt6-base mingw-w64-x86_64-qt6-declarative mingw-w64-x86_64-qt6-tools mingw-w64-x86_64-qt6-svg mingw-w64-x86_64-clang-tools-extra mingw-w64-x86_64-doxygen mingw-w64-x86_64-ffmpeg mingw-w64-x86_64-go -# clone repositories as mentioned under "Building this straight" +# clone repositories as mentioned under "Building this straight" in the application's README file cd /path/to/store/sources ... git clone ... @@ -213,6 +217,11 @@ cmake --build --preset devel-qt6 -- -v Note that: * not all those dependencies are required by all my projects and some are just optional. + * Especially `mingw-w64-x86_64-go` is only required when building Syncthing Tray with built-in + Syncthing-library enabled. + * All Qt-related dependencies are generally only required for building with Qt GUI, e.g. Tag Editor + and Password Manager can be built without Qt GUI. The libraries `c++utilities` and `tagparser` don't + require Qt at all. * you can also easily install Qt Creator via MSYS2 using `pacman -S mingw-w64-x86_64-qt-creator`. * you must *not* use the presets containing `mingw-w64` in their name as those are only intended for cross-compilation on Arch Linux.