CMake/Source/cmCMakeMinimumRequired.h
Brad King 8dc97acb03 cmake_minimum_required: Tolerate unknown future arguments
When a `...<max>` version is given that is larger than the running
version of CMake, assume that the project is aware of a newer version of
CMake and that any unknown arguments are future arguments.  This will
allow future versions of CMake to add arguments to the command that
projects can use without introducing errors in older versions of CMake
(back to 3.12).
2018-03-26 11:31:08 -04:00

41 lines
1.0 KiB
C++

/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
#ifndef cmCMakeMinimumRequired_h
#define cmCMakeMinimumRequired_h
#include "cmConfigure.h" // IWYU pragma: keep
#include <string>
#include <vector>
#include "cmCommand.h"
class cmExecutionStatus;
/** \class cmCMakeMinimumRequired
* \brief cmake_minimum_required command
*
* cmCMakeMinimumRequired implements the cmake_minimum_required CMake command
*/
class cmCMakeMinimumRequired : public cmCommand
{
public:
/**
* This is a virtual constructor for the command.
*/
cmCommand* Clone() override { return new cmCMakeMinimumRequired; }
/**
* This is called when the command is first encountered in
* the CMakeLists.txt file.
*/
bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus& status) override;
private:
std::vector<std::string> UnknownArguments;
bool EnforceUnknownArguments(std::string const& version_max);
};
#endif