cmIncludeCommand.h 1.24 KB
Newer Older
1 2
/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
   file Copyright.txt or https://cmake.org/licensing for details.  */
Anonymous's avatar
Anonymous committed
3 4 5
#ifndef cmIncludeCommand_h
#define cmIncludeCommand_h

6
#include <cmConfigure.h>
7

8 9 10
#include <string>
#include <vector>

Anonymous's avatar
Anonymous committed
11 12
#include "cmCommand.h"

13 14
class cmExecutionStatus;

Anonymous's avatar
Anonymous committed
15
/** \class cmIncludeCommand
Sean McBride's avatar
Sean McBride committed
16
 * \brief cmIncludeCommand defines a list of distant
Anonymous's avatar
Anonymous committed
17 18 19 20 21 22 23 24 25 26
 *  files that can be "included" in the current list file.
 *  In almost every sense, this is identical to a C/C++
 *  #include command.  Arguments are first expended as usual.
 */
class cmIncludeCommand : public cmCommand
{
public:
  /**
   * This is a virtual constructor for the command.
   */
27
  cmCommand* Clone() CM_OVERRIDE { return new cmIncludeCommand; }
Anonymous's avatar
Anonymous committed
28 29 30 31 32

  /**
   * This is called when the command is first encountered in
   * the CMakeLists.txt file.
   */
33 34
  bool InitialPass(std::vector<std::string> const& args,
                   cmExecutionStatus& status) CM_OVERRIDE;
Anonymous's avatar
Anonymous committed
35

36 37 38
  /**
   * This determines if the command is invoked when in script mode.
   */
39
  bool IsScriptable() const CM_OVERRIDE { return true; }
40

Anonymous's avatar
Anonymous committed
41 42 43
  /**
   * The name of the command as specified in CMakeList.txt.
   */
44
  std::string GetName() const CM_OVERRIDE { return "include"; }
Anonymous's avatar
Anonymous committed
45 46 47
};

#endif