diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3fda3147084be7a2e4ca441c2c8536fc19a8a819..659d84522d194a860d1f9fca6c56a312010f51e2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -246,19 +246,11 @@ add_definitions(-DLOGOG_LEVEL=${OGS_LOG_LEVEL})
 ######################
 
 # External projects
-include(scripts/cmake/ExternalProjectBoost.cmake)
-include(VtkModules)
 if(OGS_INSITU)
-    include(ExternalProjectCatalyst)
     include("${PARAVIEW_USE_FILE}")
     add_definitions(-DUSE_INSITU)
-else()
-    include(ExternalProjectVtk)
 endif()
 
-include_directories( SYSTEM ${Boost_INCLUDE_DIRS} )
-include(scripts/cmake/ExternalProjectEigen.cmake)
-include_directories(SYSTEM ${EIGEN3_INCLUDE_DIR})
 
 # Add subdirectories with the projects
 add_subdirectory( ThirdParty )
diff --git a/scripts/cmake/ExternalProjectBoost.cmake b/scripts/cmake/ExternalProjectBoost.cmake
deleted file mode 100644
index ab16c24eb199f2ca238277f51a0e805c2e591163..0000000000000000000000000000000000000000
--- a/scripts/cmake/ExternalProjectBoost.cmake
+++ /dev/null
@@ -1,59 +0,0 @@
-if(USE_CONAN)
-    SET(BOOST_HEADER_ONLY TRUE)
-    find_package(Boost REQUIRED)
-    include_directories(SYSTEM ${CONAN_INCLUDE_DIRS_BOOST})
-    link_directories(${Boost_LIBRARY_DIR})
-    return()
-endif()
-include(ThirdPartyLibVersions)
-include(ExternalProject)
-
-if(Boost_FOUND)
-    return()
-endif()
-
-if(NOT DEFINED BOOST_ROOT AND DEFINED ENV{BOOST_ROOT})
-    set(BOOST_ROOT $ENV{BOOST_ROOT} CACHE PATH "")
-endif()
-
-# First check for system boost
-if(NOT Boost_INCLUDE_DIRS)
-    if(APPLE)
-        set(BOOST_ROOT $ENV{HOMEBREW_ROOT})
-    endif()
-    if(WIN32 AND COMPILER_IS_GCC)
-        set(BOOST_INCLUDEDIR "$ENV{CMAKE_LIBRARY_SEARCH_PATH}/include/boost*")
-    endif()
-    if(OGS_LIB_BOOST STREQUAL "System")
-        find_package(Boost ${OGS_BOOST_VERSION} REQUIRED)
-        if(NOT Boost_FOUND)
-            message(FATAL_ERROR "Aborting CMake because system Boost was not found!")
-        endif()
-    elseif(OGS_LIB_BOOST STREQUAL "Default")
-        find_package(Boost ${OGS_BOOST_VERSION})
-    endif()
-    if(Boost_FOUND)
-        set(Boost_FOUND TRUE CACHE BOOL "Was Boost found?" FORCE)
-        set(Boost_INCLUDE_DIRS "${Boost_INCLUDE_DIRS}" CACHE STRING "Boost include dirs" FORCE)
-        return()
-    else()
-        set(Boost_INCLUDE_DIRS "")
-    endif()
-endif()
-
-ExternalProject_Add(Boost
-    PREFIX ${PROJECT_BINARY_DIR}/External/boost
-    URL ${OGS_BOOST_URL}
-    URL_MD5 ${OGS_BOOST_MD5}
-    UPDATE_COMMAND ""
-    CONFIGURE_COMMAND ""
-    BUILD_COMMAND ""
-    BUILD_IN_SOURCE 1
-    INSTALL_COMMAND ""
-)
-ExternalProject_Get_Property( Boost source_dir )
-
-if(NOT Boost_INCLUDE_DIRS)
-    set( Boost_INCLUDE_DIRS ${source_dir} CACHE INTERNAL "Boost include directories")
-    message(STATUS "Downloading Boost ${OGS_BOOST_VERSION} automatically.")
-endif()
diff --git a/scripts/cmake/ExternalProjectCatalyst.cmake b/scripts/cmake/ExternalProjectCatalyst.cmake
deleted file mode 100644
index 9d3752dec88fc39739420d37ad056ddb51045fde..0000000000000000000000000000000000000000
--- a/scripts/cmake/ExternalProjectCatalyst.cmake
+++ /dev/null
@@ -1,71 +0,0 @@
-include(ThirdPartyLibVersions)
-include(ExternalProject)
-
-set(CATALYST_GIT_URL https://github.com/ufz/catalyst-io.git)
-
-if(NOT DEFINED ParaView_DIR AND DEFINED ENV{ParaView_DIR})
-    set(ParaView_DIR $ENV{ParaView_DIR})
-endif()
-
-set(VTK_LIBRARIES ${VTK_MODULES} CACHE STRING "" FORCE)
-if(OGS_BUILD_GUI)
-    # Replace vtknetcdf with vtkNetCDF vtkNetCDF_cxx
-    list(REMOVE_ITEM VTK_LIBRARIES vtknetcdf)
-    list(APPEND VTK_LIBRARIES vtkNetCDF vtkNetCDF_cxx)
-endif()
-
-find_package(ParaView 4.2 REQUIRED COMPONENTS ${VTK_MODULES})
-
-if(ParaView_FOUND)
-    foreach(DIR ${PARAVIEW_INCLUDE_DIRS})
-        if("${DIR}" MATCHES ".*vtknetcdf.*")
-            include_directories(SYSTEM ${DIR}/../cxx ${DIR}/include)
-        endif()
-    endforeach()
-    message(STATUS "Using ParaView in ${ParaView_DIR}")
-    return()
-elseif()
-        # If nothing was found build ParaView as an external project
-        set(ParaView_DIR ${PROJECT_BINARY_DIR}/External/catalyst/src/Catalyst-build CACHE PATH "" FORCE)
-    endif()
-endif()
-
-set(CATALYST_CMAKE_GENERATOR ${CMAKE_GENERATOR})
-if(WIN32)
-    # Ninja temporary disabled because it builds only the Release mode.
-    # find_program(NINJA_TOOL_PATH ninja DOC "Ninja build tool")
-    if(NINJA_TOOL_PATH)
-        set(CATALYST_CMAKE_GENERATOR Ninja)
-        set(CATALYST_MAKE_COMMAND ninja ${VTK_LIBRARIES})
-    else()
-        set(CATALYST_MAKE_COMMAND
-            msbuild /p:Configuration=Release /m:${NUM_PROCESSORS} ParaView.sln &&
-            msbuild /p:Configuration=Debug /m:${NUM_PROCESSORS} /m ParaView.sln)
-    endif()
-    set(CATALYST_CONFIGURE_COMMAND cmake.bat)
-else()
-    if($ENV{CI})
-        set(CATALYST_MAKE_COMMAND make ${VTK_LIBRARIES})
-    else()
-        set(CATALYST_MAKE_COMMAND make -j ${NUM_PROCESSORS} ${VTK_LIBRARIES})
-    endif()
-    set(CATALYST_CONFIGURE_COMMAND cmake.sh)
-endif()
-
-message(STATUS "Building ParaView as an external project in the build directory")
-
-ExternalProject_Add(Catalyst
-    PREFIX ${PROJECT_BINARY_DIR}/External/catalyst
-    GIT_REPOSITORY ${CATALYST_GIT_URL}
-    CONFIGURE_COMMAND ../Catalyst/${CATALYST_CONFIGURE_COMMAND} -G ${CATALYST_CMAKE_GENERATOR}
-        -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} ../Catalyst
-    BUILD_COMMAND ${CATALYST_MAKE_COMMAND}
-    INSTALL_COMMAND ""
-)
-
-if(NOT ParaView_FOUND)
-    # Rerun cmake in initial build
-    add_custom_target(VtkRescan ${CMAKE_COMMAND} ${PROJECT_SOURCE_DIR} DEPENDS Catalyst)
-else()
-    add_custom_target(VtkRescan) # dummy target for caching
-endif()
diff --git a/scripts/cmake/ExternalProjectEigen.cmake b/scripts/cmake/ExternalProjectEigen.cmake
deleted file mode 100644
index 036d235ff38613b890b5cc9af4c3c7544edd3dae..0000000000000000000000000000000000000000
--- a/scripts/cmake/ExternalProjectEigen.cmake
+++ /dev/null
@@ -1,49 +0,0 @@
-if(USE_CONAN)
-    find_package(Eigen3 REQUIRED)
-    include_directories(SYSTEM ${CONAN_INCLUDE_DIRS_EIGEN3})
-    return()
-endif()
-
-if(OGS_LIB_EIGEN STREQUAL "System")
-    find_package(Eigen3 3.2.9 REQUIRED)
-    if(NOT EIGEN3_FOUND)
-        message(FATAL_ERROR "Aborting CMake because system Eigen was not found!")
-    endif()
-elseif(OGS_LIB_EIGEN STREQUAL "Default")
-    find_package(Eigen3 3.2.9)
-endif()
-
-# First check for system Eigen
-if(NOT EIGEN3_INCLUDE_DIR)
-    if(EIGEN3_FOUND)
-        set(EIGEN3_FOUND TRUE CACHE BOOL "Was Eigen found?" FORCE)
-        set(EIGEN3_INCLUDE_DIR "${EIGEN3_INCLUDE_DIR}" CACHE STRING "Eigen include dir" FORCE)
-        return()
-    else()
-        set(EIGEN3_INCLUDE_DIR "")
-    endif()
-endif()
-
-if(EIGEN3_FOUND)
-    return()
-endif()
-
-include(ThirdPartyLibVersions)
-include(ExternalProject)
-ExternalProject_Add(Eigen
-    PREFIX ${PROJECT_BINARY_DIR}/External/eigen
-    URL ${OGS_EIGEN_URL}
-    URL_MD5 ${OGS_EIGEN_MD5}
-    UPDATE_COMMAND ""
-    CONFIGURE_COMMAND ""
-    BUILD_COMMAND ""
-    BUILD_IN_SOURCE 1
-    INSTALL_COMMAND ""
-)
-
-ExternalProject_Get_Property( Eigen source_dir )
-
-if(NOT EIGEN3_INCLUDE_DIR)
-    set( EIGEN3_INCLUDE_DIR ${source_dir} CACHE INTERNAL "Eigen include dir" FORCE)
-    message(STATUS "Downloading Eigen automatically.")
-endif()
diff --git a/scripts/cmake/ExternalProjectVtk.cmake b/scripts/cmake/ExternalProjectVtk.cmake
deleted file mode 100644
index a6ed46a8e598d8dccffcd7ce28d3b8bd4194a083..0000000000000000000000000000000000000000
--- a/scripts/cmake/ExternalProjectVtk.cmake
+++ /dev/null
@@ -1,81 +0,0 @@
-if(USE_CONAN)
-    find_package(VTK REQUIRED)
-    include(${VTK_USE_FILE})
-    include_directories(SYSTEM ${CONAN_INCLUDE_DIRS_VTK})
-    return()
-endif()
-include(ThirdPartyLibVersions)
-include(ExternalProject)
-
-if(NOT DEFINED VTK_DIR AND DEFINED ENV{VTK_DIR})
-    set(VTK_DIR $ENV{VTK_DIR})
-endif()
-
-set(VTK_LIBRARIES ${VTK_MODULES} CACHE STRING "" FORCE)
-if(OGS_BUILD_GUI)
-    # Replace vtknetcdf with vtkNetCDF vtkNetCDF_cxx
-    list(REMOVE_ITEM VTK_LIBRARIES vtknetcdf)
-    list(APPEND VTK_LIBRARIES vtkNetCDF vtkNetCDF_cxx)
-endif()
-
-if(OGS_LIB_VTK STREQUAL "System")
-    find_package(VTK COMPONENTS ${VTK_MODULES} NO_MODULE REQUIRED)
-    if(NOT VTK_FOUND)
-        message(FATAL_ERROR "Aborting CMake because system VTK was not found!")
-    endif()
-elseif(OGS_LIB_VTK STREQUAL "Default" OR DEFINED VTK_DIR)
-    find_package(VTK COMPONENTS ${VTK_MODULES} NO_MODULE QUIET)
-endif()
-
-if(VTK_FOUND)
-    if(VTK_VERSION VERSION_LESS ${OGS_VTK_VERSION})
-        message(FATAL_ERROR "Aborting CMake because VTK ${VTK_VERSION} is too old! (required: ${OGS_VTK_VERSION})")
-    endif()
-    message(STATUS "Using VTK ${VTK_VERSION} in ${VTK_DIR}")
-    foreach(DIR ${VTK_INCLUDE_DIRS})
-            if("${DIR}" MATCHES ".*vtknetcdf.*")
-                include_directories(SYSTEM ${DIR}/../cxx ${DIR}/include)
-            elseif("${DIR}" MATCHES ".*vtk.*")
-                include_directories(SYSTEM ${DIR}/vtknetcdf/include)
-            endif()
-        endforeach()
-        include_directories(SYSTEM ${VTK_DIR}/../ThirdParty/netcdf/vtknetcdf/cxx)
-    return()
-endif()
-set(VTK_DIR ${PROJECT_BINARY_DIR}/External/vtk/src/vtk-build CACHE PATH "" FORCE)
-
-message(STATUS "Building VTK as an external project in the build directory")
-
-if(WIN32)
-    set(VTK_MAKE_COMMAND
-        msbuild /p:Configuration=Release /m:${NUM_PROCESSORS} VTK.sln &&
-        msbuild /p:Configuration=Debug /m:${NUM_PROCESSORS} /m VTK.sln)
-else()
-    if($ENV{CI})
-        set(VTK_MAKE_COMMAND make)
-    else()
-        set(VTK_MAKE_COMMAND make -j ${NUM_PROCESSORS})
-    endif()
-endif()
-
-# Enable just the modules we selected
-set(VTK_CMAKE_ARGS -DVTK_Group_StandAlone:bool=off -DVTK_Group_Rendering:bool=off)
-foreach(arg ${VTK_MODULES})
-    list(APPEND VTK_CMAKE_ARGS -DModule_${arg}:bool=on)
-endforeach()
-
-ExternalProject_Add(vtk
-    PREFIX ${PROJECT_BINARY_DIR}/External/vtk
-    URL ${OGS_VTK_URL}
-    CMAKE_ARGS -Wno-dev
-    CMAKE_CACHE_ARGS ${VTK_CMAKE_ARGS}
-    BUILD_COMMAND ${VTK_MAKE_COMMAND}
-    INSTALL_COMMAND ""
-)
-
-if(NOT VTK_FOUND)
-    # Rerun cmake in initial build
-    add_custom_target(VtkRescan ${CMAKE_COMMAND} ${PROJECT_SOURCE_DIR} DEPENDS vtk)
-else()
-    add_custom_target(VtkRescan) # dummy target for caching
-endif()
diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake
index 66e5e468ee129aa52786c2fd88384d88f7751f54..308ec9320e21c9e92432086b794db35b595929bd 100644
--- a/scripts/cmake/Find.cmake
+++ b/scripts/cmake/Find.cmake
@@ -60,6 +60,15 @@ find_program(MODULE_CMD modulecmd
 ######################
 ### Find libraries ###
 ######################
+find_package(Boost REQUIRED)
+include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
+
+include(VtkModules)
+find_package(VTK COMPONENTS ${VTK_MODULES} REQUIRED)
+include(${VTK_USE_FILE})
+
+find_package(Eigen3 REQUIRED)
+include_directories(SYSTEM ${Eigen3_INCLUDE_DIRS})
 
 ## pthread, is a requirement of logog ##
 if(CMAKE_CROSSCOMPILING)