[Cmake-commits] CMake branch, next, updated. v3.1.0-1883-gc990a18
Brad King
brad.king at kitware.com
Wed Jan 14 10:02:51 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 c990a180a963ca8f9df769f84533cb2fb0199750 (commit)
via dda973be563bb45ca65670c4d4115f26f5d6a49e (commit)
via f4b3e6937ee6bd0588295b212a96d8378290c2e3 (commit)
from 5cd18731aa5216246cd017372bd45b8877194572 (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=c990a180a963ca8f9df769f84533cb2fb0199750
commit c990a180a963ca8f9df769f84533cb2fb0199750
Merge: 5cd1873 dda973b
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Jan 14 10:02:50 2015 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Jan 14 10:02:50 2015 -0500
Merge topic 'Apple-compiler-selection' into next
dda973be Apple: Resolve compiler in /usr/bin to that reported by Xcode
f4b3e693 CMakeDetermineCompiler: Extract xcrun invocation into a macro.
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dda973be563bb45ca65670c4d4115f26f5d6a49e
commit dda973be563bb45ca65670c4d4115f26f5d6a49e
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Jan 3 17:36:34 2015 +0100
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Jan 14 10:02:02 2015 -0500
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 if
the compiler located by ordinary means is located in /usr/bin.
diff --git a/Modules/CMakeDetermineCompiler.cmake b/Modules/CMakeDetermineCompiler.cmake
index 7a5cbcd..85c8662 100644
--- a/Modules/CMakeDetermineCompiler.cmake
+++ b/Modules/CMakeDetermineCompiler.cmake
@@ -71,7 +71,7 @@ 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)
macro(_query_xcrun compiler_name result_var_keyword result_var)
if(NOT "x${result_var_keyword}" STREQUAL "xRESULT_VAR")
message(FATAL_ERROR "Bad arguments to macro")
@@ -81,13 +81,21 @@ macro(_cmake_find_compiler lang)
ERROR_VARIABLE _xcrun_err)
set("${result_var}" "${_xcrun_out}")
endmacro()
- foreach(comp ${CMAKE_${lang}_COMPILER_LIST})
- _query_xcrun("${comp}" RESULT_VAR _xcrun_result)
- if(_xcrun_result)
- set_property(CACHE CMAKE_${lang}_COMPILER PROPERTY VALUE "${_xcrun_result}")
- break()
- endif()
- endforeach()
+
+ set(xcrun_result)
+ if (CMAKE_${lang}_COMPILER MATCHES "^/usr/bin/(.+)$")
+ _query_xcrun("${CMAKE_MATCH_1}" RESULT_VAR xcrun_result)
+ elseif (CMAKE_${lang}_COMPILER STREQUAL "CMAKE_${lang}_COMPILER-NOTFOUND")
+ foreach(comp ${CMAKE_${lang}_COMPILER_LIST})
+ _query_xcrun("${comp}" RESULT_VAR xcrun_result)
+ if(xcrun_result)
+ break()
+ endif()
+ endforeach()
+ endif()
+ if (xcrun_result)
+ set_property(CACHE CMAKE_${lang}_COMPILER PROPERTY VALUE "${xcrun_result}")
+ endif()
endif()
endmacro()
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f4b3e6937ee6bd0588295b212a96d8378290c2e3
commit f4b3e6937ee6bd0588295b212a96d8378290c2e3
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Tue Jan 13 23:10:46 2015 +0100
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Jan 14 09:58:50 2015 -0500
CMakeDetermineCompiler: Extract xcrun invocation into a macro.
diff --git a/Modules/CMakeDetermineCompiler.cmake b/Modules/CMakeDetermineCompiler.cmake
index 0ab3af6..7a5cbcd 100644
--- a/Modules/CMakeDetermineCompiler.cmake
+++ b/Modules/CMakeDetermineCompiler.cmake
@@ -72,12 +72,19 @@ macro(_cmake_find_compiler lang)
# Look for a make tool provided by Xcode
if(CMAKE_${lang}_COMPILER STREQUAL "CMAKE_${lang}_COMPILER-NOTFOUND" AND CMAKE_HOST_APPLE)
- foreach(comp ${CMAKE_${lang}_COMPILER_LIST})
- execute_process(COMMAND xcrun --find ${comp}
+ macro(_query_xcrun compiler_name result_var_keyword result_var)
+ if(NOT "x${result_var_keyword}" STREQUAL "xRESULT_VAR")
+ message(FATAL_ERROR "Bad arguments to macro")
+ endif()
+ execute_process(COMMAND xcrun --find ${compiler_name}
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("${result_var}" "${_xcrun_out}")
+ endmacro()
+ foreach(comp ${CMAKE_${lang}_COMPILER_LIST})
+ _query_xcrun("${comp}" RESULT_VAR _xcrun_result)
+ if(_xcrun_result)
+ set_property(CACHE CMAKE_${lang}_COMPILER PROPERTY VALUE "${_xcrun_result}")
break()
endif()
endforeach()
-----------------------------------------------------------------------
Summary of changes:
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list