Skip to content

Commit 1d973f7

Browse files
committed
Improve build instructions
1 parent f8a062e commit 1d973f7

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

README.md

+12-6
Original file line numberDiff line numberDiff line change
@@ -122,24 +122,30 @@ instructions for building on Windows.
122122
`USE_STANDARD_FILESYSTEM=OFF`. Note that this will only help with `c++utilities` itself. My other projects
123123
might use `std::filesystem` unconditionally.
124124
* To disable `NativeFileStream` (and make it just a regular `std::fstream`), set `USE_NATIVE_FILE_BUFFER=OFF`.
125-
Note that handling paths with non-ASCII characters will then cease to work on Windows.
125+
This can be safely done when building `c++utilities` *only* for applications that don't use `std::fstream`
126+
anyway such as Syncthing Tray. Then disabling makes sense to avoid depending on a `libstdc++` vendor
127+
extension or Boost.Iostreams. Otherwise disabling is not recommended as it will lead to the following
128+
limitations:
129+
* Error messages when opening files will not contain the cause of the error.
130+
* Opening files under paths with non-ASCII characters will not work on Windows.
131+
* Password Manager will not compile for Android.
126132
* The Qt-based applications support bundling icon themes by specifying e.g.
127133
`BUILTIN_ICON_THEMES=breeze;breeze-dark`.
128134
* This variable must be set when building the application (not when building any of the libraries).
129135
* The specified icon themes need to be installed in the usual location. Otherwise, use e.g.
130136
`BUILTIN_ICON_THEMES_SEARCH_PATH=D:/programming/misc/breeze-icons/usr/share/icons` to specify the
131137
search path.
132-
* For more detailed documentation, see the documentation about build variables (in
133-
[directory doc](https://github.com/Martchus/cpp-utilities/blob/master/doc/buildvariables.md) and
134-
in Doxygen version accessible via "Related Pages").
138+
* For more details, checkout the documentation about build variables (in the
139+
[directory `doc`](https://github.com/Martchus/cpp-utilities/blob/master/doc/buildvariables.md) and
140+
in the Doxygen version accessible under "Related Pages").
135141
* The repository [PKGBUILDs](https://github.com/Martchus/PKGBUILDs) contains build scripts for GNU/Linux,
136142
Android, Windows and MacOS X in form of Arch Linux packages using `ninja`. These scripts can be used as an
137143
example also when building under/for other platforms.
138144

139145
#### Windows-specific notes
140146
* To create application icons the tool `ffmpeg`/`avconv` is required.
141-
* Windows builds are mainly conducted using mingw-w64/GCC so using them is recommended. Building with MSVC
142-
should be possible as well but it is not as well tested.
147+
* Windows builds are mainly conducted using mingw-w64/GCC/LLVM so using them is recommended. Building with
148+
MSVC should be possible as well but it is not as well tested.
143149
* When using `BUILTIN_ICON_THEMES`, the icon theme still needs to be installed as if it was installed on a
144150
GNU/Linux system. So simply grab e.g. the Arch Linux package `breeze-icons` and extract it somewhere. Do
145151
*not* use the package from MSYS2 or what comes with builds from KDE's binary factory.

0 commit comments

Comments
 (0)