You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*=========================================================================
Program: CMake - Cross-Platform Makefile Generator Module: $RCSfile$ Language: C++ Date: $Date$ Version: $Revision$
Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information.
=========================================================================*/ #ifndef cmExecuteProcessCommand_h
#define cmExecuteProcessCommand_h
#include "cmCommand.h"
/** \class cmExecuteProcessCommand
* \brief Command that adds a target to the build system. * * cmExecuteProcessCommand is a CMake language interface to the KWSys * Process Execution implementation. */ class cmExecuteProcessCommand : public cmCommand { public: /**
* This is a virtual constructor for the command. */ virtual cmCommand* Clone() { return new cmExecuteProcessCommand; }
/**
* This is called when the command is first encountered in * the CMakeLists.txt file. */ virtual bool InitialPass(std::vector<std::string> const& args);
/**
* The name of the command as specified in CMakeList.txt. */ virtual const char* GetName() {return "EXECUTE_PROCESS";}
/**
* This determines if the command is invoked when in script mode. */ virtual bool IsScriptable() { return true; }
/**
* Succinct documentation. */ virtual const char* GetTerseDocumentation() { return "Execute one or more child processes."; }
/**
* More documentation. */ virtual const char* GetFullDocumentation() { return " EXECUTE_PROCESS(COMMAND <cmd1> [args1...]]\n" " [COMMAND <cmd2> [args2...] [...]]\n" " [WORKING_DIRECTORY <directory>]\n" " [TIMEOUT <seconds>]\n" " [RESULT_VARIABLE <variable>]\n" " [OUTPUT_VARIABLE <variable>]\n" " [ERROR_VARIABLE <variable>]\n" " [INPUT_FILE <file>]\n" " [OUTPUT_FILE <file>]\n" " [ERROR_FILE <file>]\n" " [OUTPUT_QUIET]\n" " [ERROR_QUIET]\n" " [OUTPUT_STRIP_TRAILING_WHITESPACE]\n" " [ERROR_STRIP_TRAILING_WHITESPACE])\n" "Runs the given sequence of one or more commands with the standard " "output of each process piped to the standard input of the next. " "A single standard error pipe is used for all processes. " "If WORKING_DIRECTORY is given the named directory will be set as " "the current working directory of the child processes. " "If TIMEOUT is given the child processes will be terminated if they " "do not finish in the specified number of seconds " "(fractions are allowed). " "If RESULT_VARIABLE is given the variable will be set to contain " "the result of running the processes. This will be an integer return " "code from the last child or a string describing an error condition. " "If OUTPUT_VARIABLE or ERROR_VARIABLE are given the variable named " "will be set with the contents of the standard output and standard " "error pipes respectively. If the same variable is named for both " "pipes their output will be merged in the order produced. " "If INPUT_FILE, OUTPUT_FILE, or ERROR_FILE is given the file named " "will be attached to the standard input of the first process, " "standard output of the last process, or standard error of all " "processes respectively. " "If OUTPUT_QUIET or ERROR_QUIET is given then the standard output " "or standard error results will be quietly ignored. " "If more than one OUTPUT_* or ERROR_* option is given for the same " "pipe the precedence is not specified. " "If no OUTPUT_* or ERROR_* options are given the output will be shared " "with the corresponding pipes of the CMake process itself.\n" "The EXECUTE_PROCESS command is a newer more powerful version of " "EXEC_PROGRAM, but the old command has been kept for compatibility." ; }
cmTypeMacro(cmExecuteProcessCommand, cmCommand); };
#endif
|