summaryrefslogtreecommitdiffstats
path: root/Source/cmInstallExportGenerator.h
Commit message (Collapse)AuthorAgeFilesLines
* install(EXPORT): Force absolute paths for usr-moveBrad King2013-03-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | If the absolute install(EXPORT) destination for the CMAKE_INSTALL_PREFIX used during configuration is under (/usr)?/lib(64)? then assume the current build is for a system package installation instead of a relocatable distribution. Generate an absolute path for _IMPORT_PREFIX in the target exports file instead of generating code to compute the value relative to the file location. This is necessary for distributions implementing a move to /usr such as: https://wiki.archlinux.org/index.php/DeveloperWiki:usrlib "All files in the /lib directory have been moved to /usr/lib and now /lib is a symlink to usr/lib." The relative path computation is not reliable because the targets file could be installed through cross-prefix a symlink and loaded without it or vice versa. A similar change was made for package configuration file generation by commit d4774140 (configure_package_config_file: force absolute paths for usr-move, 2013-01-24).
* exports: accept a missing target if it is exported exactly onceAlex Neundorf2012-09-281-1/+4
| | | | | | | | | | | If a target is exported, and a library it depends on is not part of the same export set, before this patch cmake errored out. With this patch, it now checks whether the missing target is exported somewhere else exactly once, and accepts in this case (because then it can determine the namespace for the missing target and use this). Alex
* exports: Hold an ExportSet pointer in cm*Export*GeneratorYury G. Kudryashov2012-09-281-2/+4
| | | | Get name from this->ExportSet.
* exports: Create class cmExportSetYury G. Kudryashov2012-09-281-6/+3
| | | | | Replace direct use of 'std::vector<cmTargetExport const*>' with a dedicated class.
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | This converts the CMake license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the CMake copyright to cover the full development time range.
* STYLE: Remove useless install generator typedefsBrad King2008-12-181-1/+0
| | | | | The cmInstall*Generator classes all derive from cmInstallGenerator which provides the Indent typedef so they do not need to provide it
* ENH: Updated exporting and importing of targets to support libraries and ↵Brad King2008-01-281-63/+21
| | | | | | | | | | | | | | | | | | 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: add install files generators for targets which have PUBLIC_HEADER,Alexander Neundorf2007-08-271-2/+9
| | | | | | | PRIVATE_HEADER or RESOURCE_FILES property, use the destination for the public headers as include directory property for exported libraries Alex
* ENH: Handle FRAMEWORK and BUNDLE arguments in the INSTALL TARGETS command. ↵David Cole2007-08-221-2/+7
| | | | Work in progress... More to come.
* ENH: Further cleanup of installation script generation. The per-component ↵Brad King2007-07-021-1/+3
| | | | and per-configuration testing is now done in cmake code instead of in the FILE(INSTALL) command. The generation of the cmake code to do these tests is centralized in cmInstallGenerator. Old-style shared library versioning and component/config support code has been removed from FILE(INSTALL). This commit is surrounded by the tags CMake-InstallGeneratorCleanup2-pre and CMake-InstallGeneratorCleanup2-post.
* ENH: add INSTALL(EXPORT ...) mode and INSTALL( TARGETS ... EXPORT <set> ) ,Alexander Neundorf2007-06-191-0/+92
tests still have to be added Alex