[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-mac
Subject: Re: [KDE/Mac] Review Request 124824: [OS X] FindKDE4Internal.cmake : reintroduce a cmake_minimum_req
From: "Stephen Kelly" <steveire () gmail ! com>
Date: 2015-08-21 17:29:37
Message-ID: 20150821172937.4320.58604 () mimi ! kde ! org
[Download RAW message or body]
--===============0659347224518484136==
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
> On Aug. 19, 2015, 6:06 p.m., Stephen Kelly wrote:
> > This patch is not correct.
> >
> > What repo were you trying to build? Add cmake_minimum_required(VERSION 2.8.9) \
> > there.
>
> Stephen Kelly wrote:
> Why did this review go quiet? Did you pull and realize that line was already there \
> in whatever repo you're looking at?
> René J.V. Bertin wrote:
> What, my 2 replies below aren't sufficient? :) If you missed them, that'd probably \
> support of my idea that most KDE devs are focussed away from flogging dead horses \
> (i.e., KDE4 code, to quote one of those devs, a rather "visible" one I won't name). \
> No, I didn't pull whatever repo after pulling the 4.14 branch head of one of the \
> KDE PIM components and bumping into this error.
> Luigi Toscano wrote:
> David Faure, durink Akademy, was rebuilding the last kdelibs4 branch for most \
> applications, I think to ensure that the changes in the default cmake policy did \
> not break them. He did various fixes, so I think that fixing this in the proper way \
> (which I can't help to, sorry) would be good.
> René J.V. Bertin wrote:
> And he did a good job *on Linux* to the extent that I haven't been able to trigger \
> the issue on my Linux rig (Kubuntu 14.04.3LTS with cmake 3.0.1). Which is why my \
> patch is Mac-specific.
>
> But frankly, I don't see the point in obliging each and every dependent project to \
> declare the minimum required cmake version. Not if that's not a requirement of \
> cmake itself, nor of the project, but of one of the libraries it uses. I really \
> don't see how this is different from, say, declaring CMake macros that are specific \
> to KDE and not to a given dependent project.
> On the contrary, it seems clear that the version requirement stems from something \
> done in (or included by) a cmake file that's installed through kdelibs. In my book \
> that makes it kdelibs' responsibility to declare the minimum required version. If \
> it's not yet set, and/or as long as subsequent calls to `cmake_minimum_required` do \
> not override (= downgrade) minimum versions set by preceding calls.
> That said, I'm going to have to get back to my Mac to verify why I apparently \
> missed kdepim commit 8a187bc316271caed9c2591d91fb8706abe5c665 ("Fix the build after \
> yet another cmake policy change") or what else is going on.
> Not if that's not a requirement of cmake itself
It is a requirement of cmake itself, and it has been for 6 years.
- Stephen
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124824/#review84062
-----------------------------------------------------------
On Aug. 19, 2015, 5:41 p.m., René J.V. Bertin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124824/
> -----------------------------------------------------------
>
> (Updated Aug. 19, 2015, 5:41 p.m.)
>
>
> Review request for KDE Software on Mac OS X and kdelibs.
>
>
> Repository: kdelibs
>
>
> Description
> -------
>
> The recent removal of the code block from FindKDE4Internal.cmake starting with the \
> `cmake_minimum_required` statement breaks configuring on OS X:
> ```
> -- The C compiler identification is AppleClang 6.0.0.6000057
> -- The CXX compiler identification is AppleClang 6.0.0.6000057
> -- Check for working C compiler: \
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
>
> -- Check for working C compiler: \
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang \
> -- works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Detecting C compile features
> -- Detecting C compile features - done
> -- Check for working CXX compiler: \
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
>
> -- Check for working CXX compiler: \
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ \
> -- works
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> -- Detecting CXX compile features
> -- Detecting CXX compile features - done
> -- Looking for Q_WS_X11
> -- Looking for Q_WS_X11 - not found
> -- Looking for Q_WS_WIN
> -- Looking for Q_WS_WIN - not found
> -- Looking for Q_WS_QWS
> -- Looking for Q_WS_QWS - not found
> -- Looking for Q_WS_MAC
> -- Looking for Q_WS_MAC - found
> -- Looking for QT_MAC_USE_COCOA
> -- Looking for QT_MAC_USE_COCOA - found
> -- Found Qt-Version 4.8.7 (using /opt/local/libexec/qt4/bin/qmake)
> -- Looking for include file pthread.h
> -- Looking for include file pthread.h - found
> -- Looking for pthread_create
> -- Looking for pthread_create - found
> -- Found Threads: TRUE
> CMake Error at /opt/local/share/cmake-3.2/Modules/FindPkgConfig.cmake:112 (elseif):
> given arguments:
>
> "VERSION_LESS" "3.1"
>
> Unknown arguments specified
> Call Stack (most recent call first):
> /opt/local/share/cmake-3.2/Modules/FindPkgConfig.cmake:501 \
> (_pkgconfig_parse_options)
> /opt/local/share/cmake-3.2/Modules/FindOpenSSL.cmake:43 (pkg_check_modules)
> /opt/local/share/apps/cmake/modules/Qt4ConfigDependentSettings.cmake:224 \
> (FIND_PACKAGE)
> /opt/local/share/apps/cmake/modules/FindQt4.cmake:1207 (INCLUDE)
> /opt/local/share/apps/cmake/modules/FindKDE4Internal.cmake:425 (find_package)
> /opt/local/share/cmake-3.2/Modules/FindKDE4.cmake:108 (find_package)
> CMakeLists.txt:4 (find_package)
>
>
> -- Configuring incomplete, errors occurred!
> ```
>
> The attached patch is the minimum reintroduction of the removed code that allows \
> the cmake procedure to conclude successfully.
> CMake experts might be aware of other ways to address this issue more in line with \
> the reason the block was removed.
>
> Diffs
> -----
>
> cmake/modules/FindKDE4Internal.cmake 7d54b9b
>
> Diff: https://git.reviewboard.kde.org/r/124824/diff/
>
>
> Testing
> -------
>
> On OS X 10.9.5 with KDELibs 4.14.11 (v4.14.10-20-g150d983) and CMake 3.2.2 .
>
> The unmodified code from v4.14.10-20-g150d983 is fine on Linux with cmake 3.0.1 .
>
>
> Thanks,
>
> René J.V. Bertin
>
>
--===============0659347224518484136==
MIME-Version: 1.0
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 8bit
<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/124824/">https://git.reviewboard.kde.org/r/124824/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;"> <p style="margin-top: 0;">On August 19th, 2015, 6:06 p.m. UTC, <b>Stephen \
Kelly</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;">This patch is not correct. </p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">What \
repo were you trying to build? Add cmake_minimum_required(VERSION 2.8.9) \
there.</p></pre> </blockquote>
<p>On August 21st, 2015, 7:34 a.m. UTC, <b>Stephen Kelly</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;">Why \
did this review go quiet? Did you pull and realize that line was already there in \
whatever repo you're looking at?</p></pre> </blockquote>
<p>On August 21st, 2015, 7:44 a.m. UTC, <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;">What, \
my 2 replies below aren't sufficient? :) If you missed them, that'd probably support \
of my idea that most KDE devs are focussed away from flogging dead horses (i.e., KDE4 \
code, to quote one of those devs, a rather "visible" one I won't name).</p> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">No, I didn't pull whatever repo after pulling the 4.14 branch head of one \
of the KDE PIM components and bumping into this error.</p></pre> </blockquote>
<p>On August 21st, 2015, 8:04 a.m. UTC, <b>Luigi Toscano</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;">David Faure, durink \
Akademy, was rebuilding the last kdelibs4 branch for most applications, I think to \
ensure that the changes in the default cmake policy did not break them. He did \
various fixes, so I think that fixing this in the proper way (which I can't help \
to, sorry) would be good.</pre> </blockquote>
<p>On August 21st, 2015, 8:39 a.m. UTC, <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;">And \
he did a good job <em style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: normal;">on Linux</em> to the extent that I \
haven't been able to trigger the issue on my Linux rig (Kubuntu 14.04.3LTS with cmake \
3.0.1). Which is why my patch is Mac-specific.</p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">But \
frankly, I don't see the point in obliging each and every dependent project to \
declare the minimum required cmake version. Not if that's not a requirement of cmake \
itself, nor of the project, but of one of the libraries it uses. I really don't see \
how this is different from, say, declaring CMake macros that are specific to KDE and \
not to a given dependent project.</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">On the contrary, it \
seems clear that the version requirement stems from something done in (or included \
by) a cmake file that's installed through kdelibs. In my book that makes it kdelibs' \
responsibility to declare the minimum required version. If it's not yet set, and/or \
as long as subsequent calls to <code style="text-rendering: inherit;color: \
#4444cc;padding: 0;white-space: normal;margin: 0;line-height: \
inherit;">cmake_minimum_required</code> do not override (= downgrade) minimum \
versions set by preceding calls.</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">That said, I'm going to \
have to get back to my Mac to verify why I apparently missed kdepim commit \
8a187bc316271caed9c2591d91fb8706abe5c665 ("Fix the build after yet another cmake \
policy change") or what else is going on.</p></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;"><blockquote \
style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid \
#bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;"> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">Not if that's not a requirement of cmake itself</p> </blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">It is a requirement of cmake itself, and it has been \
for 6 years.</p></pre> <br />
<p>- Stephen</p>
<br />
<p>On August 19th, 2015, 5:41 p.m. UTC, 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 kdelibs.</div>
<div>By René J.V. Bertin.</div>
<p style="color: grey;"><i>Updated Aug. 19, 2015, 5:41 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kdelibs
</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;">The recent removal of the code block from \
FindKDE4Internal.cmake starting with the <code style="text-rendering: inherit;color: \
#4444cc;padding: 0;white-space: normal;margin: 0;line-height: \
inherit;">cmake_minimum_required</code> statement breaks configuring on OS X:</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%">-- The C compiler identification is AppleClang \
6.0.0.6000057
-- The CXX compiler identification is AppleClang 6.0.0.6000057
-- Check for working C compiler: \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
-- Check for working C compiler: \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang \
-- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
-- Check for working CXX compiler: \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ \
-- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - found
-- Looking for QT_MAC_USE_COCOA
-- Looking for QT_MAC_USE_COCOA - found
-- Found Qt-Version 4.8.7 (using /opt/local/libexec/qt4/bin/qmake)
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
CMake Error at /opt/local/share/cmake-3.2/Modules/FindPkgConfig.cmake:112 (elseif):
given arguments:
"VERSION_LESS" "3.1"
Unknown arguments specified
Call Stack (most recent call first):
/opt/local/share/cmake-3.2/Modules/FindPkgConfig.cmake:501 \
(_pkgconfig_parse_options) /opt/local/share/cmake-3.2/Modules/FindOpenSSL.cmake:43 \
(pkg_check_modules) \
/opt/local/share/apps/cmake/modules/Qt4ConfigDependentSettings.cmake:224 \
(FIND_PACKAGE) /opt/local/share/apps/cmake/modules/FindQt4.cmake:1207 (INCLUDE)
/opt/local/share/apps/cmake/modules/FindKDE4Internal.cmake:425 (find_package)
/opt/local/share/cmake-3.2/Modules/FindKDE4.cmake:108 (find_package)
CMakeLists.txt:4 (find_package)
-- Configuring incomplete, errors occurred!
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">The attached patch is the minimum reintroduction of \
the removed code that allows the cmake procedure to conclude successfully.</p> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">CMake experts might be aware of other ways to address this issue more in \
line with the reason the block was removed.</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 KDELibs 4.14.11 \
(v4.14.10-20-g150d983) and CMake 3.2.2 .</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">The unmodified code \
from v4.14.10-20-g150d983 is fine on Linux with cmake 3.0.1 .</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>cmake/modules/FindKDE4Internal.cmake <span style="color: \
grey">(7d54b9b)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/124824/diff/" style="margin-left: \
3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>
--===============0659347224518484136==--
[Attachment #3 (text/plain)]
_______________________________________________
kde-mac@kde.org
List Information: https://mail.kde.org/mailman/listinfo/kde-mac
KDE/Mac Information: http://community.kde.org/Mac
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic