summaryrefslogtreecommitdiffstats
path: root/Source/cmInstallGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Use CPACK_xxx and CMAKE_xxx in a consistent way.Eric NOULARD2012-05-201-8/+8
| | | | | | | | | | | | | | | | CMAKE_xxx vars are now used in the CMake-generated cmake_install.cmake script while CPACK_xxx equivalent vars are used from within CPack. CPack is responsible for getting/forwarding definitions of CPACK_xxxx var corresponding to CMAKE_xxxx when invoking CMake-generated install scripts. As a consequence: CMAKE_ABSOLUTE_DESTINATION_FILES CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION may be used from outside CPack as well. e.g. cmake -DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=1 -P cmake_install.cmake works as expected.
* Fix KWStyle warningEric NOULARD2012-05-151-1/+2
|
* CPack add necessary check to detect/warns/error on ABSOLUTE DESTINATIONEric NOULARD2012-05-141-0/+9
| | | | | | | | | | | | | | | | | | The [usually] wrong usage of absolute DESTINATION in INSTALL rules keeps popping-up on the ML. We shall have some way to: 1) easily detect it. 2) forbids this for some CPack generator like NSIS In fact it should certainly be forbidden for *any* generators when used on Windows but we may implements that on top of the current patch. The patch ask the task to the generated cmake_install.cmake scripts. Those scripts are a little bit more complicated with that but iff there are absolute DESTINATION. This cost nothing if relative DESTINATION are used. Two new vars are introduced (and documented to handle that): CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION and CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
* Factor cmInstallType out of cmTarget::TargetTypeBrad King2012-02-271-10/+8
| | | | | | 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.
* InstallGen/CPack fix handling absolute installed file regressionEric NOULARD2010-09-201-2/+5
|
* CPack Enable better handling of absolute installed filesEric NOULARD2010-08-231-0/+20
| | | | | | | | | | The idea of the patch is to let the install generator define CPACK_ABSOLUTE_INSTALL_FILES then when CMake is installing project he will concatenate the list of files and give it to specific CPack Generator by defining CPACK_ABSOLUTE_INSTALL_FILES to be the list of ALL files that were installed using absolute destination. An example of use has been applied to RPM generator which now tries to automatically build a relocatable package.
* 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-5/+0
| | | | | The undocumented file(INSTALL) command used to support a PROPERTIES option, but no install code still uses it. This removes the option.
* ENH: Refactor cmInstallGenerator for re-useBrad King2009-03-161-120/+4
| | | | | | A new cmScriptGenerator base class factors out the non-install-specific part of cmInstallGenerator. This will be useful for other generators that want per-configuration functionality.
* BUG: Fix component-name test on installationBrad King2008-12-161-2/+2
| | | | | | | Generated cmake_install.cmake script code used MATCHES to compare component names. This does not support characters considered special by regular expression syntax in component names. This change uses STREQUAL instead. See issue #8256.
* ENH: Updated exporting and importing of targets to support libraries and ↵Brad King2008-01-281-1/+38
| | | | | | | | | | | | | | | | | | 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: add some newlines to cmake_install.cmake, so it's easier to readAlexander Neundorf2007-08-201-1/+1
| | | | | | -move the array behind the if, it's unused before it Alex
* ENH: Further cleanup of installation script generation. The per-component ↵Brad King2007-07-021-18/+120
| | | | 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: Improved indentation of generated cmake_install.cmake code.Brad King2007-07-021-3/+5
|
* ENH: First step of install script generator cleanup. Each configuration to ↵Brad King2007-06-281-2/+19
| | | | 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.
* ENH: Implemented INSTALL(DIRECTORY) command and added a test. Re-organized ↵Brad King2006-08-211-2/+8
| | | | cmFileCommand's implementation of FILE(INSTALL) a bit to help out. This addresses bug#1694 and partially addresses bug#2691.
* ENH: Started implementing INSTALL(DIRECTORY) command mode. This is not yet ↵Brad King2006-08-171-3/+8
| | | | finished so it is undocumented and there is no test. These changes also separate the notions of file and directory permissions.
* STYLE: fix line lengthKen Martin2006-05-111-12/+13
|
* ENH: Added CONFIGURATIONS option to INSTALL command to allow ↵Brad King2006-05-051-9/+21
| | | | per-configuration install rules.
* ENH: Added named component installation implementation. Installation ↵Brad King2006-03-301-0/+5
| | | | behavior should be unchanged unless -DCOMPONENT=<name> is specified when cmake_install.cmake is invoked.
* ENH: Add proper support for installing bundlesAndy Cedilnik2006-03-281-0/+1
|
* ENH: Added PERMISSIONS and RENAME options to the INSTALL command's FILES and ↵Brad King2006-03-031-1/+11
| | | | PROGRAMS mode, and corresponding support to FILE(INSTALL). Default permissions for shared libraries on non-Windows/non-OSX platforms no longer has the execute bit set.
* BUG: Fixed optional file install support for multi-configuration generators.Brad King2006-02-201-21/+5
|
* BUG: Do not report files as installed if they are optional and do not exist.Brad King2006-02-191-11/+24
|
* ENH: Created new install script generation framework. The INSTALL command ↵Brad King2006-02-191-0/+82
creates the generators which are later used by cmLocalGenerator to create the cmake_install.cmake files. A new target installation interface is provided by the INSTALL command which fixes several problems with the INSTALL_TARGETS command. See bug#2691. Bugs 1481 and 1695 are addressed by these changes.