diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4b8eaf66db47f188de03d32acc3f546b2cb9e94c..80504c2f256a6b9eb68ece2a569a1bad158c3af0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -124,70 +124,14 @@ if (NOT CMAKE_BUILD_TYPE)
   set(CMAKE_BUILD_TYPE Debug)
 endif()
 
-set(STAGE_DIR "${CMAKE_BINARY_DIR}/stage")
-set(EXECUTABLE_OUTPUT_PATH ${STAGE_DIR}/bin)
-set(HEADER_STAGE_PATH ${STAGE_DIR}/include)
-set(LIBEXEC_STAGE_PATH ${STAGE_DIR}/libexec/openstructure)
-set(SHARED_DATA_PATH ${STAGE_DIR}/share/openstructure)
-include_directories("${HEADER_STAGE_PATH}")
-link_directories(${LIB_STAGE_PATH})
-
-
-
-if (UNIX AND NOT APPLE)
-  check_architecture()
-endif()
-set (ARCH ${CMAKE_NATIVE_ARCH})
-if ("${ARCH}" MATCHES "64")
-  set(LIB_DIR lib64)
-  set(LIB_STAGE_PATH "${STAGE_DIR}/lib64")
-else()
-  set(LIB_DIR lib)
-  set(LIB_STAGE_PATH "${STAGE_DIR}/lib")
-endif()
-
-file(MAKE_DIRECTORY ${STAGE_DIR} 
-     ${EXECUTABLE_OUTPUT_PATH} 
+setup_stage()
+file(MAKE_DIRECTORY ${STAGE_DIR}
+     ${EXECUTABLE_OUTPUT_PATH}
      ${HEADER_STAGE_PATH}
      ${LIB_STAGE_PATH}
      ${LIBEXEC_STAGE_PATH})
 
-if (WIN32)
-   # add_definitions(-DBOOST_TEST_INCLUDED)
-   
-   add_definitions(-D_USE_MATH_DEFINES -D_CRT_SECURE_NO_DEPRECATE 
-                   -D_SCL_SECURE_NO_DEPRECATE -DNOMINMAX)
-   add_definitions(-Zc:wchar_t-)   #  
-  # add_definitions(-MDd -vmg -EHsc -GR)
-  #GR:Uses the __fastcall calling convention (x86 only).
-  #-EHsc to specify the synchronous exception handling mode/
-  #-vmg Uses full generality for pointers to members.
-  add_definitions(-DBOOST_ZLIB_BINARY=zdll)
-  #add_definitions(-NODEFAULTLIB:LIBCMTD.lib)
-endif()
-
-function(get_compiler_version _OUTPUT_VERSION)
-  exec_program(${CMAKE_CXX_COMPILER} 
-               ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
-               OUTPUT_VARIABLE _COMPILER_VERSION
-  )
-  string(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2"
-    _COMPILER_VERSION ${_COMPILER_VERSION})
-
-  set(${_OUTPUT_VERSION} ${_COMPILER_VERSION} PARENT_SCOPE)
-endfunction()
-
-if (CMAKE_COMPILER_IS_GNUCXX)
-  get_compiler_version(_GCC_VERSION)
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
-  if (_GCC_VERSION MATCHES "44")
-    # gcc 4.4. is very strict about aliasing rules. the shared_count
-    # implementation that is used boost's shared_ptr violates these rules. To
-    # silence the warnings and prevent miscompiles, enable
-    #  -fno-strict-aliasing
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing")
-  endif()
-endif()
+setup_compiler_flags()
 
 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY)
 set(_BOOST_MIN_VERSION 1.37)
