Brad King
5594ad4885
ENH: Updated exporting and importing of targets to support libraries and 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
2008-01-28 08:38:36 -05:00
Ken Martin
0e69d38004
ENH: add return and break support to cmake, also change basic command invocation signature to be able to return extra informaiton via the cmExecutionStatus class
2008-01-23 10:28:26 -05:00
Brad King
60bf0531b0
ENH: Added FILES_MATCHING option to INSTALL(DIRECTORY). This will help install a tree of header files while ignoring non-headers.
2008-01-02 15:17:56 -05:00
Brad King
5e0dadbfb8
BUG: Apply patch from issue #6006 .
2007-12-17 15:20:06 -05:00
Brad King
1de1f4bb83
STYLE: Fixed line-too-long.
2007-10-16 10:20:59 -04:00
David Cole
c8e832dcf5
BUG: Fix #5868 - add COMPONENT handling to the SCRIPT and CODE signatures of the INSTALL command.
2007-10-15 07:08:15 -04:00
David Cole
8e4c7b99e1
ENH: Finish up the Framework creation code restructuring. Frameworks build and install now. More work needed on the packaging step. See Tests/Framework for example use.
2007-10-10 11:06:15 -04:00
Alexander Neundorf
a4fb93599f
STYLE: fix line lengths
...
Alex
2007-08-31 16:52:32 -04:00
Alexander Neundorf
34e3ce9e4e
STYLE: rename FILENAME keyword to FILE, because FILENAME is used in no other
...
place
Alex
2007-08-30 16:22:01 -04:00
Alexander Neundorf
3e12a6cb91
ENH: add install files generators for targets which have PUBLIC_HEADER,
...
PRIVATE_HEADER or RESOURCE_FILES property, use the destination for the
public headers as include directory property for exported libraries
Alex
2007-08-27 16:04:57 -04:00
Alexander Neundorf
938ed7710a
STYLE: fix MSVC warnings by making the cmCommandArgumentsHelper a member of
...
cmInstallCommandArguments instead of deriving from it
Alex
2007-08-24 14:27:18 -04:00
David Cole
9a4e7ea742
ENH: Add InstallNameFixupPath to support installing built frameworks on the Mac. Change Application to Applications in the BundleTest. Also correct small typo (tcl->Tcl) noted in bug 4572.
2007-08-24 13:30:41 -04:00
Alexander Neundorf
d634c4e743
ENH: use cmCommandArgumentHelper for INSTALL(TARGETS, FILES, PROGRAMS,
...
EXPORTS), saves a lot of code. INSTALL(DIRECTORY) is still done the old way,
since this seems to be quite complicated
-for INSTALL(TARGETS ): also parse PUBLIC_HEADER, PRIVATE_HEADER, RESOURCE
Alex
2007-08-24 08:55:20 -04:00
David Cole
ef22ad6bec
ENH: Handle FRAMEWORK and BUNDLE arguments in the INSTALL TARGETS command. Work in progress... More to come.
2007-08-22 11:32:48 -04:00
Alexander Neundorf
8046390f1e
ENH: if no COMPONENT is specified, make this install item part of the
...
"Unspecified" component -> if no components are used at all, no change in
behaviour, if components are used completely, no change in behaviour, since
this default will be overridden everywhere, if components where used partly,
it is now possible to install only the unspecified items (e.g. everything
which wasn't marked as "Development")
Alex
Alex
2007-08-01 17:10:22 -04:00
Brad King
7f29f8966d
ENH: Further cleanup of installation script generation. The per-component 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.
2007-07-02 14:56:57 -04:00
Brad King
53f39ad566
BUG: Do not install the import library for an executable that does not have ENABLE_EXPORTS set.
2007-06-27 16:14:50 -04:00
Alexander Neundorf
c0d000d234
ENH: add INSTALL(EXPORT ...) mode and INSTALL( TARGETS ... EXPORT <set> ) ,
...
tests still have to be added
Alex
2007-06-19 13:10:21 -04:00
Alexander Neundorf
617602e9e9
STYLE: preparations for the INSTALL(EXPORT ...) generator
...
-move std::string Destination to cmInstallGenerator, since all (except
the script one) have it and add a const accessor so it can be queried
-use temporary variables in cmInstallCommand for the generators so they can be reused easier
-some more const
Alex
2007-06-19 11:11:06 -04:00
Alexander Neundorf
4878c00905
ENH: add the IMPORT keyword to ADD_EXECUTABLE(), which generates an
...
"imported" executable target. This can then be used e.g. with
ADD_CUSTOM_COMMAND() to generate stuff. It adds a second container for
"imported" targets, and FindTarget() now takes an additional argument bool
useImportedTargets to specify whether you also want to search in the
imported targets or only in the "normal" targets.
Alex
2007-05-22 10:24:59 -04:00
Brad King
fc7c433463
ENH: Added support for import libraries created by executable and module targets. The module import libraries should never be used but some windows compilers always create them for .dll files since there is no distinction from shared libraries on that platform. The executable import libraries may be used to create modules that when loaded bind to symbols from the executables. This is an enhancement related to bug#4210 though not requested by it explicitly.
2007-03-19 10:00:36 -04:00
Brad King
934c804ea4
ENH: Added OPTIONAL option to INSTALL command to allow installation of files if they exist while ignoring them otherwise. This addresses bug#2922.
2006-10-05 11:31:57 -04:00
Brad King
cff915cb8e
STYLE: Fixed line-too-long.
2006-09-08 10:39:51 -04:00
Brad King
d458764791
ENH: Patch from Toni Timonen to allow cross-compiling of DLLs.
2006-09-07 10:05:12 -04:00
Brad King
239fce5caa
ENH: Do not generate install target unless some INSTALL or INSTALL_* commands have been used. This addresses bug#2827.
2006-08-31 10:47:00 -04:00
Brad King
27a67fb72f
ENH: Add support to INSTALL(DIRECTORY) to install an empty directory. This addresses bug#3572.
2006-08-29 15:04:29 -04:00
Brad King
c99dcc30be
BUG: Directory installation pattern matching should be case insensitive on some platforms.
2006-08-21 17:47:51 -04:00
Brad King
bed79f6c6b
ENH: Implemented INSTALL(DIRECTORY) command and added a test. Re-organized cmFileCommand's implementation of FILE(INSTALL) a bit to help out. This addresses bug#1694 and partially addresses bug#2691.
2006-08-21 16:55:03 -04:00
Brad King
8a72d43c17
ENH: Started implementing INSTALL(DIRECTORY) command mode. This is not yet finished so it is undocumented and there is no test. These changes also separate the notions of file and directory permissions.
2006-08-17 14:48:54 -04:00
Brad King
50a0f71120
ENH: Added CONFIGURATIONS option to INSTALL command to allow per-configuration install rules.
2006-05-05 14:57:19 -04:00
Brad King
d4c5fe840b
ENH: Added INSTALL(CODE) mode to allow inline specification of install script code. This reduces the need for configuring an install script that needs some variable settings because the install code can set thing up first.
2006-04-12 22:04:50 -04:00
Brad King
08b14163ee
ENH: Added named component installation implementation. Installation behavior should be unchanged unless -DCOMPONENT=<name> is specified when cmake_install.cmake is invoked.
2006-03-30 13:33:48 -05:00
Brad King
ca5647c92c
ENH: Added ARCHIVE option to the TARGETS mode of the INSTALL command. It is a third option added to RUNTIME and LIBRARY property types. Static libraries and import libraries are now treated as ARCHIVE targets instead of LIBRARY targets. This adds a level of granularity necessary for upcoming features. Also updated the CVS CMake patch level set in CMake_VERSION_PATCH from 4 to 5 to allow users of this version to know whether this incompatible change is present.
2006-03-24 16:11:24 -05:00
Ken Martin
3d96e52261
STYLE: some m_ to this-> cleanup
2006-03-15 11:02:08 -05:00
Brad King
06846c4c07
ENH: Added PERMISSIONS option to the TARGETS mode of the INSTALL command.
2006-03-03 19:29:35 -05:00
Brad King
a2e136fd17
ENH: Added PERMISSIONS and RENAME options to the INSTALL command's FILES and 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.
2006-03-03 18:44:32 -05:00
Brad King
518080136d
ENH: Implemented FILES and PROGRAMS forms of the INSTALL command as replacements for the INSTALL_FILES and INSTALL_PROGRAMS commands. This addresses the request for absolute path install destinations in bug#2691.
2006-02-19 18:47:13 -05:00
Brad King
b6e4bc0521
COMP: Removed unused variables.
2006-02-19 16:35:49 -05:00
Brad King
96f0266228
ENH: Created new install script generation framework. The INSTALL command 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.
2006-02-19 15:25:27 -05:00
Brad King
b8a33fb424
ENH: Added INSTALL command as a placeholder for a future generic install specification interface. Currently it supports only a SCRIPT option specifying a script to run during the install stage.
2006-02-10 13:54:36 -05:00