summaryrefslogtreecommitdiff
path: root/Source/cmAddCustomCommandCommand.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-04-11 11:06:19 -0400
committerBrad King <brad.king@kitware.com>2006-04-11 11:06:19 -0400
commitd5719f22c1dca3e100f1e3b5dfaa4fe7d26796a0 (patch)
tree714a99bed97290f96ff8f846fa6864cebbdc0a28 /Source/cmAddCustomCommandCommand.h
parentb613cf0be806cc1d37d2b590f1a5ba7898236ae8 (diff)
downloadcmake-d5719f22c1dca3e100f1e3b5dfaa4fe7d26796a0.tar.gz
ENH: Added support for multiple outputs generated by a single custom command. For Visual Studio generators the native tool provides support. For Xcode and Makefile generators a simple trick is used. The first output is considered primary and has the build rule attached. Other outputs simply depend on the first output with no build rule. During cmake_check_build_system CMake detects when a secondary output is missing and removes the primary output to make sure all outputs are regenerated. This approach always builds the custom command at the right time and only once even during parallel builds.
Diffstat (limited to 'Source/cmAddCustomCommandCommand.h')
-rw-r--r--Source/cmAddCustomCommandCommand.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/cmAddCustomCommandCommand.h b/Source/cmAddCustomCommandCommand.h
index 96f85f6512..7a40c477e1 100644
--- a/Source/cmAddCustomCommandCommand.h
+++ b/Source/cmAddCustomCommandCommand.h
@@ -66,7 +66,7 @@ public:
"There are two main signatures for ADD_CUSTOM_COMMAND "
"The first signature is for adding a custom command "
"to produce an output.\n"
- " ADD_CUSTOM_COMMAND(OUTPUT result\n"
+ " ADD_CUSTOM_COMMAND(OUTPUT output1 [output2 ...]\n"
" COMMAND command1 [ARGS] [args1...]\n"
" [COMMAND command2 [ARGS] [args2...] ...]\n"
" [MAIN_DEPENDENCY depend]\n"
@@ -106,6 +106,8 @@ public:
}
cmTypeMacro(cmAddCustomCommandCommand, cmCommand);
+protected:
+ bool CheckOutputs(const std::vector<std::string>& outputs);
};