[KDE/Mac] Review Request 124824: [OS X] FindKDE4Internal.cmake : reintroduce a cmake_minimum_required statement

René J.V. Bertin rjvbertin at gmail.com
Fri Aug 21 08:39:25 UTC 2015



> On Aug. 19, 2015, 8: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.

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.


- René J.V.


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124824/#review84062
-----------------------------------------------------------


On Aug. 19, 2015, 7: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, 7: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
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20150821/1070f31a/attachment.html>


More information about the kde-mac mailing list