diff options
author | Brad King <brad.king@kitware.com> | 2008-01-28 13:38:36 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2008-01-28 13:38:36 (GMT) |
commit | 5594ad488576a77d9c6b8c3c1999a04fb4e6867d (patch) | |
tree | f22726476b6eaaf3832e48c185fe3c112601db17 /Source/cmExportCommand.h | |
parent | a7cb9d1120c0555f1da67dd585bd1b4fd16d389d (diff) | |
download | CMake-5594ad488576a77d9c6b8c3c1999a04fb4e6867d.zip CMake-5594ad488576a77d9c6b8c3c1999a04fb4e6867d.tar.gz CMake-5594ad488576a77d9c6b8c3c1999a04fb4e6867d.tar.bz2 |
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
Diffstat (limited to 'Source/cmExportCommand.h')
-rw-r--r-- | Source/cmExportCommand.h | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/Source/cmExportCommand.h b/Source/cmExportCommand.h index c79f46d..f424501 100644 --- a/Source/cmExportCommand.h +++ b/Source/cmExportCommand.h @@ -55,7 +55,7 @@ public: virtual const char* GetTerseDocumentation() { return - "Write out the dependency information for all targets of a project."; + "Export targets from the build tree for use by outside projects."; } /** @@ -64,15 +64,23 @@ public: virtual const char* GetFullDocumentation() { return - " export(TARGETS tgt1 ... tgtN [PREFIX <prefix>] FILE <filename> " - "[APPEND])\n" - "Create a file that can be included into a CMake listfile with the " - "INCLUDE command. The file will contain a number of SET commands " - "that will set all the variables needed for library dependency " - "information. This should be the last command in the top level " - "CMakeLists.txt file of the project. If the APPEND option is " - "specified, the SET commands will be appended to the given file " - "instead of replacing it."; + " export(TARGETS [target1 [target2 [...]]] [NAMESPACE <namespace>]\n" + " FILE <filename>)\n" + "Create a file <filename> that may be included by outside projects to " + "import targets from the current project's build tree. " + "This is useful during cross-compiling to build utility executables " + "that can run on the host platform in one project and then import " + "them into another project being compiled for the target platform. " + "If the NAMESPACE option is given the <namespace> string will be " + "prepended to all target names written to the file. " + "If a library target is included in the export but " + "a target to which it links is not included the behavior is " + "unspecified." + "\n" + "The file created by this command is specific to the build tree and " + "should never be installed. " + "See the install(EXPORT) command to export targets from an " + "installation tree."; } cmTypeMacro(cmExportCommand, cmCommand); @@ -80,8 +88,7 @@ public: private: cmCommandArgumentGroup ArgumentGroup; cmCAStringVector Targets; - cmCAEnabler Append; - cmCAString Prefix; + cmCAString Namespace; cmCAString Filename; }; |