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  0941fe962dedbb5395d336e4c2221df6640f594e (commit)
       via  cc676c3a08019b17433931a9287d9cd8b0ccf2f2 (commit)
       via  2dd67c7ea095957d557d2934a67baacdf8a82d7b (commit)
       via  ba58d0c06fd8576844a5722930531a95d00c2003 (commit)
      from  716eed936f2429ac3218d20608a7e16bc63c2961 (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=0941fe962dedbb5395d336e4c2221df6640f594e
commit 0941fe962dedbb5395d336e4c2221df6640f594e
Merge: 716eed9 cc676c3
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Dec 11 15:44:35 2012 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Tue Dec 11 15:44:35 2012 -0500

    Merge topic 'osx-implicit-link-dirs' into next
    
    cc676c3 OS X: Detect implicit linker framework search paths
    2dd67c7 OS X: Detect implicit link directories on modern toolchains
    ba58d0c OS X: Link with all framework search paths, not just the last


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cc676c3a08019b17433931a9287d9cd8b0ccf2f2
commit cc676c3a08019b17433931a9287d9cd8b0ccf2f2
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Dec 5 13:46:04 2012 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Dec 11 15:15:52 2012 -0500

    OS X: Detect implicit linker framework search paths
    
    Previously we hard-coded a list of implicit framework directories but
    did not account for CMAKE_OSX_SYSROOT or for changes to the list across
    OS X versions.  Instead we should automatically detect the framework
    directories for the active toolchain.
    
    The parent commit added the "-Wl,-v" option to ask "ld" to print its
    implicit directories.  It displays a block such as:
    
     Framework search paths:
        /...
    
    Parse this block to extract the list of framework directories.
    
    Detection may fail on toolchains that do not list their framework
    directories, such as older OS X linkers.  Always treat the paths
    
     <sdk>/Library/Frameworks
     <sdk>/System/Library/Frameworks
     <sdk>/Network/Library/Frameworks # Older OS X only
     /System/Library/Frameworks
    
    as implicit.  Note that /System/Library/Frameworks should always be
    considered implicit so that frameworks CMake finds there will not
    override the SDK copies.

diff --git a/Modules/CMakeCCompiler.cmake.in b/Modules/CMakeCCompiler.cmake.in
index d74dcdc..c41adc9 100644
--- a/Modules/CMakeCCompiler.cmake.in
+++ b/Modules/CMakeCCompiler.cmake.in
@@ -50,6 +50,7 @@ endif()
 
 set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "@CMAKE_C_IMPLICIT_LINK_LIBRARIES@")
 set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "@CMAKE_C_IMPLICIT_LINK_DIRECTORIES@")
+set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES 
"@CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@")
 
 @SET_CMAKE_CMCLDEPS_EXECUTABLE@
 @SET_CMAKE_CL_SHOWINCLUDE_PREFIX@
diff --git a/Modules/CMakeCXXCompiler.cmake.in 
b/Modules/CMakeCXXCompiler.cmake.in
index 8c5d84e..9287b81 100644
--- a/Modules/CMakeCXXCompiler.cmake.in
+++ b/Modules/CMakeCXXCompiler.cmake.in
@@ -51,6 +51,7 @@ endif()
 
 set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "@CMAKE_CXX_IMPLICIT_LINK_LIBRARIES@")
 set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES 
"@CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES@")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES 
"@CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@")
 
 @SET_CMAKE_CMCLDEPS_EXECUTABLE@
 @SET_CMAKE_CL_SHOWINCLUDE_PREFIX@
diff --git a/Modules/CMakeDetermineCompilerABI.cmake 
b/Modules/CMakeDetermineCompilerABI.cmake
index cb94aa6..25d6bbe 100644
--- a/Modules/CMakeDetermineCompilerABI.cmake
+++ b/Modules/CMakeDetermineCompilerABI.cmake
@@ -72,8 +72,9 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
       # Parse implicit linker information for this language, if available.
       set(implicit_dirs "")
       set(implicit_libs "")
+      set(implicit_fwks "")
       if(CMAKE_${lang}_VERBOSE_FLAG)
