1. 23 May, 2013 1 commit
    • Clinton Stimpson's avatar
      Refactor how bundles and frameworks are supported. · 373faae5
      Clinton Stimpson authored
      Make handling of directory separators consistent between
      non-bundle and bundle code.
      
      Remove xcode specific flag from cmTarget when getting install_name.
      
      Add (more) consistent convenience functions in cmTarget to get
      directories inside of bundles and frameworks to add files to.
      
      This refactor also fixes bug #12263 where frameworks
      had the wrong install name when SKIP_BUILD_RPATH.
      
      Also make install_name for frameworks consistent between Makefile
      and Xcode generator.
      373faae5
  2. 21 Jan, 2013 1 commit
  3. 15 Jan, 2013 3 commits
  4. 10 Jan, 2013 1 commit
  5. 04 Jan, 2013 2 commits
  6. 30 Nov, 2012 1 commit
    • Stephen Kelly's avatar
      Generate an early-return guard in target Export files. · bf2ddceb
      Stephen Kelly authored
      Previously it was necessary for writers of Config files
      which incude exported target files to write the guard themselves, but
      this was not immediately obvious or documented. Options for them
      would be to use a variable, or an INHERITED directory property in an
      effort to avoid accidental name clashes in all contexts in
      which find_package can be used.
      
      Getting this right requires boiler plate code, so generate a simpler
      check automatically instead.
      bf2ddceb
  7. 30 Sep, 2012 1 commit
    • Alexander Neundorf's avatar
      exports: move the handling of missing targets into subclasses · 0cfd055a
      Alexander Neundorf authored
      Before, cmExportFileGenerator::ComplainAboutMissingTarget() was a virtual
      function which had to be implemented in the subclasses. It is not
      anymore. Instead, there is now a virtual function
      HandleMissingTargets(), which is implemented in the two subclasses.
      This makes e.g. dealing correctly with APPEND mode easier.
      
      Alex
      0cfd055a
  8. 28 Sep, 2012 2 commits
    • Alexander Neundorf's avatar
      exports: first try at error handling if a target is missing · 8b5f448b
      Alexander Neundorf authored
      Now, if an imported target depends on a library which must come
      from some other export set, cmake generates a check which errors
      out if that target does not exist. I guess instead of completely
      erroring out it would be better to only make the find_package() fail.
      
      Alex
      8b5f448b
    • Alexander Neundorf's avatar
      exports: accept a missing target if it is exported exactly once · 87f4c019
      Alexander Neundorf authored
      If a target is exported, and a library it depends on is not part
      of the same export set, before this patch cmake errored out.
      With this patch, it now checks whether the missing target
      is exported somewhere else exactly once, and accepts in this
      case (because then it can determine the namespace for the
      missing target and use this).
      
      Alex
      87f4c019
  9. 05 Dec, 2011 1 commit
    • Brad King's avatar
      Add CMAKE_GNUtoMS option to convert GNU .dll.a to MS .lib · afb00fef
      Brad King authored
      Teach the Windows-GNU.cmake platform file to look for Visual Studio
      tools matching the target ABI.  Add an extra step to the link command
      for shared libraries and executables that export symbols and on which a
      new GNUtoMS property is set (initialized by the CMAKE_GNUtoMS option).
      Tell the GNU linker to output a module definition (.def) file listing
      exported symbols in addition to the GNU-format import library (.dll.a).
      Pass the .def file to the MS "lib" tool to construct a MS-format DLL
      import library (.lib).
      
      Teach the install(TARGETS) command to install the MS import library next
      to the GNU one.  Teach the install(EXPORT) and export() command to set
      the IMPORTED_IMPLIB property pointing at the import library to use the
      import library matching the tools in the importing project.
      afb00fef
  10. 01 Oct, 2009 1 commit
  11. 28 Sep, 2009 1 commit
    • Brad King's avatar
      Convert CMake to OSI-approved BSD License · 96afb120
      Brad King authored
      This converts the CMake license to a pure 3-clause OSI-approved BSD
      License.  We drop the previous license clause requiring modified
      versions to be plainly marked.  We also update the CMake copyright to
      cover the full development time range.
      96afb120
  12. 20 Jan, 2009 1 commit
    • Brad King's avatar
      BUG: Fix LOCATION property for Mac AppBundles · acb0e8fb
      Brad King authored
      Previously cmTarget::GetLocation and cmTarget::GetFullPath would return
      for Mac AppBundles the top-level bundle directory but without the .app
      extension.  We worked around this at the call sites.  This fixes the
      methods and removes the work-arounds.  See issue #8406.
      acb0e8fb
  13. 06 Feb, 2008 1 commit
  14. 01 Feb, 2008 1 commit
    • Brad King's avatar
      ENH: Pass dependent library search path to linker on some platforms. · 82fcaebe
      Brad King authored
        - Move runtime path ordering out of cmComputeLinkInformation
          into its own class cmOrderRuntimeDirectories.
        - Create an instance of cmOrderRuntimeDirectories for runtime
          path ordering and another instance for dependent library
          path ordering.
        - Replace CMAKE_DEPENDENT_SHARED_LIBRARY_MODE with explicit
          CMAKE_LINK_DEPENDENT_LIBRARY_FILES boolean.
        - Create CMAKE_LINK_DEPENDENT_LIBRARY_DIRS boolean.
        - Create variables to specify -rpath-link flags:
            CMAKE_SHARED_LIBRARY_RPATH_LINK_<LANG>_FLAG
            CMAKE_EXECUTABLE_RPATH_LINK_<LANG>_FLAG
        - Enable -rpath-link flag on Linux and QNX.
        - Documentation and error message updates
      82fcaebe
  15. 30 Jan, 2008 1 commit
    • Brad King's avatar
      ENH: Implemented link-interface specification feature. · 7902bc06
      Brad King authored
        - Shared libs and executables with exports may now have
          explicit transitive link dependencies specified
        - Created LINK_INTERFACE_LIBRARIES and related properties
        - Exported targets get the interface libraries as their
          IMPORTED_LINK_LIBRARIES property.
        - The export() and install(EXPORT) commands now give
          an error when a linked target is not included since
          the user can change the interface libraries instead
          of adding the target.
      7902bc06
  16. 28 Jan, 2008 3 commits
    • Brad King's avatar
    • Brad King's avatar
      ENH: Support exporting/importing of AppBundle targets. · e3b1bdb0
      Brad King authored
        - Imported bundles have the MACOSX_BUNDLE property set
        - Added cmTarget::IsAppBundleOnApple method to simplify checks
        - Document BUNDLE keyword in INSTALL command
        - Updated IMPORTED_LOCATION property documentation for bundles
        - Updated ExportImport test to test bundles
      e3b1bdb0
    • Brad King's avatar
      ENH: Updated exporting and importing of targets to support libraries and configurations. · 5594ad48
      Brad King authored
        - Created cmExportFileGenerator hierarchy to implement export file generation
        - Installed exports use per-config import files loaded by a central one.
        - Include soname of shared libraries in import information
        - Renamed PREFIX to NAMESPACE in INSTALL(EXPORT) and EXPORT() commands
        - Move addition of CMAKE_INSTALL_PREFIX to destinations to install generators
        - Import files compute the installation prefix relative to their location when loaded
        - Add mapping of importer configurations to importee configurations
        - Rename IMPORT targets to IMPORTED targets to distinguish from windows import libraries
        - Scope IMPORTED targets within directories to isolate them
        - Place all properties created by import files in the IMPORTED namespace
        - Document INSTALL(EXPORT) and EXPORT() commands.
        - Document IMPORTED signature of add_executable and add_library
        - Enable finding of imported targets in cmComputeLinkDepends
      5594ad48