cmUnsetCommand.h 915 Bytes
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.  */
Brad King's avatar
Brad King committed
3 4 5
#ifndef cmUnsetCommand_h
#define cmUnsetCommand_h

6
#include "cmConfigure.h" // IWYU pragma: keep
7

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

11 12
#include "cm_memory.hxx"

Brad King's avatar
Brad King committed
13 14
#include "cmCommand.h"

15 16
class cmExecutionStatus;

Brad King's avatar
Brad King committed
17 18 19 20 21 22 23 24 25 26 27
/** \class cmUnsetCommand
 * \brief Unset a CMAKE variable
 *
 * cmUnsetCommand unsets or removes a variable.
 */
class cmUnsetCommand : public cmCommand
{
public:
  /**
   * This is a virtual constructor for the command.
   */
28 29 30 31
  std::unique_ptr<cmCommand> Clone() override
  {
    return cm::make_unique<cmUnsetCommand>();
  }
Brad King's avatar
Brad King committed
32 33 34 35 36

  /**
   * This is called when the command is first encountered in
   * the CMakeLists.txt file.
   */
37
  bool InitialPass(std::vector<std::string> const& args,
38
                   cmExecutionStatus& status) override;
Brad King's avatar
Brad King committed
39 40 41
};

#endif