summaryrefslogtreecommitdiffstats
path: root/Source/cmEndIfCommand.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmEndIfCommand.cxx')
-rw-r--r--Source/cmEndIfCommand.cxx24
1 files changed, 24 insertions, 0 deletions
diff --git a/Source/cmEndIfCommand.cxx b/Source/cmEndIfCommand.cxx
new file mode 100644
index 0000000..50c2b42
--- /dev/null
+++ b/Source/cmEndIfCommand.cxx
@@ -0,0 +1,24 @@
+/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+ file Copyright.txt or https://cmake.org/licensing for details. */
+#include "cmEndIfCommand.h"
+
+#include <stdlib.h> // required for atof
+
+#include "cmMakefile.h"
+
+class cmExecutionStatus;
+
+bool cmEndIfCommand::InitialPass(std::vector<std::string> const&,
+ cmExecutionStatus&)
+{
+ const char* versionValue =
+ this->Makefile->GetDefinition("CMAKE_MINIMUM_REQUIRED_VERSION");
+ if (!versionValue || (atof(versionValue) <= 1.4)) {
+ return true;
+ }
+
+ this->SetError("An ENDIF command was found outside of a proper "
+ "IF ENDIF structure. Or its arguments did not match "
+ "the opening IF command.");
+ return false;
+}