<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/121960/">https://git.reviewboard.kde.org/r/121960/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On 一月 9th, 2015, 3:21 p.m. EST, <b>Yichao Yu</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="https://git.reviewboard.kde.org/r/121960/diff/1/?file=339398#file339398line39" style="color: black; font-weight: bold; text-decoration: underline;">lib/utils/CMakeLists.txt</a>
<span style="font-weight: normal;">
(Diff revision 1)
</span>
</th>
</tr>
</thead>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">39</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="nb">target_link_libraries</span><span class="p">(</span><span class="s"><span class="hl">qtcurve-utils</span></span> <span class="o">${</span><span class="nv">qtcurve_utils_LINKS</span><span class="o">}</span><span class="p">)</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">39</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="nb">target_link_libraries</span><span class="p">(</span><span class="o"><span class="hl">${</span></span><span class="nv"><span class="hl">QTC_UTILS_LIBRARY</span></span><span class="o"><span class="hl">}</span></span> <span class="o">${</span><span class="nv">qtcurve_utils_LINKS</span><span class="o">}</span><span class="p">)</span></pre></td>
</tr>
</tbody>
</table>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'm still not convinced that this is necessary. But even if it is, please set the OUTPUT_NAME instead of changing the name of the target. That will be a much smaller change.</p></pre>
</blockquote>
<p>On 一月 9th, 2015, 3:22 p.m. EST, <b>Yichao Yu</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">http://www.cmake.org/cmake/help/v3.0/prop_tgt/OUTPUT_NAME.html</p></pre>
</blockquote>
<p>On 一月 9th, 2015, 4:45 p.m. EST, <b>René J.V. Bertin</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Do you mean that I'd only have to do </p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%">set_target_properties(<span style="color: #BC7A00">${</span>QTC_UTILS_LIBRARY<span style="color: #BC7A00">}</span> PROPERTIES
VERSION 1.0
SOVERSION 1
COMPILE_FLAGS "-fvisibility=hidden"
LIBRARY_OUTPUT_DIRECTORY "<span style="color: #BC7A00">${</span>CMAKE_CURRENT_BINARY_DIR<span style="color: #BC7A00">}</span>"
OUTPUT_NAME "<span style="color: #BC7A00">${</span>QTC_UTILS_LIBRARY<span style="color: #BC7A00">}</span>")
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">with QTC_UTILS_LIBRARY set to the same value as currently (e.g. qtcurve-utils-qt4), and cmake will figure it all out without any additional changes? Even if all the dependent CMake files call for "qtcurve-utils" excplicitly?</p></pre>
</blockquote>
<p>On 一月 9th, 2015, 4:56 p.m. EST, <b>Yichao Yu</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">No</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">you should keep the target name as is and only set OUTPUT_NAME one it.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">i.e.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%">set_target_properties(qtcurve-utils PROPERTIES
VERSION 1.0
SOVERSION 1
COMPILE_FLAGS "-fvisibility=hidden"
LIBRARY_OUTPUT_DIRECTORY "<span style="color: #BC7A00">${</span>CMAKE_CURRENT_BINARY_DIR<span style="color: #BC7A00">}</span>"
OUTPUT_NAME "<span style="color: #BC7A00">${</span>QTC_UTILS_LIBRARY<span style="color: #BC7A00">}</span>")
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This way you don't need to change the link name used at other places.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">In another word, the only thing you need to do is (only 1 or 2 lines)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%">set_target_properties(qtcurve-utils PROPERTIES
VERSION 1.0
SOVERSION 1
COMPILE_FLAGS "-fvisibility=hidden"
LIBRARY_OUTPUT_DIRECTORY "<span style="color: #BC7A00">${</span>CMAKE_CURRENT_BINARY_DIR<span style="color: #BC7A00">}</span>"
OUTPUT_NAME "qtcurve-utils<span style="color: #BC7A00">${</span>QTC_UTILSLIB_INFIX<span style="color: #BC7A00">}</span>")
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">And specify <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">-DQTC_UTILSLIB_INFIX=-gtk2</code> etc at compile time.
Everything else can be the same with before.</p></pre>
</blockquote>
<p>On 一月 9th, 2015, 5:04 p.m. EST, <b>René J.V. Bertin</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Oops, yes, I forgot to change the target name back to <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">qtcurve-utils</code> .</p></pre>
</blockquote>
<p>On 一月 9th, 2015, 5:06 p.m. EST, <b>René J.V. Bertin</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Last question: will your example work even if <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">QTC_UTILSLIB_INFIX</code> hasn't been specified on the CMake commandline?</p></pre>
</blockquote>
<p>On 一月 9th, 2015, 5:10 p.m. EST, <b>Yichao Yu</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">AFAIK, yes.</p></pre>
</blockquote>
<p>On 一月 9th, 2015, 5:16 p.m. EST, <b>René J.V. Bertin</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">OK.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">In line with the other options, and to "advertise" it to the user, I propose to keep a simple entry in the toplevel CMake file:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%"><span style="color: #008000; font-weight: bold">if</span>(NOT DEFINED QTC_UTILSLIB_INFIX)
set(QTC_UTILSLIB_INFIX <span style="color: #BA2121">""</span>)
endif()
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">or is there a better way? <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">qtc_option</code> and <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">option</code> are only for boolean options, right?</p></pre>
</blockquote>
</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">That's also fine.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">option</code> is only for Boolean option and but <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">qtc_option</code> can be used on any options. You can see the definition right below the <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">## Options</code> line and it's very similar to yours.</p></pre>
<br />
<p>- Yichao</p>
<br />
<p>On 一月 9th, 2015, 3:14 p.m. EST, René J.V. Bertin wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
<div>Review request for KDE Software on Mac OS X and Yichao Yu.</div>
<div>By René J.V. Bertin.</div>
<p style="color: grey;"><i>Updated 一月 9, 2015, 3:14 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
qtcurve
</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">When building separate QtCurve packages for independent GTk2, Qt4/KDE4 and Qt5/KF5 versions of the style, a conflict arises with libqtcurve-utils. Each of the three versions uses this library, and it needs to be linked with the rendering SDK itself.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This patch introduces a CMake infix option, <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">QTC_UTILSLIB_INFIX</code> that can be used to change the library name to something unique for each package. When the option is not defined, the current behaviour is preserved; this is the default.</p></pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">On OS X 10.9.5 with Qt4.8/kdelibs 4.14.4 (using libqtcurve-utils-qt4.dylib), GTk2/X11 (libqtcurve-utils-gtk2.dylib) and "pure" Qt 5.3.2 (libqtcurve-utils-qt5.dylib).</p></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>CMakeLists.txt <span style="color: grey">(e8dd723)</span></li>
<li>gtk2/style/CMakeLists.txt <span style="color: grey">(451ecdd)</span></li>
<li>lib/cairo/CMakeLists.txt <span style="color: grey">(3363e46)</span></li>
<li>lib/utils/CMakeLists.txt <span style="color: grey">(0dd71c1)</span></li>
<li>qt4/config/CMakeLists.txt <span style="color: grey">(3b65e09)</span></li>
<li>qt4/kwin/CMakeLists.txt <span style="color: grey">(52c7c03)</span></li>
<li>qt4/kwinconfig/CMakeLists.txt <span style="color: grey">(1de6dc2)</span></li>
<li>qt4/style/CMakeLists.txt <span style="color: grey">(4ac461f)</span></li>
<li>qt5/config/CMakeLists.txt <span style="color: grey">(b4184dd)</span></li>
<li>qt5/kwin/CMakeLists.txt <span style="color: grey">(52c7c03)</span></li>
<li>qt5/kwinconfig/CMakeLists.txt <span style="color: grey">(1de6dc2)</span></li>
<li>qt5/style/CMakeLists.txt <span style="color: grey">(c78a73d)</span></li>
<li>test/CMakeLists.txt <span style="color: grey">(007c595)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/121960/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>