-        CMAKE_PARSE_IMPLICIT_LINK_INFO("${OUTPUT}" implicit_libs implicit_dirs 
log
+        CMAKE_PARSE_IMPLICIT_LINK_INFO("${OUTPUT}" implicit_libs implicit_dirs 
implicit_fwks log
           "${CMAKE_${lang}_IMPLICIT_OBJECT_REGEX}")
         file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
           "Parsed ${lang} implicit link information from above 
output:\n${log}\n\n")
@@ -111,6 +112,7 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
 
       set(CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES "${implicit_libs}" 
PARENT_SCOPE)
       set(CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES "${implicit_dirs}" 
PARENT_SCOPE)
+      set(CMAKE_${lang}_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "${implicit_fwks}" 
PARENT_SCOPE)
 
       # Detect library architecture directory name.
       if(CMAKE_LIBRARY_ARCHITECTURE_REGEX)
diff --git a/Modules/CMakeFortranCompiler.cmake.in 
b/Modules/CMakeFortranCompiler.cmake.in
index 55f8277..d193881 100644
--- a/Modules/CMakeFortranCompiler.cmake.in
+++ b/Modules/CMakeFortranCompiler.cmake.in
@@ -52,3 +52,4 @@ endif()
 
 set(CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES 
"@CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES@")
 set(CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES 
"@CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES@")
+set(CMAKE_Fortran_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES 
"@CMAKE_Fortran_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@")
diff --git a/Modules/CMakeParseImplicitLinkInfo.cmake 
b/Modules/CMakeParseImplicitLinkInfo.cmake
index 54e8127..234fb7f 100644
--- a/Modules/CMakeParseImplicitLinkInfo.cmake
+++ b/Modules/CMakeParseImplicitLinkInfo.cmake
@@ -16,9 +16,10 @@
 # This is used internally by CMake and should not be included by user
 # code.
 
-function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var log_var obj_regex)
+function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var fwk_var log_var 
obj_regex)
   set(implicit_libs_tmp "")
   set(implicit_dirs_tmp)
+  set(implicit_fwks_tmp)
   set(log "")
 
   # Parse implicit linker arguments.
@@ -113,6 +114,11 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var 
dir_var log_var obj_regex)
     set(log "${log}  Library search paths: [${implicit_dirs_match}]\n")
     list(APPEND implicit_dirs_tmp ${implicit_dirs_match})
   endif()
+  if("${output_lines}" MATCHES ";Framework search paths:((;\t[^;]+)+)")
+    string(REPLACE ";\t" ";" implicit_fwks_match "${CMAKE_MATCH_1}")
+    set(log "${log}  Framework search paths: [${implicit_fwks_match}]\n")
+    list(APPEND implicit_fwks_tmp ${implicit_fwks_match})
+  endif()
 
   # Cleanup list of libraries and flags.
   # We remove items that are not language-specific.
@@ -125,27 +131,33 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var 
dir_var log_var obj_regex)
     endif()
   endforeach()
 
-  # Cleanup list of library directories.
-  set(implicit_dirs "")
-  foreach(d IN LISTS implicit_dirs_tmp)
-    get_filename_component(dir "${d}" ABSOLUTE)
-    string(FIND "${dir}" "${CMAKE_FILES_DIRECTORY}/" pos)
-    if(NOT pos LESS 0)
-      set(msg ", skipping non-system directory")
-    else()
-      set(msg "")
-      list(APPEND implicit_dirs "${dir}")
-    endif()
-    set(log "${log}  collapse library dir [${d}] ==> [${dir}]${msg}\n")
+  # Cleanup list of library and framework directories.
+  set(desc_dirs "library")
+  set(desc_fwks "framework")
+  foreach(t dirs fwks)
+    set(implicit_${t} "")
+    foreach(d IN LISTS implicit_${t}_tmp)
+      get_filename_component(dir "${d}" ABSOLUTE)
+      string(FIND "${dir}" "${CMAKE_FILES_DIRECTORY}/" pos)
+      if(NOT pos LESS 0)
+        set(msg ", skipping non-system directory")
+      else()
+        set(msg "")
+        list(APPEND implicit_${t} "${dir}")
+      endif()
+      set(log "${log}  collapse ${desc_${t}} dir [${d}] ==> [${dir}]${msg}\n")
+    endforeach()
+    list(REMOVE_DUPLICATES implicit_${t})
   endforeach()
-  list(REMOVE_DUPLICATES implicit_dirs)
 
   # Log results.
   set(log "${log}  implicit libs: [${implicit_libs}]\n")
   set(log "${log}  implicit dirs: [${implicit_dirs}]\n")
+  set(log "${log}  implicit fwks: [${implicit_fwks}]\n")
 
   # Return results.
   set(${lib_var} "${implicit_libs}" PARENT_SCOPE)
   set(${dir_var} "${implicit_dirs}" PARENT_SCOPE)
+  set(${fwk_var} "${implicit_fwks}" PARENT_SCOPE)
   set(${log_var} "${log}" PARENT_SCOPE)
 endfunction()
