1. 29 Feb, 2008 1 commit
  2. 21 Feb, 2008 2 commits
    • Brad King's avatar
      ENH: Improve linking to third-party shared libraries on soname platforms · 782e9f7f
      Brad King authored
        - Reduce false positives in cases of unknown soname
        - Make library extension regular expressions match only at end of string
        - When linking to libraries in implicit dirs convert to the -l option
          only if the file name is one that can be found by the linker
          (ex. /usr/lib/libfoo.so.1 should be linked by full path)
        - Add cmSystemTools::GuessLibrarySOName to guess the soname of a
          library based on presence of a symlink
        - In cmComputeLinkInformation try to guess an soname before assuming
          that a third-party library is built without an soname
        - In cmOrderDirectories guess the soname of shared libraries in cases
          it is otherwise unknown
      782e9f7f
    • Brad King's avatar
      ENH: Better linker search path computation. · fd37a6ec
      Brad King authored
        - Use linker search path -L.. -lfoo for lib w/out soname
          when platform sets CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME
        - Rename cmOrderRuntimeDirectories to cmOrderDirectories
          and generalize it for both soname constraints and link
          library constraints
        - Use cmOrderDirectories to order -L directories based
          on all needed constraints
        - Avoid processing implicit link directories
        - For CMAKE_OLD_LINK_PATHS add constraints from libs
          producing them to produce old ordering
      fd37a6ec
  3. 06 Feb, 2008 2 commits
  4. 04 Feb, 2008 1 commit
  5. 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
  6. 31 Jan, 2008 3 commits
  7. 29 Jan, 2008 2 commits
  8. 28 Jan, 2008 2 commits
    • Brad King's avatar
      ENH: Support exporting/importing of Framework targets. · 28ea0347
      Brad King authored
        - Imported frameworks have the FRAMEWORK property set
        - Added cmTarget::IsFrameworkOnApple method to simplify checks
        - Also remove separate IMPORTED_ENABLE_EXPORTS property and just use ENABLE_EXPORTS since, like FRAMEWORK, it just represents the target type.
        - Document FRAMEWORK keyword in INSTALL command.
        - Updated IMPORTED_LOCATION property documentation for Frameworks
      28ea0347
    • 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
  9. 27 Jan, 2008 1 commit
    • Brad King's avatar
      ENH: Created cmComputeLinkDepends to compute link dependencies. · 99b97dec
      Brad King authored
        - This will be useful for imported library dependencies
        - Replaces old cmTarget analyze-lib-depends stuff for linking
        - Formalizes graph construction and dump
        - Explicitly represents dependency inferral sets
        - Use BFS of initial dependencies to preserve order
      99b97dec
  10. 23 Jan, 2008 5 commits
  11. 22 Jan, 2008 2 commits
    • Brad King's avatar
      BUG: When a library file name is linked without a path make sure the link type... · ceb71657
      Brad King authored
      BUG: When a library file name is linked without a path make sure the link type is restored after the -l option.
      ceb71657
    • Brad King's avatar
      ENH: Implement linking with paths to library files instead of -L and -l separation. See bug #3832 · 96fd5909
      Brad King authored
        - This is purely an implementation improvement.  No interface has changed.
        - Create cmComputeLinkInformation class
        - Move and re-implement logic from:
            cmLocalGenerator::ComputeLinkInformation
            cmOrderLinkDirectories
        - Link libraries to targets with their full path (if it is known)
        - Dirs specified with link_directories command still added with -L
        - Make link type specific to library names without paths
          (name libfoo.a without path becomes -Wl,-Bstatic -lfoo)
        - Make directory ordering specific to a runtime path computation feature
          (look for conflicting SONAMEs instead of library names)
        - Implement proper rpath support on HP-UX and AIX.
      96fd5909