summaryrefslogtreecommitdiffstats
path: root/Source/cmExportFileGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Define 'multiplicity' for cyclic dependenciesBrad King2009-09-011-0/+8
| | | | | | | | | We create target property "LINK_INTERFACE_MULTIPLICITY" and a per-config version "LINK_INTERFACE_MULTIPLICITY_<CONFIG>". It sets the number of times a linker should scan through a mutually dependent group of static libraries. The largest value of this property on any target in the group is used. This will help projects link even for extreme cases of cyclic inter-target dependencies.
* ENH: Export and import link interface languagesBrad King2009-07-111-0/+3
| | | | | | | | Now that languages are part of the link interface of a target we need to export/import the information. A new IMPORTED_LINK_INTERFACE_LANGUAGES property and per-config IMPORTED_LINK_INTERFACE_LANGUAGES_<CONFIG> property specify the information for imported targets. The export() and install(EXPORT) commands automatically set the properties.
* ENH: Simplify cmTarget link interface storageBrad King2009-07-071-1/+1
| | | | | This makes the LinkInterface struct a member of cmTarget, pimplizes the config-to-interface map, and stores interface instances by value.
* ENH: Centralize default link interface computationBrad King2009-07-061-44/+1
| | | | | | When LINK_INTERFACE_LIBRARIES is not set we use the link implementation to implicitly define the link interface. These changes centralize the decision so that all linkable targets internally have a link interface.
* ENH: Allow a custom list of debug configurationsBrad King2008-09-041-5/+1
| | | | | | Create a DEBUG_CONFIGURATIONS global property as a way for projects to specify which configuration names are considered to be 'debug' configurations.
* ENH: protect the export files against inclusion with cmake 2.4Alexander Neundorf2008-04-271-0/+6
| | | | Alex
* BUG: Generated target export files should set the policy version to 2.6 ↵Brad King2008-03-311-5/+7
| | | | instead of the currently running version because they are 2.6 compatible.
* ENH: Add cmake_policy push/version/pop to import/export files.Brad King2008-03-131-0/+7
|
* COMP: Fix Borland 5.5 buildBrad King2008-02-241-3/+3
| | | | | | | - Its <iosfwd> header includes windows.h which defines GetCurrentDirectory - It defines 'interface' so we cannot use it as a variable name.
* ENH: Pass dependent library search path to linker on some platforms.Brad King2008-02-011-1/+1
| | | | | | | | | | | | | | | | - 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-7/+24
| | | | | | | | | - 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
* COMP: Remove unused parameter.Brad King2008-01-311-6/+3
|
* BUG: Fixed previous commit in cmExportFileGenerator to separate libraries ↵Brad King2008-01-301-1/+4
| | | | correctly in the import link list.
* ENH: Implemented link-interface specification feature.Brad King2008-01-301-19/+58
| | | | | | | | | | | | - 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.
* ENH: Support exporting/importing of AppBundle targets.Brad King2008-01-281-4/+9
| | | | | | | | - 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
* BUG: Fix export/import file generation to not store link dependencies of ↵Brad King2008-01-281-2/+16
| | | | executables or modules.
* ENH: Restored APPEND option to EXPORT() command in new implementation.Brad King2008-01-281-3/+26
|
* ENH: Support exporting/importing of Framework targets.Brad King2008-01-281-1/+12
| | | | | | | | - 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-0/+281
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