From 0ba9c06460fd7b7b01a2c10f6ce18ab9bba845c7 Mon Sep 17 00:00:00 2001
From: Andreas Schenk <andreas_schenk@hms.harvard.edu>
Date: Fri, 8 Nov 2013 10:12:04 -0500
Subject: [PATCH] changed dependency resolution for OSX package generation to
 find Frameworks in /System/Library/Frameworks in addition to
 /Library/Frameworks

---
 cmake_support/CopyDependencies.cmake | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/cmake_support/CopyDependencies.cmake b/cmake_support/CopyDependencies.cmake
index 21a0bdf33..97c2c2d4e 100644
--- a/cmake_support/CopyDependencies.cmake
+++ b/cmake_support/CopyDependencies.cmake
@@ -256,7 +256,7 @@ function(resolve_item context item exepath resolved_item_var)
     if(APPLE)
       find_file(ri "${item}" PATHS ENV DYLD_LIBRARY_PATH  NO_DEFAULT_PATH)
     else(APPLE)
-      find_file(ri "${item}" PATHS  ENV LD_LIBRARY_PATH NO_DEFAuLT_PATH)
+      find_file(ri "${item}" PATHS  ENV LD_LIBRARY_PATH NO_DEFAULT_PATH)
     endif(APPLE)
   else(UNIX AND NOT WIN32)
     find_program(ri "${item}" PATHS "${exepath}" NO_DEFAULT_PATH)
@@ -271,7 +271,17 @@ function(resolve_item context item exepath resolved_item_var)
   if(IS_ABSOLUTE "${resolved_item}" AND EXISTS "${resolved_item}")
     set(${resolved_item_var} "${resolved_item}" PARENT_SCOPE)
   else(IS_ABSOLUTE "${resolved_item}" AND EXISTS "${resolved_item}")
-    message(FATAL_ERROR "cannot resolve item '${item}' in context:'${context}'. Partially resolved path is: '${resolved_item}'")
+    if(APPLE)
+      # see if item is available in System frameworks
+      string(REPLACE "/Library/Frameworks" "/System/Library/Frameworks" system_resolved_item ${resolved_item})
+      if(IS_ABSOLUTE "${system_resolved_item}" AND EXISTS "${system_resolved_item}") 
+        set(${resolved_item_var} "${system_resolved_item}" PARENT_SCOPE)
+      else(IS_ABSOLUTE "${system_resolved_item}" AND EXISTS "${system_resolved_item}")
+         message(FATAL_ERROR "cannot resolve item '${item}' in context:'${context}'. Partially resolved path is: '${system_resolved_item}'") 
+      endif(IS_ABSOLUTE "${system_resolved_item}" AND EXISTS "${system_resolved_item}") 
+    else(APPLE)
+      message(FATAL_ERROR "cannot resolve item '${item}' in context:'${context}'. Partially resolved path is: '${resolved_item}'")
+    endif(APPLE)
   endif(IS_ABSOLUTE "${resolved_item}" AND EXISTS "${resolved_item}")
 endfunction(resolve_item)
 
-- 
GitLab