[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&#39;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:

    &quot;VERSION_LESS&quot; &quot;3.1&quot;

  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