summaryrefslogtreecommitdiffstats
path: root/Source/cmExportCommand.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-01-28 13:38:36 (GMT)
committerBrad King <brad.king@kitware.com>2008-01-28 13:38:36 (GMT)
commit5594ad488576a77d9c6b8c3c1999a04fb4e6867d (patch)
treef22726476b6eaaf3832e48c185fe3c112601db17 /Source/cmExportCommand.h
parenta7cb9d1120c0555f1da67dd585bd1b4fd16d389d (diff)
downloadCMake-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.h31
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;
};