Re: [cmake-developers] CMake identifies MacOSX10.7-Xcode43-ub as GNU, but it runs clang.
On 04/29/2014 11:01 AM, Brad King wrote: Xcode: Use sysroot and deployment target to identify compiler http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0cce556b Okay, that worked. I've reverted my change to the machine-specific dashboard script. Since Tests/CMakeLists.txt is still processed by the older CMake used to run the dashboard it still detects GNU as the compiler id and activates this test. Then the test fails because it is hard-coded to support only GNU and not Clang or AppleClang. -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] CMake identifies MacOSX10.7-Xcode43-ub as GNU, but it runs clang.
On 04/30/2014 09:19 AM, Brad King wrote: Since Tests/CMakeLists.txt is still processed by the older CMake used to run the dashboard it still detects GNU as the compiler id and activates this test. Then the test fails because it is hard-coded to support only GNU and not Clang or AppleClang. I see you already fixed that: Tests: Rely on compiler id from new CMake, not the old one. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f0e10173 Thanks, -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] CMake identifies MacOSX10.7-Xcode43-ub as GNU, but it runs clang.
On 04/28/2014 01:07 PM, Brad King wrote: It looks like in this case users will have to tell Xcode what tool to use up front using the CMake generator toolset feature (cmake -T). I think this is acceptable because it only affects old Xcode versions. Otherwise we will need a much more complicated compiler id bootstrap process Actually it is not so complicated because the determination of the sysroot and deployment target does not depend on the language. I just had to introduce a platform-specific initialization step after the system is determined but before the compilers are: Add platform-specific initialization step when enabling languages http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=416761e3 OS X: Factor a Darwin-Initialize module out of Platform/Darwin http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0200d0a9 Xcode: Use sysroot and deployment target to identify compiler http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0cce556b Now the Xcode compiler identification finds the right one. I've reverted my change to the machine-specific dashboard script. -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] CMake identifies MacOSX10.7-Xcode43-ub as GNU, but it runs clang.
On Tuesday, April 29, 2014 11:01:06 AM Brad King wrote: On 04/28/2014 01:07 PM, Brad King wrote: It looks like in this case users will have to tell Xcode what tool to use up front using the CMake generator toolset feature (cmake -T). I think this is acceptable because it only affects old Xcode versions. Otherwise we will need a much more complicated compiler id bootstrap process Actually it is not so complicated because the determination of the sysroot and deployment target does not depend on the language. I just had to introduce a platform-specific initialization step after the system is determined but before the compilers are: Add platform-specific initialization step when enabling languages http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=416761e3 OS X: Factor a Darwin-Initialize module out of Platform/Darwin http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0200d0a9 Xcode: Use sysroot and deployment target to identify compiler http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0cce556b Now the Xcode compiler identification finds the right one. I've reverted my change to the machine-specific dashboard script. -Brad Thanks! Those fixes were needed to fix this: http://cmake.org/Bug/view.php?id=14572 - Clint -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] CMake identifies MacOSX10.7-Xcode43-ub as GNU, but it runs clang.
On 04/26/2014 08:55 AM, Stephen Kelly wrote: Stephen Kelly wrote: Could this be because it is old clang which did not define __clang__? Apart from the misidentification, I don't understand how the WriteCompilerDetectionHeader test could have a different result than the compiler identification code. It should be checking the same defines in the same order, and it should arrive at the same incorrect conclusion that the compiler is GNU. That machine seems to partly be using llvm-gcc. At least that is what is used for the identification step, which is why it identifies as GNU. Ugh. That Xcode selects a different compiler when the project file sets SDKROOT than when it does not. The compiler id step runs very early so Darwin.cmake has not been loaded to set CMAKE_OSX_SYSROOT. When that is later used then the actual generated project files get SDKROOT and Xcode changes the compiler. For the compiler id step Xcode chooses com.apple.compilers.llvmgcc42 but the build uses com.apple.compilers.llvm.clang.1_0.compiler. It looks like in this case users will have to tell Xcode what tool to use up front using the CMake generator toolset feature (cmake -T). I think this is acceptable because it only affects old Xcode versions. Otherwise we will need a much more complicated compiler id bootstrap process :( I've updated the dashboard script on the build in question to specify the clang compiler explicitly. Please drop the non-APPLE condition for the test to see if it works now. -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
[cmake-developers] CMake identifies MacOSX10.7-Xcode43-ub as GNU, but it runs clang.
Hi, This causes the failure of the WriteCompilerDetectionHeader test: http://open.cdash.org/testDetails.php?test=250378767build=3306874 Though the misidentification has been the case since before that refactoring: http://open.cdash.org/testDetails.php?test=247853583build=3293163 Could this be because it is old clang which did not define __clang__? Apart from the misidentification, I don't understand how the WriteCompilerDetectionHeader test could have a different result than the compiler identification code. It should be checking the same defines in the same order, and it should arrive at the same incorrect conclusion that the compiler is GNU. And ideas? Thanks, Steve. -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] CMake identifies MacOSX10.7-Xcode43-ub as GNU, but it runs clang.
Stephen Kelly wrote: Could this be because it is old clang which did not define __clang__? Apart from the misidentification, I don't understand how the WriteCompilerDetectionHeader test could have a different result than the compiler identification code. It should be checking the same defines in the same order, and it should arrive at the same incorrect conclusion that the compiler is GNU. That machine seems to partly be using llvm-gcc. At least that is what is used for the identification step, which is why it identifies as GNU. After the identification step (when building), clang is used, which is why my test fails. I conditionalized the test execution to exclude APPLE, which is fine for now. It's the same condition in GNU-CXX.cmake, and I introduced it exactly for this reason of excluding platforms from these features from platforms that cause problems until the features themselves are in. Thanks, Steve. -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers