summaryrefslogtreecommitdiffstats
path: root/Source/cmComputeLinkInformation.cxx
Commit message (Collapse)AuthorAgeFilesLines
* BUG: Fix cmComputeLinkInformation to include the target's user link ↵Brad King2008-02-071-0/+5
| | | | directories in the runtime path computation. This bug was introduced when cmOrderRuntimeDirectories was introduced.
* ENH: When linking to versioned targets whose real file name is known pass ↵Brad King2008-02-061-7/+7
| | | | 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-2/+21
| | | | 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-319/+225
| | | | | | | | | | | | | | | | - 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-8/+50
| | | | | | | | | - 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
* ENH: Add target property LINK_SEARCH_END_STATIC to help people building ↵Brad King2008-01-311-1/+9
| | | | static binaries on some platforms.
* BUG: Move decision to switch library paths found in implicit link ↵Brad King2008-01-311-13/+53
| | | | 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/+13
| | | | target from cmComputeLinkInformation instead of duplicating the computation.
* ENH: Add cmTarget::GetLinkInformation method to allow several places in the ↵Brad King2008-01-291-0/+133
| | | | generators to share link information while only computing it once per configuration for a target. Use it to simplify the chrpath feature.
* ENH: Support exporting/importing of Framework targets.Brad King2008-01-281-4/+2
| | | | | | | | - 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
* ENH: Updated exporting and importing of targets to support libraries and ↵Brad King2008-01-281-18/+10
| | | | | | | | | | | | | | | | | | configurations. - 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
* ENH: Created cmComputeLinkDepends to compute link dependencies.Brad King2008-01-271-25/+13
| | | | | | | | - 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-10/+12
|
* ENH: Added CMAKE_LINK_OLD_PATHS compatibility mode for linker search paths.Brad King2008-01-231-5/+44
|
* COMP: Fix build on Borland 5.5.Brad King2008-01-231-1/+2
|
* BUG: Fix generation of Watcom link lines.Brad King2008-01-231-0/+14
| | | | | - Work-around bug in Watcom command line parsing for spaces in paths. - Add 'library' option before libraries specified by file path.
* BUG: Be less aggressive about finding conflicts in the runtime path when the ↵Brad King2008-01-231-14/+5
| | | | real soname is not known.
* BUG: When a library file name is linked without a path make sure the link ↵Brad King2008-01-221-2/+49
| | | | 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/+1157
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.