diff --git a/cmake_support/OST.cmake b/cmake_support/OST.cmake
index 8b1412ae8d787ca110501f86f10a59e743017ea7..dd8c3c53d8892156740d52b1848f4f05b88047eb 100644
--- a/cmake_support/OST.cmake
+++ b/cmake_support/OST.cmake
@@ -691,25 +691,74 @@ int main( int argc, char ** argv ) {
 endmacro()
 
 
-macro(get_ost_rev)
-  if (NOT OST_REV)
-    if (NOT WIN32)
-      if (EXISTS .svn)
-        exec_program("svn" 
-                     ARGS "info |grep Revision|awk '{print $2}'"
-                     OUTPUT_VARIABLE OST_REV
-        )
-      endif()
-    else()
-      exec_program("svnversion.exe"
-                   ARGS ""
-                   OUTPUT_VARIABLE OST_REV
-      )    
-      string(REGEX REPLACE "[0-9][0-9][0-9][0-9]:" "" OST_REV ${OST_REV})
-      string(REGEX REPLACE "[A-Za-z]" "" OST_REV ${OST_REV})
-    endif()
+#-------------------------------------------------------------------------------
+# this macro sets up the stage directories
+#-------------------------------------------------------------------------------
+macro(setup_stage)
+  set(STAGE_DIR "${CMAKE_BINARY_DIR}/stage")
+  set(EXECUTABLE_OUTPUT_PATH ${STAGE_DIR}/bin  )
+  set(HEADER_STAGE_PATH ${STAGE_DIR}/include )
+  set(LIBEXEC_STAGE_PATH ${STAGE_DIR}/libexec/openstructure  )
+  set(SHARED_DATA_PATH ${STAGE_DIR}/share/openstructure  )
+
+  if (UNIX AND NOT APPLE)
+    check_architecture()
   endif()
-  if (OST_REV)
-    message("Revision: ${OST_REV}")
+  set (ARCH ${CMAKE_NATIVE_ARCH})
+  if ("${ARCH}" MATCHES "64")
+    set(LIB_DIR lib64  )
+    set(LIB_STAGE_PATH "${STAGE_DIR}/lib64"  )
+  else()
+    set(LIB_DIR lib  )
+    set(LIB_STAGE_PATH "${STAGE_DIR}/lib"  )
+  endif()
+
+  include_directories("${HEADER_STAGE_PATH}")
+  link_directories(${LIB_STAGE_PATH})
+
+endmacro()
+
+#-------------------------------------------------------------------------------
+# get compiler version
+#-------------------------------------------------------------------------------
+function(get_compiler_version _OUTPUT_VERSION)
+  exec_program(${CMAKE_CXX_COMPILER}
+               ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
+               OUTPUT_VARIABLE _COMPILER_VERSION
+  )
+  string(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2"
+    _COMPILER_VERSION ${_COMPILER_VERSION})
+
+  set(${_OUTPUT_VERSION} ${_COMPILER_VERSION} PARENT_SCOPE)
+endfunction()
+
+
+
+macro(setup_compiler_flags)
+  if (WIN32)
+     # add_definitions(-DBOOST_TEST_INCLUDED)
+
+     add_definitions(-D_USE_MATH_DEFINES -D_CRT_SECURE_NO_DEPRECATE
+                     -D_SCL_SECURE_NO_DEPRECATE -DNOMINMAX)
+     add_definitions(-Zc:wchar_t-)   #
+    # add_definitions(-MDd -vmg -EHsc -GR)
+    #GR:Uses the __fastcall calling convention (x86 only).
+    #-EHsc to specify the synchronous exception handling mode/
+    #-vmg Uses full generality for pointers to members.
+    add_definitions(-DBOOST_ZLIB_BINARY=zdll)
+    #add_definitions(-NODEFAULTLIB:LIBCMTD.lib)
+  endif()
+
+
+  if (CMAKE_COMPILER_IS_GNUCXX)
+    get_compiler_version(_GCC_VERSION)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" )
+    if (_GCC_VERSION MATCHES "44")
+      # gcc 4.4. is very strict about aliasing rules. the shared_count
+      # implementation that is used boost's shared_ptr violates these rules. To
+      # silence the warnings and prevent miscompiles, enable
+      #  -fno-strict-aliasing
+      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing" )
+    endif()
   endif()
 endmacro()
diff --git a/deployment/CMakeLists.txt b/deployment/CMakeLists.txt
index 6824a305d71c9870480e5e71687ea153284fb768..96945a7a51098cc736114b57998297735b3ad3d6 100644
--- a/deployment/CMakeLists.txt
+++ b/deployment/CMakeLists.txt
@@ -1,4 +1,5 @@
-get_ost_rev()
+# todo implement get_ost_rev for git
+#get_ost_rev()
 include(Deployment)
 set(SUBST_DIC OST_VERSION="${OST_VERSION}")
 add_custom_target(deploymnt ALL)