<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/115210/">https://git.reviewboard.kde.org/r/115210/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On January 22nd, 2014, 8:22 a.m. UTC, <b>Patrick von Reth</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Until now we had no problems with the data installed to bin/../share and this setup would make it impossible to have multiple independent kde setups on one system.</pre>
</blockquote>
<p>On January 22nd, 2014, 2:26 p.m. UTC, <b>Alexander Richardson</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I know. The problem is QStandardPaths with QStandardPaths::GenericDataLocation only looks in %ALLUSERSPROFILE% and I think %APPDATA%. KF5 based KDE software won't work otherwise since it can't find the data. I think the better way of fixing this is patching Qt, but for now this works.</pre>
</blockquote>
<p>On January 22nd, 2014, 2:39 p.m. UTC, <b>Patrick Spendrin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Can you keep that patch locally for now and we try and come up with a patch for Qt instead? We cannot restrict ourselves at that point I think.</pre>
</blockquote>
<p>On January 22nd, 2014, 2:53 p.m. UTC, <b>Alexander Richardson</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Sure no problem. I'll drop this request</pre>
</blockquote>
<p>On January 22nd, 2014, 3:01 p.m. UTC, <b>David Faure</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">So what do you recommend instead, for QStandardPaths? Checking some non-standard environment variable? or?</pre>
</blockquote>
<p>On January 22nd, 2014, 3:09 p.m. UTC, <b>Alexander Richardson</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I would go for the environment variable. Something like QSTANDARDPATHS_EXTRA_DATA_DIRS that is checked in addition to the default dirs.
Would also be useful for other cases: e.g. in the okteta unit tests I set XDG_DATA_DIRS so that my test data gets found by QStandardPaths (I know there is QFINDTESTDATA, but that won't work in that case).
It would also be nice if there were some cross-platform solution like QStandardpaths::addDirectory(QStandardPaths::StandardLocation, const QString& path) to inject (like KStandardDirs::addResourceDir).</pre>
</blockquote>
<p>On January 22nd, 2014, 3:18 p.m. UTC, <b>Patrick von Reth</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I don't like the idea of using the env var as this would require the user to setup the variables or a kde process to set them up.
We also would get an undefined behaviour if the env var is not set.
I think kde is not the only qt project ported to windows wich uses the bin/../share location on windows, so why not only add this path with a low priority to QStrandardpathes?
</pre>
</blockquote>
<p>On January 22nd, 2014, 3:45 p.m. UTC, <b>David Faure</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I agree that the env var would be quite inconvenient, which is why I was dubious about that approach.
A method to add paths wouldn't help either (how would all apps do it?)
bin/../share means "go up one level from the location of the executable and enter share"? I thought Windows apps didn't use a bin/ dir actually, but were rather in the toplevel?
Anyhow I'd be fine with that, especially if you can find any documentation of this outside of kde (to explain the reasoning in the Qt change request).</pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">As far as I can see:
1 - Most GNU apps and libs ported from *nix to Windows use $PREFIX/bin, $PREFIX/share etc... and PREFIX is not standard on windows (those apps normally don't use %PROGRAMFILES%)
* Other autoconf-based apps and libs also follow this structure
* even those using %PROGRAMFILES% also follow this structure (e.g. for GIMP 2, $PREFIX is "%PROGRAMFILES%\GIMP 2\", having bin, lib, share... inside it)
2 - Most CMake-based apps also follow a similar pattern, relative to $CMAKE_INSTALL_PREFIX, having no specific "if(WIN32)" to install to a different directory structure
* Cmake itself is distributed in this kind of structure (http://www.cmake.org/files/v2.8/cmake-2.8.12.2.zip)
I think those can explain the reasoning needed for a Qt request.</pre>
<br />
<p>- Andrius da Costa</p>
<br />
<p>On January 22nd, 2014, 2:53 p.m. UTC, Alexander Richardson wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for Build System, Extra Cmake Modules, KDE Frameworks, and kdewin.</div>
<div>By Alexander Richardson.</div>
<p style="color: grey;"><i>Updated Jan. 22, 2014, 2:53 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
extra-cmake-modules
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Always set DATA_INSTALL_DIR to %ALLUSERSPROFILE% on Windows
Otherwise QStandardPaths will always fail with e.g. GenericDataLocation</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>kde-modules/KDEInstallDirs.cmake <span style="color: grey">(46e15c17d488d56f146aba0c2d420f74a22b9152)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/115210/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>