Browse Source

ENH: Provide variable CMAKE_VERSION

This creates the variable CMAKE_VERSION containing the full version of
cmake in "major.minor.patch" format.  It is particularly useful with the
component-wise version comparison provided by the if() command.
Brad King 17 years ago
parent
commit
35e391c93b
2 changed files with 13 additions and 0 deletions
  1. 8 0
      Source/cmDocumentVariables.cxx
  2. 5 0
      Source/cmMakefile.cxx

+ 8 - 0
Source/cmDocumentVariables.cxx

@@ -214,6 +214,14 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
      "This specifies the patch version of the CMake"
      " executable being run.",false,
      "Variables that Provide Information");
+  cm->DefineProperty
+    ("CMAKE_VERSION", cmProperty::VARIABLE,
+     "The full version of cmake in major.minor.patch format.",
+     "This specifies the full version of the CMake executable being run.  "
+     "This variable is defined by versions 2.6.3 and higher.  "
+     "See variables CMAKE_MAJOR_VERSION, CMAKE_MINOR_VERSION, and "
+     "CMAKE_PATCH_VERSION for individual version components.", false,
+     "Variables that Provide Information");
 
   cm->DefineProperty
     ("CMAKE_PARENT_LIST_FILE", cmProperty::VARIABLE,

+ 5 - 0
Source/cmMakefile.cxx

@@ -2307,6 +2307,11 @@ void cmMakefile::AddDefaultDefinitions()
   this->AddDefinition("CMAKE_MAJOR_VERSION", temp);
   sprintf(temp, "%d", cmVersion::GetPatchVersion());
   this->AddDefinition("CMAKE_PATCH_VERSION", temp);
+  sprintf(temp, "%u.%u.%u",
+          cmVersion::GetMajorVersion(),
+          cmVersion::GetMinorVersion(),
+          cmVersion::GetPatchVersion());
+  this->AddDefinition("CMAKE_VERSION", temp);
 
   this->AddDefinition("CMAKE_FILES_DIRECTORY",
                       cmake::GetCMakeFilesDirectory());