Re: [CMake] Why does CMAKE_FIND_FRAMEWORK always default to FIRST ignoring command line definitions?
David Cole wrote On Tue, May 29, 2012 at 2:33 PM, Charlie Sharpsteen lt;chuck@gt;wrote: So, is there any reason `IF(NOT DEFINED CMAKE_FIND_FRAMEWORK)` cannot be used in the platform file to protect command line arguments? I can't think of a good reason not to use that construct. Questions: Is there a homebrew build of CMake that you're using? Can you patch it with `IF(NOT DEFINED CMAKE_FIND_FRAMEWORK)` where appropriate? If you can, and you do, are there any noticeable ill effects? (Do all the CMake tests pass?) If the answers to these questions are reasonable, then I'd take a patch that does what you want with respect to variables used in Darwin.cmake, no problem. Thanks, David Thanks for the reply David! I have submitted a patch to the CMake bugtracker: http://public.kitware.com/Bug/view.php?id=13261 Building CMake with this patch produced no additional failures in the testsuite. Building QGIS is now much improved by the ability to control the priority given to Frameworks when satisfying dependencies. -Charlie -- View this message in context: http://cmake.3232098.n2.nabble.com/Why-does-CMAKE-FIND-FRAMEWORK-always-default-to-FIRST-ignoring-command-line-definitions-tp7521759p7580022.html Sent from the CMake mailing list archive at Nabble.com. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Why does CMAKE_FIND_FRAMEWORK always default to FIRST ignoring command line definitions?
Charlie Sharpsteen wrote Rolf Eike Beer wrote Because those value is set in the Darwin platform file (Modules/Platform/Darwin.cmake) which is taken into account by the PROJECT() call. So this is just overridden. Eike Any reason those definitions can't be protected by `IF(NOT DEFINED CMAKE_FIND_FRAMEWORK)`? If I can't override the default from the command line, it seems like the only recourse is to maintain patches for every project I am trying to build with CMake--a very messy and fragile solution. -Charlie I would like to bump this thread again because it is causing us some pain over on the Homebrew package manager. For example, if the user has installed a package like the Mono distribution, there are a lot of 32-bit Framworks that get swept into anything compiled CMake and this breaks the builds: https://github.com/mxcl/homebrew/issues/11030 In this situation it would be _really helpful_ to be able to tell CMake, via the command line, to use our 64-bit libraries first before looking at the 32-bit frameworks. Unfortunately, since the defaults in the platform file override the command line arguments there is no way to do this without patching the CMake build files for every software package we manage---an infeasible solution. So, is there any reason `IF(NOT DEFINED CMAKE_FIND_FRAMEWORK)` cannot be used in the platform file to protect command line arguments? -Charlie -- View this message in context: http://cmake.3232098.n2.nabble.com/Why-does-CMAKE-FIND-FRAMEWORK-always-default-to-FIRST-ignoring-command-line-definitions-tp7521759p7579586.html Sent from the CMake mailing list archive at Nabble.com. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Why does CMAKE_FIND_FRAMEWORK always default to FIRST ignoring command line definitions?
Rolf Eike Beer wrote Because those value is set in the Darwin platform file (Modules/Platform/Darwin.cmake) which is taken into account by the PROJECT() call. So this is just overridden. Eike Any reason those definitions can't be protected by `IF(NOT DEFINED CMAKE_FIND_FRAMEWORK)`? If I can't override the default from the command line, it seems like the only recourse is to maintain patches for every project I am trying to build with CMake--a very messy and fragile solution. -Charlie -- View this message in context: http://cmake.3232098.n2.nabble.com/Why-does-CMAKE-FIND-FRAMEWORK-always-default-to-FIRST-ignoring-command-line-definitions-tp7521759p7524847.html Sent from the CMake mailing list archive at Nabble.com. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] Why does CMAKE_FIND_FRAMEWORK always default to FIRST ignoring command line definitions?
This is observed OS X 10.6.8, XCode 4.2.6 and 10.7.3, XCode 4.3 with CMake 2.8.8. Say I have the following CMakeLists.txt: PROJECT(find_tst) CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8) MESSAGE(STATUS Value of CMAKE_FIND_FRAMEWORK: ${CMAKE_FIND_FRAMEWORK}) Why does CMAKE_FIND_FRAMEWORK end up with a value of FIRST even though I pass -DCMAKE_FIND_FRAMEWORK=LAST when configuring? grendel:build sharpie$ cmake .. -DCMAKE_FIND_FRAMEWORK=LAST -- The C compiler identification is GNU 4.2.1 -- The CXX compiler identification is GNU 4.2.1 -- Checking whether C compiler has -isysroot -- Checking whether C compiler has -isysroot - yes -- Checking whether C compiler supports OSX deployment target flag -- Checking whether C compiler supports OSX deployment target flag - yes -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Checking whether CXX compiler has -isysroot -- Checking whether CXX compiler has -isysroot - yes -- Checking whether CXX compiler supports OSX deployment target flag -- Checking whether CXX compiler supports OSX deployment target flag - yes -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Value of CMAKE_FIND_FRAMEWORK: FIRST -- Configuring done -- Generating done -- Build files have been written to: /Users/sharpie/code/testbed/cmake/build Thanks for any insight. -Charlie -- View this message in context: http://cmake.3232098.n2.nabble.com/Why-does-CMAKE-FIND-FRAMEWORK-always-default-to-FIRST-ignoring-command-line-definitions-tp7521759.html Sent from the CMake mailing list archive at Nabble.com. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] FindQt4 errors out when locating QtUITools under CMake 2.8.5
I ran into an issue after upgrading from CMake 2.8.4 to 2.8.5---the following no longer works: FIND_PACKAGE(Qt4 COMPONENTS QtUiTools REQUIRED) I traced the problem down to a hunk in commit e7f05d9759ec5bc393760daee91bb7223f6c56d0: diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake index 108012a..86fce9d 100644 --- a/Modules/FindQt4.cmake +++ b/Modules/FindQt4.cmake @@ -608,18 +608,6 @@ IF (QT_QMAKE_EXECUTABLE AND QTVERSION) If I `patch -R` this hunk before building and installing CMake 2.8.5 then FIND_PACKAGE can successfully locate QtUiTools. More details on GitHub: https://github.com/Kitware/CMake/issues/7 -Charlie -- View this message in context: http://cmake.3232098.n2.nabble.com/FindQt4-errors-out-when-locating-QtUITools-under-CMake-2-8-5-tp6619091p6619091.html Sent from the CMake mailing list archive at Nabble.com. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FindQt4 errors out when locating QtUITools under CMake 2.8.5
Clinton Stimpson wrote: Thanks for finding. Its been fixed in git. 702538e Qt4: Fix reference of undefined variable when detecting frameworks on Mac OS X I can confirm that that patch fixes the problem. Thanks a bunch! -Charlie -- View this message in context: http://cmake.3232098.n2.nabble.com/FindQt4-errors-out-when-locating-QtUITools-under-CMake-2-8-5-tp6619091p6619700.html Sent from the CMake mailing list archive at Nabble.com. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake