summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-09-22 20:02:39 (GMT)
committerBrad King <brad.king@kitware.com>2009-09-22 20:02:39 (GMT)
commit5195a664b9485fafba4643dbc620ef2494060f7d (patch)
tree15fe2ad23eeb01f26bfb6c7de4205f70a9117358 /Modules
parentfe57e7252f618b827c38e2d49f3df94f546cc383 (diff)
downloadCMake-5195a664b9485fafba4643dbc620ef2494060f7d.zip
CMake-5195a664b9485fafba4643dbc620ef2494060f7d.tar.gz
CMake-5195a664b9485fafba4643dbc620ef2494060f7d.tar.bz2
Skip implicit link info for multiple OS X archs
Implicit link information contains architecture-specific libraries and directories. The link information cannot be explicitly specified safely when CMAKE_OSX_ARCHITECTURES contains more than one architecture. As a result, we currently cannot support mixed-language C++/Fortran targets and OS X universal binaries simultaneously. In order to avoid conflicts for simple C/C++ cases, we now simply skip detection of implicit link information in this case.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/CMakeDetermineCompilerABI.cmake8
1 files changed, 6 insertions, 2 deletions
diff --git a/Modules/CMakeDetermineCompilerABI.cmake b/Modules/CMakeDetermineCompilerABI.cmake
index 9baa893..0e2445a 100644
--- a/Modules/CMakeDetermineCompilerABI.cmake
+++ b/Modules/CMakeDetermineCompilerABI.cmake
@@ -45,10 +45,14 @@ FUNCTION(CMAKE_DETERMINE_COMPILER_ABI lang src)
ENDIF(ABI_NAME)
# Parse implicit linker information for this language, if available.
- # Skip this with Xcode for now.
SET(implicit_dirs "")
SET(implicit_libs "")
- IF(CMAKE_${lang}_VERBOSE_FLAG AND NOT "${CMAKE_GENERATOR}" MATCHES Xcode)
+ IF(CMAKE_${lang}_VERBOSE_FLAG
+ # Implicit link information cannot be used explicitly for
+ # multiple OS X architectures, so we skip it.
+ AND NOT "${CMAKE_OSX_ARCHITECTURES}" MATCHES ";"
+ # Skip this with Xcode for now.
+ AND NOT "${CMAKE_GENERATOR}" MATCHES Xcode)
CMAKE_PARSE_IMPLICIT_LINK_INFO("${OUTPUT}" implicit_libs implicit_dirs)
ENDIF()
SET(CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES "${implicit_libs}" PARENT_SCOPE)