summaryrefslogtreecommitdiffstats
path: root/Source/cmAddLibraryCommand.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2012-03-15 12:53:27 (GMT)
committerBrad King <brad.king@kitware.com>2012-03-16 14:12:31 (GMT)
commitcd146c650e092dcbf91adf60ef697608c2ac7fa2 (patch)
tree230cc8c9d8353cceaa3ed7a2475d969a36563f63 /Source/cmAddLibraryCommand.h
parentc3242500b62c3f81af46e086cc2225b53c023167 (diff)
downloadCMake-cd146c650e092dcbf91adf60ef697608c2ac7fa2.zip
CMake-cd146c650e092dcbf91adf60ef697608c2ac7fa2.tar.gz
CMake-cd146c650e092dcbf91adf60ef697608c2ac7fa2.tar.bz2
Document OBJECT library type in add_library command
Describe the OBJECT library signature of add_library and the $<TARGET_OBJECTS:...> expressions needed to use object libraries. Also document the what is not allowed for object library targets.
Diffstat (limited to 'Source/cmAddLibraryCommand.h')
-rw-r--r--Source/cmAddLibraryCommand.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/Source/cmAddLibraryCommand.h b/Source/cmAddLibraryCommand.h
index 9ca9cbe..b1ae202 100644
--- a/Source/cmAddLibraryCommand.h
+++ b/Source/cmAddLibraryCommand.h
@@ -112,6 +112,26 @@ public:
"(and its per-configuration version IMPORTED_LOCATION_<CONFIG>) "
"which specifies the location of the main library file on disk. "
"See documentation of the IMPORTED_* properties for more information."
+ "\n"
+ "The signature\n"
+ " add_library(<name> OBJECT <src>...)\n"
+ "creates a special \"object library\" target. "
+ "An object library compiles source files but does not archive or link "
+ "their object files into a library. "
+ "Instead other targets created by add_library or add_executable may "
+ "reference the objects using an expression of the form "
+ "$<TARGET_OBJECTS:objlib> as a source, where \"objlib\" is the "
+ "object library name. "
+ "For example:\n"
+ " add_library(... $<TARGET_OBJECTS:objlib> ...)\n"
+ " add_executable(... $<TARGET_OBJECTS:objlib> ...)\n"
+ "will include objlib's object files in a library and an executable "
+ "along with those compiled from their own sources. "
+ "Object libraries may contain only sources (and headers) that compile "
+ "to object files. "
+ "They may contain custom commands generating such sources, but not "
+ "PRE_BUILD, PRE_LINK, or POST_BUILD commands. "
+ "Object libraries cannot be imported, exported, installed, or linked."
;
}