ENH: Document PRIVATE_HEADER, PUBLIC_HEADER, and RESOURCE target properties and corresponding arguments to INSTALL(TARGETS).

This commit is contained in:
Brad King 2008-01-28 15:12:12 -05:00
parent 9275e1f1d2
commit 64b6c0b950
2 changed files with 41 additions and 1 deletions

View File

@ -99,7 +99,8 @@ public:
"\n" "\n"
"The TARGETS signature:\n" "The TARGETS signature:\n"
" install(TARGETS targets... [EXPORT <export-name>]\n" " install(TARGETS targets... [EXPORT <export-name>]\n"
" [[ARCHIVE|LIBRARY|RUNTIME|FRAMEWORK|BUNDLE]\n" " [[ARCHIVE|LIBRARY|RUNTIME|FRAMEWORK|BUNDLE|\n"
" PRIVATE_HEADER|PUBLIC_HEADER|RESOURCE]\n"
" [DESTINATION <dir>]\n" " [DESTINATION <dir>]\n"
" [PERMISSIONS permissions...]\n" " [PERMISSIONS permissions...]\n"
" [CONFIGURATIONS [Debug|Release|...]]\n" " [CONFIGURATIONS [Debug|Release|...]]\n"
@ -130,6 +131,15 @@ public:
"type will be installed (which can be used to install just a DLL or " "type will be installed (which can be used to install just a DLL or "
"just an import library)." "just an import library)."
"\n" "\n"
"The PRIVATE_HEADER, PUBLIC_HEADER, and RESOURCE arguments cause "
"subsequent properties to be applied to installing a FRAMEWORK "
"shared library target's associated files on non-Apple platforms. "
"Rules defined by these arguments are ignored on Apple platforms "
"because the associated files are installed into the appropriate "
"locations inside the framework folder. "
"See documentation of the PRIVATE_HEADER, PUBLIC_HEADER, and RESOURCE "
"target properties for details."
"\n"
"One or more groups of properties may be specified in a single call " "One or more groups of properties may be specified in a single call "
"to the TARGETS form of this command. A target may be installed more " "to the TARGETS form of this command. A target may be installed more "
"than once to different locations. Consider hypothetical " "than once to different locations. Consider hypothetical "

View File

@ -357,6 +357,36 @@ void cmTarget::DefineProperties(cmake *cm)
"INSTALL_TARGETS command is used to install the target. Use the " "INSTALL_TARGETS command is used to install the target. Use the "
"INSTALL command instead."); "INSTALL command instead.");
cm->DefineProperty
("PRIVATE_HEADER", cmProperty::TARGET,
"Specify private header files in a FRAMEWORK shared library target.",
"Shared library targets marked with the FRAMEWORK property generate "
"frameworks on OS X and normal shared libraries on other platforms. "
"This property may be set to a list of header files to be placed "
"in the PrivateHeaders directory inside the framework folder. "
"On non-Apple platforms these headers may be installed using the "
"PRIVATE_HEADER option to the install(TARGETS) command.");
cm->DefineProperty
("PUBLIC_HEADER", cmProperty::TARGET,
"Specify public header files in a FRAMEWORK shared library target.",
"Shared library targets marked with the FRAMEWORK property generate "
"frameworks on OS X and normal shared libraries on other platforms. "
"This property may be set to a list of header files to be placed "
"in the Headers directory inside the framework folder. "
"On non-Apple platforms these headers may be installed using the "
"PUBLIC_HEADER option to the install(TARGETS) command.");
cm->DefineProperty
("RESOURCE", cmProperty::TARGET,
"Specify resource files in a FRAMEWORK shared library target.",
"Shared library targets marked with the FRAMEWORK property generate "
"frameworks on OS X and normal shared libraries on other platforms. "
"This property may be set to a list of files to be placed "
"in the Resources directory inside the framework folder. "
"On non-Apple platforms these files may be installed using the "
"RESOURCE option to the install(TARGETS) command.");
cm->DefineProperty cm->DefineProperty
("SKIP_BUILD_RPATH", cmProperty::TARGET, ("SKIP_BUILD_RPATH", cmProperty::TARGET,
"Should rpaths be used for the build tree.", "Should rpaths be used for the build tree.",