@@ -122,24 +122,30 @@ instructions for building on Windows.
122
122
` USE_STANDARD_FILESYSTEM=OFF ` . Note that this will only help with ` c++utilities ` itself. My other projects
123
123
might use ` std::filesystem ` unconditionally.
124
124
* 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.
126
132
* The Qt-based applications support bundling icon themes by specifying e.g.
127
133
` BUILTIN_ICON_THEMES=breeze;breeze-dark ` .
128
134
* This variable must be set when building the application (not when building any of the libraries).
129
135
* The specified icon themes need to be installed in the usual location. Otherwise, use e.g.
130
136
` BUILTIN_ICON_THEMES_SEARCH_PATH=D:/programming/misc/breeze-icons/usr/share/icons ` to specify the
131
137
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").
135
141
* The repository [ PKGBUILDs] ( https://github.com/Martchus/PKGBUILDs ) contains build scripts for GNU/Linux,
136
142
Android, Windows and MacOS X in form of Arch Linux packages using ` ninja ` . These scripts can be used as an
137
143
example also when building under/for other platforms.
138
144
139
145
#### Windows-specific notes
140
146
* 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.
143
149
* When using ` BUILTIN_ICON_THEMES ` , the icon theme still needs to be installed as if it was installed on a
144
150
GNU/Linux system. So simply grab e.g. the Arch Linux package ` breeze-icons ` and extract it somewhere. Do
145
151
* not* use the package from MSYS2 or what comes with builds from KDE's binary factory.
0 commit comments