diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7041adafd4797f8a28497c3a94092d66fadf31a2..ad7e56e1f1cb7fb265c3f04d1ba4a0e222fae72b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,7 +1,25 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
 PROJECT(MOOSE)
 
-set(_MOOSE_VERSION_ "3.2" )
+project(moose)
+
+if(POLICY CMP0048)
+    cmake_policy(SET CMP0048 OLD )
+endif(POLICY CMP0048)
+
+# If from command line, version info is not passed, use the git to generate a
+# version file. If GIT fails, use the previous known version.
+find_program(GIT_EXEC "git")
+message( STATUS "Looking for git ${GIT_EXEC}" )
+if( (NOT MOOSE_VERSION) AND GIT_EXEC)
+    execute_process( 
+        COMMAND ${GIT_EXEC} describe --tags --long
+        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+        OUTPUT_VARIABLE MOOSE_VERSION
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+endif( )
+message( STATUS "Building version ${MOOSE_VERSION}" )
 
 # Options to pass down to moose-core
 option(WITH_DOC "Build documentation" OFF)