summaryrefslogtreecommitdiffstats
path: root/Source/cmComputeLinkDepends.cxx
Commit message (Collapse)AuthorAgeFilesLines
* ENH: When preserving potentially static portions of original user link lines ↵Brad King2008-04-301-2/+14
| | | | recognize shared library names by their extension and skip them.
* BUG: Fix preservation of static libraries on original link lines.Brad King2008-04-231-6/+68
|
* ENH: Simplify link lines in some cases by not allowing targets to be ↵Brad King2008-04-231-1/+9
| | | | inferred dependees of items with unknown dependencies.
* BUG: Fix bug 6605 more completelyBrad King2008-03-311-0/+37
| | | | | | - CMake 2.4 added link directories for targets linked in the optimized configuration even when building debug - Old behavior for policy CMP0003 must account for this
* ENH: Add policy CMP_0004 to require library names to have no leading or ↵Brad King2008-03-131-11/+41
| | | | trailing whitespace. Replace previous check of CMAKE_BACKWARDS_COMPATIBILITY against version 2.4 with the policy.
* COMP: Fix Borland 5.5 buildBrad King2008-02-241-5/+5
| | | | | | | - Its <iosfwd> header includes windows.h which defines GetCurrentDirectory - It defines 'interface' so we cannot use it as a variable name.
* BUG: Update cmComputeLinkDepends to support leading/trailing whitespace ↵Brad King2008-02-131-2/+35
| | | | stripping off link items for compatibility.
* BUG: Fix cmComputeLinkDepends::AddVarLinkEntriesBrad King2008-02-111-1/+31
| | | | | - Track link type correctly - Use _LINK_TYPE variables exported by CMake 2.4
* COMP: Add missing assert include.Brad King2008-02-071-0/+2
|
* ENH: Improve link line generation for static library cycles.Brad King2008-02-071-55/+141
| | | | | | | | | - Move Tarjan algorithm from cmComputeTargetDepends into its own class cmComputeComponentGraph - Use cmComputeComponentGraph to identify the component DAG of link dependencies in cmComputeLinkDepends - Emit non-trivial component members more than once but always in a contiguous group on the link line
* ENH: Pass dependent library search path to linker on some platforms.Brad King2008-02-011-0/+8
| | | | | | | | | | | | | | | | - 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-22/+83
| | | | | | | | | - 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: Implemented link-interface specification feature.Brad King2008-01-301-10/+15
| | | | | | | | | | | | - 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.
* BUG: cmComputeLinkDepends should not follow the dependencies of executables.Brad King2008-01-301-7/+10
|
* ENH: Updated exporting and importing of targets to support libraries and ↵Brad King2008-01-281-23/+70
| | | | | | | | | | | | | | | | | | 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
* COMP: Use kwsys to get STL set_intersection algorithm.Brad King2008-01-271-4/+4
|
* ENH: Created cmComputeLinkDepends to compute link dependencies.Brad King2008-01-271-0/+506
- 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