Packaging: macOS relocation of libraries without children

* macOS install path must be <bundle>/MacOS in order for
    QLibrary to find qt.conf to set the correct bundle paths
  * Refactored to add an explicit graph traversal to set the
    dynamic loader id to handle the case where a bundled
    resource does not have any children
  * Fixed the case where rpaths were not removed from
    libraries without children
  * Improved diagnostics when bundling fail to finds
    a dependent library in the search path

Mantis: #0002886
Refs: #535
This commit is contained in:
Bruce B. Lacey
2017-02-20 12:09:51 -08:00
parent f045e31970
commit e8f80da3a1
6 changed files with 68 additions and 51 deletions

View File

@@ -49,11 +49,16 @@ if(BUILD_GUI)
RUNTIME DESTINATION bin
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
else(WIN32)
elseif(APPLE)
INSTALL(TARGETS FreeCADMain
RUNTIME DESTINATION MacOS
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
else()
INSTALL(TARGETS FreeCADMain
RUNTIME DESTINATION bin
)
endif(WIN32)
endif()
endif(BUILD_GUI)
######################## FreeCADMainCmd ########################