diff --git a/CMakeLists.txt b/CMakeLists.txt
index b84176689a16400607dab98cace5868d796a854a..cecd6d86673bbd71afac57e45a04f6a317f1d9e8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -45,13 +45,6 @@ set(ENABLE_VCLUSTER_GARBAGE_INJECTOR CACHE BOOL "Enable the injector of garbage
 set(HIP_ENABLE CACHE BOOL "Enable HIP compiler")
 set(AMD_ARCH_COMPILE "gfx900" CACHE STRING "AMD gpu architecture used to compile kernels")
 
-add_subdirectory (openfpm_io)
-
-if (CUDA_ON_BACKEND STREQUAL "CUDA")
-        enable_language(CUDA)
-        find_package(CUDA)
-endif()
-
 set (CMAKE_CXX_STANDARD 14)
 set (CMAKE_CUDA_STANDARD 14)
 set(CMAKE_CXX_FLAGS_RELEASE "-O3")
@@ -258,6 +251,13 @@ endif()
 file(WRITE mpi_include "-I${MPI_C_INCLUDE_DIRS}")
 file(WRITE mpi_libs "${MPI_C_LINK_FLAGS} ${MPI_C_LIBRARIES}")
 
+add_subdirectory (openfpm_io)
+
+if (CUDA_ON_BACKEND STREQUAL "CUDA")
+        enable_language(CUDA)
+        find_package(CUDA)
+endif()
+
 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/config/config_cmake.h.in ${CMAKE_CURRENT_SOURCE_DIR}/src/config/config.h)
 
 add_subdirectory (openfpm_numerics)