[Cmake-commits] CMake branch, next, updated. v2.8.9-445-g452af70
Brad King
brad.king at kitware.com
Tue Sep 11 11:23:16 EDT 2012
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 452af70dd34805adc9b41219b1e4a4206a8c2b56 (commit)
via 7924aacbfa193232465794fed4a1081c0424ef87 (commit)
from 8c7679d7c542aa7cfc0384fe9e124a2677fcd329 (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=452af70dd34805adc9b41219b1e4a4206a8c2b56
commit 452af70dd34805adc9b41219b1e4a4206a8c2b56
Merge: 8c7679d 7924aac
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Sep 11 11:23:14 2012 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Sep 11 11:23:14 2012 -0400
Merge topic 'FortranCrossCompiling3' into next
7924aac CMakeDetermineFortranCompiler: add support for cross-compiling (#13379)
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7924aacbfa193232465794fed4a1081c0424ef87
commit 7924aacbfa193232465794fed4a1081c0424ef87
Author: Alex Neundorf <neundorf at kde.org>
AuthorDate: Tue Sep 4 21:10:02 2012 +0200
Commit: Brad King <brad.king at kitware.com>
CommitDate: Tue Sep 11 11:20:51 2012 -0400
CMakeDetermineFortranCompiler: add support for cross-compiling (#13379)
This adds the same support code for cross compiling to
CMakeDetermineFortranCompiler as there is already in the
C and CXX versions of this file.
Alex
diff --git a/Modules/CMakeDetermineFortranCompiler.cmake b/Modules/CMakeDetermineFortranCompiler.cmake
index 051f832..f861e39 100644
--- a/Modules/CMakeDetermineFortranCompiler.cmake
+++ b/Modules/CMakeDetermineFortranCompiler.cmake
@@ -189,6 +189,32 @@ if(NOT CMAKE_Fortran_COMPILER_ID_RUN)
endif()
endif()
+if (NOT _CMAKE_TOOLCHAIN_LOCATION)
+ get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_Fortran_COMPILER}" PATH)
+endif ()
+
+# if we have a fortran cross compiler, they have usually some prefix, like
+# e.g. powerpc-linux-gfortran, arm-elf-gfortran or i586-mingw32msvc-gfortran , optionally
+# with a 3-component version number at the end (e.g. arm-eabi-gcc-4.5.2).
+# The other tools of the toolchain usually have the same prefix
+# NAME_WE cannot be used since then this test will fail for names lile
+# "arm-unknown-nto-qnx6.3.0-gcc.exe", where BASENAME would be
+# "arm-unknown-nto-qnx6" instead of the correct "arm-unknown-nto-qnx6.3.0-"
+if (CMAKE_CROSSCOMPILING
+ AND "${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU"
+ AND NOT _CMAKE_TOOLCHAIN_PREFIX)
+ get_filename_component(COMPILER_BASENAME "${CMAKE_Fortran_COMPILER}" NAME)
+ if (COMPILER_BASENAME MATCHES "^(.+-)g?fortran(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
+ set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+ endif ()
+
+ # if "llvm-" is part of the prefix, remove it, since llvm doesn't have its own binutils
+ # but uses the regular ar, objcopy, etc. (instead of llvm-objcopy etc.)
+ if ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
+ set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+ endif ()
+endif ()
+
include(CMakeFindBinUtils)
if(MSVC_Fortran_ARCHITECTURE_ID)
-----------------------------------------------------------------------
Summary of changes:
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list