[Cmake-commits] CMake branch, next, updated. v3.1.0-1645-g0144470
Stephen Kelly
steveire at gmail.com
Sat Jan 10 12:45:59 EST 2015
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 0144470b71bd9c1d0ec138ebda9cb28d8b762009 (commit)
via 6eabe4d0f9dd6622c7dafb5d6e8838c227f721d1 (commit)
from f1fa6eb9c12d28f0d5e6afa23e012856238cfc6b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0144470b71bd9c1d0ec138ebda9cb28d8b762009
commit 0144470b71bd9c1d0ec138ebda9cb28d8b762009
Merge: f1fa6eb 6eabe4d
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Jan 10 12:45:59 2015 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Sat Jan 10 12:45:59 2015 -0500
Merge topic 'Apple-compiler-selection' into next
6eabe4d0 Apple: Resolve compiler in /usr/bin to that reported by Xcode
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6eabe4d0f9dd6622c7dafb5d6e8838c227f721d1
commit 6eabe4d0f9dd6622c7dafb5d6e8838c227f721d1
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Jan 3 17:36:34 2015 +0100
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Jan 10 18:45:03 2015 +0100
Apple: Resolve compiler in /usr/bin to that reported by Xcode
The compiler in the PATH on mac is a stub for a different delegate
depending on the environment. Rather than requiring xcode-select to
change the used Xcode globally, users should be able to choose the
compiler per-session. That is possible with the DEVELOPER_DIR
environment variable.
However, the environment can change between running CMake and invoking
the build. In such cases, CMake prefers to record the relevant paths
from the environment and use them when invoking the build. That is not
currently done for the compilers on APPLE, so the compiler used is not
the one reported when running cmake:
$ DEVELOPER_DIR=/Applications/Xcode2.app/Contents/Developer/ cc --version
Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix
$ DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer/ cc --version
Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix
Update that now by querying Xcode for the correct compiler path before
falling back to whatever is delegated to by the compilers in /usr/bin.
diff --git a/Modules/CMakeDetermineCompiler.cmake b/Modules/CMakeDetermineCompiler.cmake
index 0ab3af6..01e91f2 100644
--- a/Modules/CMakeDetermineCompiler.cmake
+++ b/Modules/CMakeDetermineCompiler.cmake
@@ -71,13 +71,15 @@ macro(_cmake_find_compiler lang)
unset(_languages)
# Look for a make tool provided by Xcode
- if(CMAKE_${lang}_COMPILER STREQUAL "CMAKE_${lang}_COMPILER-NOTFOUND" AND CMAKE_HOST_APPLE)
+ if(CMAKE_HOST_APPLE
+ AND (CMAKE_${lang}_COMPILER STREQUAL "CMAKE_${lang}_COMPILER-NOTFOUND"
+ OR CMAKE_${lang}_COMPILER MATCHES "^/usr/bin"))
foreach(comp ${CMAKE_${lang}_COMPILER_LIST})
execute_process(COMMAND xcrun --find ${comp}
OUTPUT_VARIABLE _xcrun_out OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_VARIABLE _xcrun_err)
if(_xcrun_out)
- set_property(CACHE CMAKE_${lang}_COMPILER PROPERTY VALUE "${_xcrun_out}")
+ set(CMAKE_${lang}_COMPILER "${_xcrun_out}" CACHE PATH "${lang} compiler")
break()
endif()
endforeach()
-----------------------------------------------------------------------
Summary of changes:
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list