summaryrefslogtreecommitdiffstats
path: root/Source/cmComputeLinkInformation.h
Commit message (Collapse)AuthorAgeFilesLines
* ENH: Use builtin chrpath instead of relinking ELF targetsBrad King2008-03-011-1/+0
| | | | | | | | | | - Add cmSystemTools::ChangeRPath method - Add undocumented file(CHRPATH) command - When installing use file(CHRPATH) to change the rpath instead of relinking - Remove CMAKE_CHRPATH lookup from CMakeFindBinUtils - Remove CMAKE_USE_CHRPATH option since this should always work
* ENH: Better linker search path computation.Brad King2008-02-211-12/+15
| | | | | | | | | | | | | - 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
* ENH: When linking to versioned targets whose real file name is known pass ↵Brad King2008-02-061-2/+1
| | | | the real name to the linker instead of the symlink name.
* BUG: Added TARGET_ARCHIVES_MAY_BE_SHARED_LIBS global property to help ↵Brad King2008-02-041-0/+3
| | | | compute proper rpath information on AIX when shared libraries have names like "libfoo.a".
* ENH: Pass dependent library search path to linker on some platforms.Brad King2008-02-011-41/+12
| | | | | | | | | | | | | | | | - 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
* ENH: Support linking to shared libs with dependent libsBrad King2008-01-311-1/+11
| | | | | | | | | - Split IMPORTED_LINK_LIBRARIES into two parts: IMPORTED_LINK_INTERFACE_LIBRARIES IMPORTED_LINK_DEPENDENT_LIBRARIES - Add CMAKE_DEPENDENT_SHARED_LIBRARY_MODE to select behavior - Set mode to LINK for Darwin (fixes universal binary problem) - Update ExportImport test to account for changes
* BUG: Move decision to switch library paths found in implicit link ↵Brad King2008-01-311-0/+2
| | | | directories to use -l options from cmFindLibraryCommand to cmComputeLinkInformation. Existing projects may depend on find_library returning a full path. This slightly weakens cmComputeLinkInformation but is necessary for compatibility.
* ENH: Update cmInstallTargetGenerator to get the shared libraries linked by a ↵Brad King2008-01-291-0/+2
| | | | target from cmComputeLinkInformation instead of duplicating the computation.
* ENH: Add cmTarget::GetLinkInformation method to allow several places in the ↵Brad King2008-01-291-0/+10
| | | | generators to share link information while only computing it once per configuration for a target. Use it to simplify the chrpath feature.
* ENH: Created cmComputeLinkDepends to compute link dependencies.Brad King2008-01-271-1/+1
| | | | | | | | - 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
* BUG: Fix cmComputeLinkInformation cycle detection.Brad King2008-01-231-2/+3
|
* ENH: Added CMAKE_LINK_OLD_PATHS compatibility mode for linker search paths.Brad King2008-01-231-0/+5
|
* BUG: Fix generation of Watcom link lines.Brad King2008-01-231-0/+1
| | | | | - Work-around bug in Watcom command line parsing for spaces in paths. - Add 'library' option before libraries specified by file path.
* BUG: When a library file name is linked without a path make sure the link ↵Brad King2008-01-221-0/+2
| | | | type is restored after the -l option.
* ENH: Implement linking with paths to library files instead of -L and -l ↵Brad King2008-01-221-0/+165
separation. See bug #3832 - 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.