1. 19 Apr, 2016 1 commit
  2. 07 Mar, 2016 1 commit
  3. 11 Feb, 2016 1 commit
    • Christian Askeland's avatar
      BundleUtilities: Fix treatment of .dylib inside .framework folders · e422f738
      Christian Askeland authored
      The specific cause is when e.g.
      
          /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgio-2.0.0.dylib
      
      is detected by fixup_bundle.  set_bundle_key_values() interprets this as
      a framework, thus doing a string replace that creates an embedded_item
      that is equal to the original path, i.e. it is not embedded.
      e422f738
  4. 17 Dec, 2015 1 commit
  5. 27 Feb, 2015 1 commit
  6. 10 Feb, 2015 1 commit
  7. 21 Oct, 2014 1 commit
  8. 10 Oct, 2014 3 commits
  9. 07 Aug, 2014 2 commits
  10. 14 Apr, 2014 2 commits
  11. 15 Oct, 2013 1 commit
  12. 23 Oct, 2012 1 commit
    • David Cole's avatar
      BundleUtilities: Use a more inclusive REGEX for frameworks (#13600) · 89256e03
      David Cole authored
      Some frameworks might be built with the library right at the root
      of the framework rather than down in a versioned sub-folder with
      a symlink at the root.
      
      Make one of the slashes in the REGEX optional so BundleUtilities
      can still properly work with such frameworks ... even if they are
      weird. ;-)
      
      Thanks to Tobias Hieta for the bug report and for trying out the fix
      before I pushed this commit.
      89256e03
  13. 13 Aug, 2012 1 commit
    • Kitware Robot's avatar
      Remove CMake-language block-end command arguments · 9db31162
      Kitware Robot authored
      Ancient versions of CMake required else(), endif(), and similar block
      termination commands to have arguments matching the command starting the
      block.  This is no longer the preferred style.
      
      Run the following shell code:
      
      for c in else endif endforeach endfunction endmacro endwhile; do
          echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
      done >convert.sed &&
      git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
      egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
      egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
      xargs -0 sed -i -f convert.sed &&
      rm convert.sed
      9db31162
  14. 02 Jun, 2011 1 commit
    • David Cole's avatar
      BundleUtilities: Avoid a cryptic and unhelpful error message · 8f0667c1
      David Cole authored
      When the path to "resolved_embedded_item" was shorter than
      the path to the bundle being fixed up, fixup_bundle would
      fail with a cmake error like:
      
        "string end index: 110 is out of range 0 - 85"
      
      Detect when the path of resolved_embedded_item is too short
      to be embedded in the bundle, and report the proper error
      message, so the poor developer reading it has a snowball's
      chance of actually fixing the issue.
      8f0667c1
  15. 27 May, 2011 1 commit
    • Clinton Stimpson's avatar
      BundleUtilities: Work w/ non .app exes on Mac (#12034) · 7ac7b437
      Clinton Stimpson authored
      Also add a test of BundleUtilities including an exe,
      some shared libs, a plugin, and a framework-style lib.
      
      This test presently runs (and this functionality works)
      on Linux, Mac and Windows.
      
      For now, the framework-style lib is built as a plain old
      shared lib because there is another yet-unresolved issue
      with local frameworks without rpaths on the Mac.
      7ac7b437
  16. 06 Dec, 2010 1 commit
    • David Cole's avatar
      BundleUtilities: error if fixup_bundle_item called on non-embedded item · c2895f48
      David Cole authored
      Also, improve the documentation of the fixup_bundle and fixup_bundle_item
      functions to clarify that plugin type "libs" need to be copied into
      the bundle *before* calling fixup_bundle.
      
      Commit e93a4b4d changed the way that
      the libs parameter to fixup_bundle is interpreted. Before the commit,
      the libs were copied into the bundle first and then fixed up. After
      the commit, the copy was skipped, assuming the libs were in the bundle
      in the first place, and then the fixups occurred as before.
      
      However, before the commit, it was possible to name a lib from outside
      the bundle, and have it copied in and then fixed up. Its resolved
      embedded name was always inside the bundle before. After, its resolved
      embedded name was just the same as its resolved name, which is in its
      original location, and not necessarily inside the bundle.
      
      This manifested itself as a problem with the ParaView call to
      fixup_bundle and its many plugins. Previously, ParaView had simply
      passed in the list of plugin file names as they existed in the build
      tree, and left the copying into the bundle up to the fixup_bundle
      function. When built with CMake 2.8.3 (the first version to contain
      the above named commit) the fixup_bundle call would inadventently
      fixup libraries in the build tree, not libraries that were in the
      bundle. Furthermore, the plugins would not be in the final bundle.
      
      This points out the fact that the fix for the bugs made by the above
      commit was a backwards-incompatible change in behavior.
      
      This commit makes it an error to try to fixup an item that is not
      already inside the bundle to make the change in behavior apparent
      to folks who were depending on the prior copy-in behavior: now,
      they should get an error, and hopefully, reading the new and
      improved documentation, should be able to resolve it in their
      projects by adding code to install or copy in such libraries prior
      to calling fixup_bundle.
      
      Whew.
      c2895f48
  17. 23 Nov, 2010 1 commit
  18. 07 Sep, 2010 2 commits
    • Mike McQuaid's avatar
      Make bundle items writable before fixup (#9284) · 88fed668
      Mike McQuaid authored
      This ensures that any bundle items are made user writable before
      any attempt is made to alter them using install_name_tool. This is
      because MacPorts/Fink/Homebrew don't install libraries as writable.
      This fix is needed to allow fixup_bundle_item to work correctly
      when ingesting libraries installed by these package managers.
      88fed668
    • David Cole's avatar
      Avoid adding self as prerequisite. (#10417) · e93a4b4d
      David Cole authored
      Thanks to Clinton Stimpson for the patch.
      e93a4b4d
  19. 25 Aug, 2010 1 commit
  20. 09 Aug, 2010 1 commit
  21. 27 Jul, 2010 1 commit
    • David Cole's avatar
      Copy Resources in Frameworks during fixup_bundle (#10020) · 979972f9
      David Cole authored
      By default, if an embedded item is a framework, copy its
      main dylib file explicitly, and then also its Resources
      if it has any.
      
      Inspect a variable, BU_COPY_FULL_FRAMEWORK_CONTENTS, and
      if it's ON, copy the entire framework into the bundle.
      979972f9
  22. 23 May, 2010 1 commit
  23. 01 Oct, 2009 1 commit
  24. 28 Sep, 2009 2 commits
  25. 05 Aug, 2009 1 commit
    • David Cole's avatar
      Overhaul GetPrerequisites and BundleUtilities: make fixup_bundle do something... · fe0b121d
      David Cole authored
      Overhaul GetPrerequisites and BundleUtilities: make fixup_bundle do something useful on Windows and Linux.
      
      Formerly, fixup_bundle was useful only on the Mac for making standalone bundle applications that could be drag-n-drop moved to anyplace in the file system. fixup_bundle is not just for the Mac any more. It will now analyze executable files on Windows and Linux, too, and copy necessary non-system dlls to the same folder that the executable is in. This should work with dlls that you build as part of your build and also with 3rd-party dlls as long as you give fixup_bundle the right list of directories to search for those dlls. Many thanks to Clinton Stimpson for his help in ironing out the details involved in making this work.
      fe0b121d
  26. 06 Sep, 2008 1 commit
    • David Cole's avatar
      ENH: Add BundleUtilities.cmake and supporting changes to... · 6f8bdd27
      David Cole authored
      ENH: Add BundleUtilities.cmake and supporting changes to GetPrerequisites.cmake. Function copy_and_fixup_bundle in BundleUtilities helps to make standalone bundle applications on the Mac by pulling in prerequisite non-system libraries and frameworks as needed. Uses otool and install_name_tool to do analysis and fixups. Project-specific hooks for deciding where to embed libraries and for resolving item names into full path file names are also provided.
      6f8bdd27