diff --git a/Modules/Platform/Darwin.cmake b/Modules/Platform/Darwin.cmake
index ed0b8af..2e6b71e 100644
--- a/Modules/Platform/Darwin.cmake
+++ b/Modules/Platform/Darwin.cmake
@@ -256,6 +256,24 @@ set(CMAKE_CXX_CREATE_MACOSX_FRAMEWORK
 if(NOT DEFINED CMAKE_FIND_FRAMEWORK)
   set(CMAKE_FIND_FRAMEWORK FIRST)
 endif()
+
+# Older OS X linkers do not report their framework search path
+# with -v but "man ld" documents the following locations.
+set(CMAKE_PLATFORM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
+  ${_CMAKE_OSX_SYSROOT_PATH}/Library/Frameworks
+  ${_CMAKE_OSX_SYSROOT_PATH}/System/Library/Frameworks
+  )
+if(_CMAKE_OSX_SYSROOT_PATH)
+  # Treat some paths as implicit so we do not override the SDK versions.
+  list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
+    /System/Library/Frameworks)
+endif()
+if("${_CURRENT_OSX_VERSION}" VERSION_LESS "10.5")
+  # Older OS X tools had more implicit paths.
+  list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
+    ${_CMAKE_OSX_SYSROOT_PATH}/Network/Library/Frameworks)
+endif()
+
 # set up the default search directories for frameworks
 set(CMAKE_SYSTEM_FRAMEWORK_PATH
   ~/Library/Frameworks
diff --git a/Source/cmComputeLinkInformation.cxx 
b/Source/cmComputeLinkInformation.cxx
index d8ffb5e..19de903 100644
--- a/Source/cmComputeLinkInformation.cxx
+++ b/Source/cmComputeLinkInformation.cxx
@@ -1376,10 +1376,31 @@ void 
cmComputeLinkInformation::DropDirectoryItem(std::string const& item)
 //----------------------------------------------------------------------------
 void cmComputeLinkInformation::ComputeFrameworkInfo()
 {
-  // Avoid adding system framework paths.  See "man ld" on OS X.
-  this->FrameworkPathsEmmitted.insert("/Library/Frameworks");
-  this->FrameworkPathsEmmitted.insert("/Network/Library/Frameworks");
-  this->FrameworkPathsEmmitted.insert("/System/Library/Frameworks");
+  // Avoid adding implicit framework paths.
+  std::vector<std::string> implicitDirVec;
+
+  // Get platform-wide implicit directories.
+  if(const char* implicitLinks = this->Makefile->GetDefinition
+     ("CMAKE_PLATFORM_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES"))
+    {
+    cmSystemTools::ExpandListArgument(implicitLinks, implicitDirVec);
+    }
+
+  // Get language-specific implicit directories.
+  std::string implicitDirVar = "CMAKE_";
+  implicitDirVar += this->LinkLanguage;
+  implicitDirVar += "_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES";
+  if(const char* implicitDirs =
+     this->Makefile->GetDefinition(implicitDirVar.c_str()))
+    {
+    cmSystemTools::ExpandListArgument(implicitDirs, implicitDirVec);
+    }
+
+  for(std::vector<std::string>::const_iterator i = implicitDirVec.begin();
+      i != implicitDirVec.end(); ++i)
+    {
+    this->FrameworkPathsEmmitted.insert(*i);
+    }
 
   // Regular expression to extract a framework path and name.
   this->SplitFramework.compile("(.*)/(.*)\\.framework$");
diff --git a/Source/cmDocumentVariables.cxx b/Source/cmDocumentVariables.cxx
index 55d70f8..0a4170b 100644
--- a/Source/cmDocumentVariables.cxx
+++ b/Source/cmDocumentVariables.cxx
@@ -1625,6 +1625,15 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
      "Variables for Languages");
 
   cm->DefineProperty
+    ("CMAKE_<LANG>_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES", cmProperty::VARIABLE,
+     "Implicit linker framework search path detected for language <LANG>.",
+     "These paths are implicit linker framework search directories for "
+     "the compiler's language.  "
+     "CMake automatically detects these directories for each language and "
+     "reports the results in this variable.", false,
+     "Variables for Languages");
+
+  cm->DefineProperty
     ("CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES", cmProperty::VARIABLE,
      "Implicit link libraries and flags detected for language <LANG>.",
      "Compilers typically pass language runtime library names and "
diff --git a/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in 
b/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in
index 0296304..31488c0 100644
--- a/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in
+++ b/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in
@@ -120,6 +120,7 @@ Framework search paths:
        /System/Library/Frameworks/")
 set(mac_i686_gcc_Wlv_libs "")
 set(mac_i686_gcc_Wlv_dirs 
"/usr/lib/i686-apple-darwin10/4.2.1;/usr/lib/gcc/i686-apple-darwin10/4.2.1;/usr/lib;/usr/local/lib")
+set(mac_i686_gcc_Wlv_fwks "/Library/Frameworks;/System/Library/Frameworks")
 list(APPEND platforms mac_i686_gcc_Wlv)
 
 # gcc -arch i686 dummy.c -v
@@ -146,6 +147,7 @@ Framework search paths:
        /System/Library/Frameworks/")
 set(mac_i686_g++_Wlv_libs "stdc++")
 set(mac_i686_g++_Wlv_dirs 
"/usr/lib/i686-apple-darwin10/4.2.1;/usr/lib/gcc/i686-apple-darwin10/4.2.1;/usr/lib;/usr/local/lib")
+set(mac_i686_g++_Wlv_fwks "/Library/Frameworks;/System/Library/Frameworks")
 list(APPEND platforms mac_i686_g++_Wlv)
 
 # g++ -arch i686 dummy.cxx -v
@@ -169,6 +171,7 @@ Framework search paths:
        /System/Library/Frameworks/")
 set(mac_i686_gfortran_Wlv_libs "gfortranbegin;gfortran")
 set(mac_i686_gfortran_Wlv_dirs 
"/usr/local/lib/gcc/i386-apple-darwin9.7.0/4.4.1;/usr/local/lib;/usr/lib")
+set(mac_i686_gfortran_Wlv_fwks 
"/Library/Frameworks;/System/Library/Frameworks")
 list(APPEND platforms mac_i686_gfortran_Wlv)
 
 # gfortran dummy.f -v
@@ -195,6 +198,7 @@ Framework search paths:
        /System/Library/Frameworks/")
 set(mac_ppc_gcc_Wlv_libs "")
 set(mac_ppc_gcc_Wlv_dirs 
"/usr/lib/powerpc-apple-darwin10/4.2.1;/usr/lib/gcc/powerpc-apple-darwin10/4.2.1;/usr/lib;/usr/local/lib")
+set(mac_ppc_gcc_Wlv_fwks "/Library/Frameworks;/System/Library/Frameworks")
 list(APPEND platforms mac_ppc_gcc_Wlv)
 
 # gcc -arch ppc dummy.c -v
@@ -221,6 +225,7 @@ Framework search paths:
        /System/Library/Frameworks/")
 set(mac_ppc_g++_Wlv_libs "stdc++")
 set(mac_ppc_g++_Wlv_dirs 
"/usr/lib/powerpc-apple-darwin10/4.2.1;/usr/lib/gcc/powerpc-apple-darwin10/4.2.1;/usr/lib;/usr/local/lib")
+set(mac_ppc_g++_Wlv_fwks "/Library/Frameworks;/System/Library/Frameworks")
 list(APPEND platforms mac_ppc_g++_Wlv)
 
 # g++ -arch ppc dummy.cxx -v
@@ -499,10 +504,10 @@ list(APPEND platforms msys_g77)
 # Test parsing for all above examples.
 
 foreach(p IN LISTS platforms)
-  cmake_parse_implicit_link_info("${${p}_text}" libs dirs log 
"${${p}_obj_regex}")
+  cmake_parse_implicit_link_info("${${p}_text}" libs dirs fwks log 
"${${p}_obj_regex}")
 
-  foreach(v libs dirs)
-    if(NOT "${${v}}" STREQUAL "${${p}_${v}}")
+  foreach(v libs dirs fwks)
+    if(DEFINED "${p}_${v}" AND NOT "${${v}}" STREQUAL "${${p}_${v}}")
       message(FATAL_ERROR
         "cmake_parse_implicit_link_info failed\n"
         "Expected '${p}' implicit ${v}\n"
diff --git a/Tests/SystemInformation/SystemInformation.in 
b/Tests/SystemInformation/SystemInformation.in
index ecbc054..df3bf49 100644
--- a/Tests/SystemInformation/SystemInformation.in
+++ b/Tests/SystemInformation/SystemInformation.in
@@ -96,7 +96,9 @@ CMAKE_CXX_LINK_EXECUTABLE == "${CMAKE_CXX_LINK_EXECUTABLE}"
 // implicit link info
 CMAKE_C_IMPLICIT_LINK_LIBRARIES == "${CMAKE_C_IMPLICIT_LINK_LIBRARIES}"
 CMAKE_C_IMPLICIT_LINK_DIRECTORIES == "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}"
+CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES == 
"${CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES}"
 CMAKE_CXX_IMPLICIT_LINK_LIBRARIES == "${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES}"
 CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES == "${CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES}"
+CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES == 
"${CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES}"
 
 XCODE_VERSION == "${XCODE_VERSION}"

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2dd67c7ea095957d557d2934a67baacdf8a82d7b
commit 2dd67c7ea095957d557d2934a67baacdf8a82d7b
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Dec 5 11:49:13 2012 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Dec 11 15:15:51 2012 -0500

    OS X: Detect implicit link directories on modern toolchains
    
    We detect the implicit link directories for the toolchain by adding a
    flag to get verbose output from the compiler front-end while linking the
    ABI detection binary.  Newer OS X toolchains based on Clang do not add
    the implicit link directories with -L options to their internal
    invocation of "ld".  Instead they use a linker that comes with the
    toolchain and is already configured with the proper directories.
    
    Add the "-Wl,-v" option to ask "ld" to print its implicit directories.
    It displays them in a block such as:
    
     Library search paths:
        /...
    
    Parse this block to extract the implicit link directories.
    
    While at it, remove the checks introduced by commit efaf335b (Skip
    implicit link information on Xcode, 2009-07-23) and commit 5195a664
    (Skip implicit link info for multiple OS X archs, 2009-09-22).  Discard
    the non-system link directories added by Xcode.  Discard all detected
    implicit libraries in the multi-architecture case but keep the
    directories.  The directories are still useful without the libraries
    just to suppress addition of explicit -L options for them.

diff --git a/Modules/CMakeDetermineCompilerABI.cmake 
b/Modules/CMakeDetermineCompilerABI.cmake
index 75247d9..cb94aa6 100644
--- a/Modules/CMakeDetermineCompilerABI.cmake
+++ b/Modules/CMakeDetermineCompilerABI.cmake
@@ -72,18 +72,7 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
       # Parse implicit linker information for this language, if available.
       set(implicit_dirs "")
       set(implicit_libs "")
-      set(MULTI_ARCH FALSE)
-      if(DEFINED CMAKE_OSX_ARCHITECTURES)
-        if( "${CMAKE_OSX_ARCHITECTURES}" MATCHES ";" )
-          set(MULTI_ARCH TRUE)
-        endif()
-      endif()
-      if(CMAKE_${lang}_VERBOSE_FLAG
-          # Implicit link information cannot be used explicitly for
-          # multiple OS X architectures, so we skip it.
-          AND NOT MULTI_ARCH
-          # Skip this with Xcode for now.
-          AND NOT "${CMAKE_GENERATOR}" MATCHES Xcode)
+      if(CMAKE_${lang}_VERBOSE_FLAG)
         CMAKE_PARSE_IMPLICIT_LINK_INFO("${OUTPUT}" implicit_libs implicit_dirs 
log
           "${CMAKE_${lang}_IMPLICIT_OBJECT_REGEX}")
         file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
@@ -112,6 +101,14 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
         message(STATUS "${_desc}")
       endif()
 
+      # Implicit link libraries cannot be used explicitly for multiple
+      # OS X architectures, so we skip it.
+      if(DEFINED CMAKE_OSX_ARCHITECTURES)
+        if("${CMAKE_OSX_ARCHITECTURES}" MATCHES ";")
+          set(implicit_libs "")
+        endif()
+      endif()
+
       set(CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES "${implicit_libs}" 
PARENT_SCOPE)
       set(CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES "${implicit_dirs}" 
PARENT_SCOPE)
 
diff --git a/Modules/CMakeParseImplicitLinkInfo.cmake 
b/Modules/CMakeParseImplicitLinkInfo.cmake
index ecb20dc..54e8127 100644
--- a/Modules/CMakeParseImplicitLinkInfo.cmake
+++ b/Modules/CMakeParseImplicitLinkInfo.cmake
@@ -36,6 +36,16 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var 
log_var obj_regex)
     set(cmd)
     if("${line}" MATCHES "${linker_regex}" AND
         NOT "${line}" MATCHES "${linker_exclude_regex}")
+      if(XCODE)
+        # Xcode unconditionally adds a path under the project build tree and
+        # on older versions it is not reported with proper quotes.  Remove it.
+        string(REGEX REPLACE "([][+.*()^])" "\\\\\\1" _dir_regex 
"${CMAKE_BINARY_DIR}")
+        string(REGEX REPLACE " -[FL]${_dir_regex}/([^ ]| [^-])+( |$)" " " 
xline "${line}")
+        if(NOT "x${xline}" STREQUAL "x${line}")
+          set(log "${log}  reduced line: [${line}]\n            to: 
[${xline}]\n")
+          set(line "${xline}")
+        endif()
+      endif()
       if(UNIX)
         separate_arguments(args UNIX_COMMAND "${line}")
       else()
@@ -97,6 +107,13 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var 
dir_var log_var obj_regex)
     endif()
   endforeach()
 
+  # Look for library search paths reported by linker.
+  if("${output_lines}" MATCHES ";Library search paths:((;\t[^;]+)+)")
+    string(REPLACE ";\t" ";" implicit_dirs_match "${CMAKE_MATCH_1}")
+    set(log "${log}  Library search paths: [${implicit_dirs_match}]\n")
+    list(APPEND implicit_dirs_tmp ${implicit_dirs_match})
+  endif()
+
   # Cleanup list of libraries and flags.
   # We remove items that are not language-specific.
   set(implicit_libs "")
@@ -108,12 +125,18 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var 
dir_var log_var obj_regex)
     endif()
   endforeach()
 
-  # Cleanup list of directories.
+  # Cleanup list of library directories.
   set(implicit_dirs "")
   foreach(d IN LISTS implicit_dirs_tmp)
     get_filename_component(dir "${d}" ABSOLUTE)
-    list(APPEND implicit_dirs "${dir}")
-    set(log "${log}  collapse dir [${d}] ==> [${dir}]\n")
+    string(FIND "${dir}" "${CMAKE_FILES_DIRECTORY}/" pos)
+    if(NOT pos LESS 0)
+      set(msg ", skipping non-system directory")
+    else()
+      set(msg "")
+      list(APPEND implicit_dirs "${dir}")
+    endif()
+    set(log "${log}  collapse library dir [${d}] ==> [${dir}]${msg}\n")
   endforeach()
   list(REMOVE_DUPLICATES implicit_dirs)
 
diff --git a/Modules/Platform/Darwin-Clang.cmake 
b/Modules/Platform/Darwin-Clang.cmake
index de7a856..528873c 100644
--- a/Modules/Platform/Darwin-Clang.cmake
+++ b/Modules/Platform/Darwin-Clang.cmake
@@ -19,6 +19,7 @@ endif()
 set(__DARWIN_COMPILER_CLANG 1)
 
 macro(__darwin_compiler_clang lang)
+  set(CMAKE_${lang}_VERBOSE_FLAG "-v -Wl,-v") # also tell linker to print 
verbose output
   set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib 
-Wl,-headerpad_max_install_names")
   set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle 
-Wl,-headerpad_max_install_names")
   set(CMAKE_${lang}_SYSROOT_FLAG "-isysroot")
diff --git a/Modules/Platform/Darwin-GNU.cmake 
b/Modules/Platform/Darwin-GNU.cmake
index d953503..5fee7e3 100644
--- a/Modules/Platform/Darwin-GNU.cmake
+++ b/Modules/Platform/Darwin-GNU.cmake
@@ -19,6 +19,7 @@ endif()
 set(__DARWIN_COMPILER_GNU 1)
 
 macro(__darwin_compiler_gnu lang)
+  set(CMAKE_${lang}_VERBOSE_FLAG "-v -Wl,-v") # also tell linker to print 
verbose output
   # GNU does not have -shared on OS X
   set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib 
-Wl,-headerpad_max_install_names")
   set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle 
-Wl,-headerpad_max_install_names")
diff --git a/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in 
b/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in
index dbe9500..0296304 100644
--- a/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in
+++ b/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in
@@ -102,30 +102,127 @@ list(APPEND platforms linux64_test1)
 #-----------------------------------------------------------------------------
 # Mac
 
+# gcc -arch i686 dummy.c -v -Wl,-v
+set(mac_i686_gcc_Wlv_text " 
/usr/libexec/gcc/i686-apple-darwin10/4.2.1/collect2 -dynamic -arch i386 
-macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out 
-lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccnhXAGL.o -lSystem 
-lgcc -lSystem
+collect2 version 4.2.1 (Apple Inc. build 5646) (i686 Darwin)
+/usr/libexec/gcc/i686-apple-darwin10/4.2.1/ld -dynamic -arch i386 
-macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out 
-lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccSiuUhD.o -v 
-lSystem -lgcc -lSystem
+@(#)PROGRAM:ld  PROJECT:ld64-95.2.12
+Library search paths:
+       /usr/lib/i686-apple-darwin10/4.2.1
+       /usr/lib/gcc/i686-apple-darwin10/4.2.1
+       /usr/lib/gcc/i686-apple-darwin10/4.2.1
+       /usr/lib/i686-apple-darwin10/4.2.1
+       /usr/lib
+       /usr/lib
+       /usr/local/lib
+Framework search paths:
+       /Library/Frameworks/
+       /System/Library/Frameworks/")
+set(mac_i686_gcc_Wlv_libs "")
+set(mac_i686_gcc_Wlv_dirs 
"/usr/lib/i686-apple-darwin10/4.2.1;/usr/lib/gcc/i686-apple-darwin10/4.2.1;/usr/lib;/usr/local/lib")
+list(APPEND platforms mac_i686_gcc_Wlv)
+
 # gcc -arch i686 dummy.c -v
 set(mac_i686_gcc_text " /usr/libexec/gcc/i686-apple-darwin10/4.2.1/collect2 
-dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches 
non-weak -o a.out -lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccnhXAGL.o -lSystem 
-lgcc -lSystem")
 set(mac_i686_gcc_libs "")
 set(mac_i686_gcc_dirs 
"/usr/lib/i686-apple-darwin10/4.2.1;/usr/lib/gcc/i686-apple-darwin10/4.2.1;/usr/lib")
 list(APPEND platforms mac_i686_gcc)
 
+# g++ -arch i686 dummy.cxx -v -Wl,-v
+set(mac_i686_g++_Wlv_text " 
/usr/libexec/gcc/i686-apple-darwin10/4.2.1/collect2 -dynamic -arch i386 
-macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out 
-lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccEXXICh.o -lstdc++ 
-lSystem -lgcc -lSystem
+collect2 version 4.2.1 (Apple Inc. build 5646) (i686 Darwin)
+/usr/libexec/gcc/i686-apple-darwin10/4.2.1/ld -dynamic -arch i386 
-macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out 
-lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccWrBoVl.o -v 
-lstdc++ -lSystem -lgcc -lSystem
+@(#)PROGRAM:ld  PROJECT:ld64-95.2.12
+Library search paths:
+       /usr/lib/i686-apple-darwin10/4.2.1
+       /usr/lib/gcc/i686-apple-darwin10/4.2.1
+       /usr/lib/gcc/i686-apple-darwin10/4.2.1
+       /usr/lib/i686-apple-darwin10/4.2.1
+       /usr/lib
+       /usr/lib
+       /usr/local/lib
+Framework search paths:
+       /Library/Frameworks/
+       /System/Library/Frameworks/")
+set(mac_i686_g++_Wlv_libs "stdc++")
+set(mac_i686_g++_Wlv_dirs 
"/usr/lib/i686-apple-darwin10/4.2.1;/usr/lib/gcc/i686-apple-darwin10/4.2.1;/usr/lib;/usr/local/lib")
+list(APPEND platforms mac_i686_g++_Wlv)
+
 # g++ -arch i686 dummy.cxx -v
 set(mac_i686_g++_text " /usr/libexec/gcc/i686-apple-darwin10/4.2.1/collect2 
-dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches 
non-weak -o a.out -lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccEXXICh.o -lstdc++ 
-lSystem -lgcc -lSystem")
 set(mac_i686_g++_libs "stdc++")
 set(mac_i686_g++_dirs 
"/usr/lib/i686-apple-darwin10/4.2.1;/usr/lib/gcc/i686-apple-darwin10/4.2.1;/usr/lib")
 list(APPEND platforms mac_i686_g++)
 
+# gfortran dummy.f -v -Wl,-v
+set(mac_i686_gfortran_Wlv_text " 
/usr/local/libexec/gcc/i386-apple-darwin9.7.0/4.4.1/collect2 -dynamic -arch 
i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out 
-lcrt1.10.5.o -L/usr/local/lib/gcc/i386-apple-darwin9.7.0/4.4.1 
-L/usr/local/lib/gcc/i386-apple-darwin9.7.0/4.4.1/../../.. /var/tmp//cc9zXNax.o 
-v -lgfortranbegin -lgfortran -lgcc_s.10.5 -lgcc -lSystem
+collect2 version 4.4.1 20090623 (prerelease) (i686 Darwin)
+/usr/bin/ld -dynamic -arch i386 -macosx_version_min 10.6.0 
-weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o 
-L/usr/local/lib/gcc/i386-apple-darwin9.7.0/4.4.1 
-L/usr/local/lib/gcc/i386-apple-darwin9.7.0/4.4.1/../../.. /var/tmp//cc9zXNax.o 
-v -lgfortranbegin -lgfortran -lgcc_s.10.5 -lgcc -lSystem
+@(#)PROGRAM:ld  PROJECT:ld64-95.2.12
+Library search paths:
+       /usr/local/lib/gcc/i386-apple-darwin9.7.0/4.4.1
+       /usr/local/lib
+       /usr/lib
+       /usr/local/lib
+Framework search paths:
+       /Library/Frameworks/
+       /System/Library/Frameworks/")
+set(mac_i686_gfortran_Wlv_libs "gfortranbegin;gfortran")
+set(mac_i686_gfortran_Wlv_dirs 
"/usr/local/lib/gcc/i386-apple-darwin9.7.0/4.4.1;/usr/local/lib;/usr/lib")
+list(APPEND platforms mac_i686_gfortran_Wlv)
+
 # gfortran dummy.f -v
 set(mac_i686_gfortran_text " 
/usr/libexec/gcc/i386-apple-darwin9.7.0/4.4.1/collect2 -dynamic -arch i386 
-macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out 
-lcrt1.10.5.o -L/usr/lib/gcc/i386-apple-darwin9.7.0/4.4.1 -L/usr/lib/gcc 
-L/usr/lib/gcc/i386-apple-darwin9.7.0/4.4.1/../../.. /var/tmp//ccgqbX5P.o 
-lgfortranbegin -lgfortran -lgcc_s.10.5 -lgcc -lSystem")
 set(mac_i686_gfortran_libs "gfortranbegin;gfortran")
 set(mac_i686_gfortran_dirs 
"/usr/lib/gcc/i386-apple-darwin9.7.0/4.4.1;/usr/lib/gcc;/usr/lib")
 list(APPEND platforms mac_i686_gfortran)
 
+# gcc -arch ppc dummy.c -v -Wl,-v
+set(mac_ppc_gcc_Wlv_text " 
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/collect2 -dynamic -arch ppc 
-macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out 
-lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1
 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//cclziQY4.o -v 
-lgcc -lSystemStubs -lSystem
+collect2 version 4.2.1 (Apple Inc. build 5646) (Darwin/PowerPC)
+/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/ld -dynamic -arch ppc 
-macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out 
-lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1
 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//cclziQY4.o -v 
-lgcc -lSystemStubs -lSystem
+@(#)PROGRAM:ld  PROJECT:ld64-95.2.12
+Library search paths:
+       /usr/lib/powerpc-apple-darwin10/4.2.1
+       /usr/lib/gcc/powerpc-apple-darwin10/4.2.1
+       /usr/lib/gcc/powerpc-apple-darwin10/4.2.1
+       /usr/lib/powerpc-apple-darwin10/4.2.1
+       /usr/lib
+       /usr/lib
+       /usr/local/lib
+Framework search paths:
+       /Library/Frameworks/
+       /System/Library/Frameworks/")
+set(mac_ppc_gcc_Wlv_libs "")
+set(mac_ppc_gcc_Wlv_dirs 
"/usr/lib/powerpc-apple-darwin10/4.2.1;/usr/lib/gcc/powerpc-apple-darwin10/4.2.1;/usr/lib;/usr/local/lib")
+list(APPEND platforms mac_ppc_gcc_Wlv)
+
 # gcc -arch ppc dummy.c -v
 set(mac_ppc_gcc_text " /usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/collect2 
-dynamic -arch ppc -macosx_version_min 10.6.0 -weak_reference_mismatches 
non-weak -o a.out -lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1
 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//ccdcolsP.o 
-lgcc -lSystemStubs -lSystem")
 set(mac_ppc_gcc_libs "")
 set(mac_ppc_gcc_dirs 
"/usr/lib/powerpc-apple-darwin10/4.2.1;/usr/lib/gcc/powerpc-apple-darwin10/4.2.1;/usr/lib")
 list(APPEND platforms mac_ppc_gcc)
 
+# g++ -arch ppc dummy.cxx -v -Wl,-v
+set(mac_ppc_g++_Wlv_text " 
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/collect2 -dynamic -arch ppc 
-macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out 
-lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1
 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//ccaFTkwq.o -v 
-lstdc++ -lgcc -lSystemStubs -lSystem
+collect2 version 4.2.1 (Apple Inc. build 5646) (Darwin/PowerPC)
+/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/ld -dynamic -arch ppc 
-macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out 
-lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1
 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//ccaFTkwq.o -v 
-lstdc++ -lgcc -lSystemStubs -lSystem
+@(#)PROGRAM:ld  PROJECT:ld64-95.2.12
+Library search paths:
+       /usr/lib/powerpc-apple-darwin10/4.2.1
+       /usr/lib/gcc/powerpc-apple-darwin10/4.2.1
+       /usr/lib/gcc/powerpc-apple-darwin10/4.2.1
+       /usr/lib/powerpc-apple-darwin10/4.2.1
+       /usr/lib
+       /usr/lib
+       /usr/local/lib
+Framework search paths:
+       /Library/Frameworks/
+       /System/Library/Frameworks/")
+set(mac_ppc_g++_Wlv_libs "stdc++")
+set(mac_ppc_g++_Wlv_dirs 
"/usr/lib/powerpc-apple-darwin10/4.2.1;/usr/lib/gcc/powerpc-apple-darwin10/4.2.1;/usr/lib;/usr/local/lib")
+list(APPEND platforms mac_ppc_g++_Wlv)
+
 # g++ -arch ppc dummy.cxx -v
 set(mac_ppc_g++_text " /usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/collect2 
-dynamic -arch ppc -macosx_version_min 10.6.0 -weak_reference_mismatches 
non-weak -o a.out -lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 
-L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1
 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//ccbjB6Lj.o 
-lstdc++ -lgcc -lSystemStubs -lSystem")
 set(mac_ppc_g++_libs "stdc++")

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ba58d0c06fd8576844a5722930531a95d00c2003
commit ba58d0c06fd8576844a5722930531a95d00c2003
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Dec 11 15:11:40 2012 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Dec 11 15:15:51 2012 -0500

    OS X: Link with all framework search paths, not just the last
    
    Refactoring in commit 8d674e78 (Ninja: move -LIBPATH behind -link
    option, 2012-09-26) accidentally added code that overwrites the
    framework search path flags on each iteration instead of appending.
    Change '=' to '+=' to fix it.  This affects Makefile and Ninja
    generators.

diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index b41f060..b557ca1 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -1708,7 +1708,7 @@ void cmLocalGenerator::OutputLinkLibraries(std::string& 
linkLibraries,
   for(std::vector<std::string>::const_iterator fdi = fwDirs.begin();
       fdi != fwDirs.end(); ++fdi)
     {
-    frameworkPath = " -F";
+    frameworkPath += "-F";
     frameworkPath += this->Convert(fdi->c_str(), NONE, SHELL, false);
     frameworkPath += " ";
     }

-----------------------------------------------------------------------

Summary of changes:
 Modules/CMakeCCompiler.cmake.in                |    1 +
 Modules/CMakeCXXCompiler.cmake.in              |    1 +
 Modules/CMakeDetermineCompilerABI.cmake        |   25 +++---
 Modules/CMakeFortranCompiler.cmake.in          |    1 +
 Modules/CMakeParseImplicitLinkInfo.cmake       |   51 ++++++++++--
 Modules/Platform/Darwin-Clang.cmake            |    1 +
 Modules/Platform/Darwin-GNU.cmake              |    1 +
 Modules/Platform/Darwin.cmake                  |   18 ++++
 Source/cmComputeLinkInformation.cxx            |   29 ++++++-
 Source/cmDocumentVariables.cxx                 |    9 ++
 Source/cmLocalGenerator.cxx                    |    2 +-
 Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in |  108 +++++++++++++++++++++++-
 Tests/SystemInformation/SystemInformation.in   |    2 +
 13 files changed, 220 insertions(+), 29 deletions(-)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits

Reply via email to