Index: /trunk/Mars/CMakeLists.txt
===================================================================
--- /trunk/Mars/CMakeLists.txt	(revision 19776)
+++ /trunk/Mars/CMakeLists.txt	(revision 19777)
@@ -150,16 +150,20 @@
 ENDIF()
 
+# Replace separators to make the version consistent
+# (older version might use the '/')
+STRING(REPLACE "/" "." ROOT_VERSION ${ROOT_VERSION})
+
 # This happens when root is used from its build directory
+# Create the version components manually
 IF(ROOT_VERSION AND NOT ROOT_VERSION_MAJOR)
-# Replace separators (older version might use the '/')
-STRING(REPLACE "/" "." ROOT_VERSION ${ROOT_VERSION})
-STRING(REPLACE "." ";" ROOT_VERSION ${ROOT_VERSION})
-# Split version string
-LIST(GET ROOT_VERSION 0 ROOT_VERSION_MAJOR)
-LIST(GET ROOT_VERSION 1 ROOT_VERSION_MINOR)
-LIST(GET ROOT_VERSION 2 ROOT_VERSION_PATCH)
-# Remove trailing 0's
-STRING(REGEX REPLACE "0+([0-9]+)" "\\1" ROOT_VERSION_MINOR ${ROOT_VERSION_MINOR})
-STRING(REGEX REPLACE "0+([0-9]+)" "\\1" ROOT_VERSION_PATCH ${ROOT_VERSION_PATCH})
+   # Create a list of components
+   STRING(REPLACE "." ";" ROOT_VERSION_LIST ${ROOT_VERSION})
+   # Split version string
+   LIST(GET ROOT_VERSION_LIST 0 ROOT_VERSION_MAJOR)
+   LIST(GET ROOT_VERSION_LIST 1 ROOT_VERSION_MINOR)
+   LIST(GET ROOT_VERSION_LIST 2 ROOT_VERSION_PATCH)
+   # Remove trailing 0's
+   STRING(REGEX REPLACE "0+([0-9]+)" "\\1" ROOT_VERSION_MINOR ${ROOT_VERSION_MINOR})
+   STRING(REGEX REPLACE "0+([0-9]+)" "\\1" ROOT_VERSION_PATCH ${ROOT_VERSION_PATCH})
 ENDIF()
 
