diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5edeec9c06e9deae09ee1ffc9b437214f53192cd..b479f3b497212113005e3e327afc7c73680b34bf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -195,27 +195,27 @@ if(OGS_USE_MKL)
 endif()
 
 # Eigen
-if(CMAKE_BUILD_TYPE STREQUAL "Debug")
-    add_definitions(-DEIGEN_INITIALIZE_MATRICES_BY_NAN)
-endif()
+if(OGS_USE_EIGEN)
+    if(CMAKE_BUILD_TYPE STREQUAL "Debug")
+        add_definitions(-DEIGEN_INITIALIZE_MATRICES_BY_NAN)
+    endif()
 
-if(EIGEN_NO_DEBUG)
-    add_definitions(-DEIGEN_NO_DEBUG)
-endif()
+    if(EIGEN_NO_DEBUG)
+        add_definitions(-DEIGEN_NO_DEBUG)
+    endif()
 
-if(EIGEN_DONT_VECTORIZE)
-    add_definitions(-DEIGEN_DONT_VECTORIZE)
-endif()
+    if(EIGEN_DONT_VECTORIZE)
+        add_definitions(-DEIGEN_DONT_VECTORIZE)
+    endif()
 
-if(OGS_EIGEN_DYNAMIC_SHAPE_MATRICES_INTERNAL)
-    add_definitions(-DOGS_EIGEN_DYNAMIC_SHAPE_MATRICES)
-endif()
+    if(OGS_EIGEN_DYNAMIC_SHAPE_MATRICES_INTERNAL)
+        add_definitions(-DOGS_EIGEN_DYNAMIC_SHAPE_MATRICES)
+    endif()
 
-if(OGS_USE_EIGEN)
-    add_definitions(-DOGS_USE_EIGEN)
     if(OGS_USE_EIGEN_UNSUPPORTED)
         add_definitions(-DUSE_EIGEN_UNSUPPORTED)
     endif()
+
     if(OGS_EIGEN_INITIALIZE_MATRICES_BY_NAN)
         add_definitions(-DEIGEN_INITIALIZE_MATRICES_BY_NAN)
     endif()
diff --git a/MathLib/CMakeLists.txt b/MathLib/CMakeLists.txt
index 024e944a7a465d4e4a76a0350db6bd5b4025dfb8..2d5e680835a9ca09460a3e3cad2d873d85befd65 100644
--- a/MathLib/CMakeLists.txt
+++ b/MathLib/CMakeLists.txt
@@ -44,6 +44,9 @@ endif()
 if(OGS_USE_PETSC)
     target_compile_definitions(MathLib PUBLIC USE_PETSC)
 endif()
+if(OGS_USE_EIGEN)
+    target_compile_definitions(MathLib PUBLIC OGS_USE_EIGEN)
+endif()
 
 target_link_libraries(MathLib
     PUBLIC