diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2e66dd1..ef4f16b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,16 +1,11 @@
 # Please ensure that any changes remain compliant with 2.4.8.
 if(NOT EMBED_OPENBABEL)
-  cmake_minimum_required(VERSION 2.4.8)
+  cmake_minimum_required(VERSION 2.4.10)
 endif()
 
 project(openbabel)
 set(CMAKE_MODULE_PATH ${openbabel_SOURCE_DIR}/cmake/modules)
 
-# Allow loose loop constructs, i.e. no matching in if/else/endif or loops.
-# Note that this is true by default in CMake 2.6.0, but we currently only
-# require CMake 2.4.8 - remove this when the CMake requirement is bumped.
-set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS 1)
-
 if(COMMAND cmake_policy)
   cmake_policy(SET CMP0003 NEW)
   cmake_policy(SET CMP0005 OLD) # add_definitions need updating to set to NEW
@@ -20,7 +15,6 @@ if(COMMAND cmake_policy)
 endif()
 
 include (CheckCXXCompilerFlag)
-include (MacroEnsureVersion)
 
 # Version numbering - should be bumped for each release
 # Note that for "beta" releases, we should start at x.90.0 -- we've
@@ -238,16 +232,21 @@ check_type_size(clock_t CLOCK_T)
 
 # Get the GCC version - from KDE4 cmake files
 if(CMAKE_COMPILER_IS_GNUCXX)
-  exec_program(${CMAKE_C_COMPILER} ARGS --version OUTPUT_VARIABLE _gcc_version_info)
-  string(REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
-  # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the
-  # patch level, handle this here:
-  if (NOT _gcc_version)
-    string (REGEX REPLACE ".*\\(GCC\\).* ([34]\\.[0-9]) .*" "\\1.0" _gcc_version "${_gcc_version_info}")
-  endif ()
-  macro_ensure_version("4.0.0" "${_gcc_version}" GCC_IS_NEWER_THAN_4_0)
-  macro_ensure_version("4.1.0" "${_gcc_version}" GCC_IS_NEWER_THAN_4_1)
-  macro_ensure_version("4.2.0" "${_gcc_version}" GCC_IS_NEWER_THAN_4_2)
+  if(NOT(${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 4.0.0))
+    set(GCC_IS_NEWER_THAN_4_0 TRUE)
+  else()
+    set(GCC_IS_NEWER_THAN_4_0 FALSE)
+  endif()
+  if(NOT(${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 4.1.0))
+    set(GCC_IS_NEWER_THAN_4_1 TRUE)
+  else()
+    set(GCC_IS_NEWER_THAN_4_1 FALSE)
+  endif()
+  if(NOT(${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 4.2.0))
+    set(GCC_IS_NEWER_THAN_4_2 TRUE)
+  else()
+    set(GCC_IS_NEWER_THAN_4_2 FALSE)
+  endif()
 endif()
 
 if(UNIX)
