summaryrefslogtreecommitdiffstats
path: root/Source/cmInstallExportGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmMakefile: Rename GetCurrent{Output,Binary}Directory.Stephen Kelly2015-04-201-1/+1
| | | | Match names used in CMake code.
* cmInstallGenerator: Pass destination explicitly to AddInstallRuleBrad King2015-02-111-2/+4
| | | | | This will allow specific invocations to transform the destination before AddInstallRule uses it.
* cmInstallGenerator: Refactor computation of absolute install destBrad King2015-02-111-1/+1
| | | | | | | | Replace the GetInstallDestination method, which looked up the Destination ivar, with a new ConvertToAbsoluteDestination method that takes the nominal destination as an argument. Update call sites accordingly. This will allow some clients to transform the install destination before calling the method.
* Port all cmOStringStream to std::ostringstream.Stephen Kelly2015-01-111-1/+1
| | | | All compilers hosting CMake support the std class.
* install: Thread message level setting through internal APIBrad King2014-06-241-1/+2
| | | | | | | Create a cmInstallGenerator::MessageLevel enumeration for future use in specifying install message verbosity. Thread values of the type through constructors and save the value as a member of cmInstallGenerator. Use only a "MessageDefault" value for now.
* Remove some c_str() calls.Stephen Kelly2014-03-111-4/+4
| | | | | | Use the clang RemoveCStrCalls tool to automatically migrate the code. This was only run on linux, so does not have any positive or negative effect on other platforms.
* stringapi: Pass configuration names as stringsBen Boeckel2014-03-081-1/+1
|
* strings: Remove cmStdString referencesBen Boeckel2014-03-081-1/+1
| | | | | | | | | | | Casts from std::string -> cmStdString were high on the list of things taking up time. Avoid such implicit casts across function calls by just using std::string everywhere. The comment that the symbol name is too long is no longer relevant since modern debuggers alias the templates anyways and the size is a non-issue since the underlying methods are generated since it's inherited.
* Generate modern-style cmake code.Stephen Kelly2013-08-221-12/+12
| | | | | | | | | | | The commits 9db31162 (Remove CMake-language block-end command arguments, 2012-08-13) and 77543bde (Convert CMake-language commands to lower case, 2012-08-13) changed most cmake code to use lowercase commands and no parameters in termination commands. However, those changes excluded cmake code generated in c++ by cmake. Make a similar style change to code generated by cmake.
* Export: Generate INTERFACE_LINK_LIBRARIES property on targets.Stephen Kelly2013-07-081-0/+3
| | | | | | | | | | This property is generated only for targets which have recorded policy CMP0022 as NEW, and a compatibility mode is added to additionally export the old interfaces in that case too. If the old interfaces are not exported, the generated export files require CMake 2.8.12. Because the unit tests use a version which is not yet called 2.8.12, temporarily require a lower version.
* exports: store pointers to all installations of each export setAlex Neundorf2012-09-281-0/+1
| | | | | | | This information will be used to check whether a target is exported once or multiple times and to check its namespace. Alex
* exports: Hold an ExportSet pointer in cm*Export*GeneratorYury G. Kudryashov2012-09-281-11/+5
| | | | Get name from this->ExportSet.
* exports: Add cmExportSetMap classYury G. Kudryashov2012-09-281-1/+1
| | | | This is a map<string, cmExportSet *> with overloaded operator[] and destructor.
* exports: Create class cmExportSetYury G. Kudryashov2012-09-281-1/+2
| | | | | Replace direct use of 'std::vector<cmTargetExport const*>' with a dedicated class.
* Factor cmInstallType out of cmTarget::TargetTypeBrad King2012-02-271-3/+2
| | | | | | The purpose of the TargetType enumeration was overloaded for install type because install rules were once recorded as targets. Factor the install types out into their own enumeration.
* 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.
* ENH: Remove unused PROPERTIES from file(INSTALL)Brad King2009-04-271-2/+2
| | | | | The undocumented file(INSTALL) command used to support a PROPERTIES option, but no install code still uses it. This removes the option.
* ENH: Clean per-config export files during installBrad King2009-01-071-0/+24
| | | | | | | | When installing the main export file the install tree may be dirty. If out-dated per-config files exist they may break the newly installed main file which when it globs them. This teaches the installation script to detect when it is about to replace the main export file with a different one and cleans out any existing per-config files.
* ENH: Updated exporting and importing of targets to support libraries and ↵Brad King2008-01-281-193/+132
| | | | | | | | | | | | | | | | | | 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
* STYLE: rename FILENAME keyword to FILE, because FILENAME is used in no otherAlexander Neundorf2007-08-301-0/+1
| | | | | | place Alex
* ENH: add install files generators for targets which have PUBLIC_HEADER,Alexander Neundorf2007-08-271-2/+33
| | | | | | | 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/+2
| | | | Work in progress... More to come.
* ENH: Further cleanup of installation script generation. The per-component ↵Brad King2007-07-021-12/+19
| | | | 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: First step of install script generator cleanup. Each configuration to ↵Brad King2007-06-281-1/+3
| | | | be installed is now separately handled instead of using variables to store per-configuration names. For targets the component and configuration install-time tests are now done in the install script instead of in the FILE(INSTALL) command. This cleans things up like not trying to strip a file that was optionally not installed. It also simplifies the code for install_name adjustment on OSX. This commit is surrounded by the tags CMake-InstallGeneratorCleanup1-pre and CMake-InstallGeneratorCleanup1-post.
* COMP: fix build under windowsAlexander Neundorf2007-06-191-1/+1
| | | | Alex
* ENH: add INSTALL(EXPORT ...) mode and INSTALL( TARGETS ... EXPORT <set> ) ,Alexander Neundorf2007-06-191-0/+231
tests still have to be added Alex