From 5195a664b9485fafba4643dbc620ef2494060f7d Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 22 Sep 2009 16:02:39 -0400 Subject: 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. --- Modules/CMakeDetermineCompilerABI.cmake | 8 ++++++-- 1 file 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) -- cgit v0.12