diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2db94a534e168827b4b9c8b6b5aa503da1bd68c5..6617bff9b56bef59dfd8e6811586b0a9a5754d99 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -50,8 +50,6 @@ ExternalProject_Add(
 	LOG_INSTALL ON
 )
 
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/config/config_cmake.h.in ${CMAKE_CURRENT_SOURCE_DIR}/src/config/config.h)
-
 add_subdirectory (src)
 
 get_directory_property(hasParent PARENT_DIRECTORY)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 41e5bad557faf5a4caf0eb24449e5b6f51bc1d29..4b3673a19717c513bf141660e4b485299fa7aa94 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -170,7 +170,7 @@ target_include_directories (numerics PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../op
 target_include_directories (numerics PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../openfpm_pdata/src/)
 target_include_directories (numerics PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../openfpm_data/src/)
 target_include_directories (numerics PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../openfpm_io/src/)
-target_include_directories (numerics PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/config)
+target_include_directories (numerics PUBLIC ${CMAKE_BINARY_DIR}/config)
 target_include_directories (numerics PUBLIC ${PARMETIS_ROOT}/include)
 target_include_directories (numerics PUBLIC ${METIS_ROOT}/include)
 target_include_directories (numerics PUBLIC ${HDF5_ROOT}/include)
diff --git a/src/config/config_cmake.h.in b/src/config/config_cmake.h.in
deleted file mode 100644
index 8d8fad127e29c6c0e4cb7b715b87e61f94140405..0000000000000000000000000000000000000000
--- a/src/config/config_cmake.h.in
+++ /dev/null
@@ -1,204 +0,0 @@
-/* Coverty scan */
-${DEFINE_COVERTY_SCAN}
-
-/* GPU support */
-${DEFINE_CUDA_GPU}
-
-/* Define CUDIFY backend */
-${DEFINE_CUDIFY_BACKEND}
-
-/* OpenMP support */
-${DEFINE_HAVE_OPENMP}
-
-/* HIP GPU support */
-${DEFINE_HIP_GPU}
-
-/* HIP Cudify GPU support */
-${DEFINE_CUDIFY_USE_HIP}
-
-/* Debug */
-${DEFINE_DEBUG} /**/
-
-/* Debug */
-${DEFINE_DEBUG_MODE} /**/
-
-/* Define to dummy `main' function (if any) required to link to the Fortran
-   libraries. */
-${DEFINE_F77_DUMMY_MAIN}
-
-/* Define if F77 and FC dummy `main' functions are identical. */
-${DEFINE_FC_DUMMY_MAIN_EQ_F77}
-
-/* Define if you have a BLAS library. */
-${DEFINE_HAVE_BLAS}
-
-/* define if the Boost library is available */
-${DEFINE_HAVE_BOOST}
-
-/* define if the Boost::IOStreams library is available */
-${DEFINE_HAVE_BOOST_IOSTREAMS} /**/
-
-/* define if the Boost::PROGRAM_OPTIONS library is available */
-${DEFINE_HAVE_BOOST_PROGRAM_OPTIONS} /**/
-
-/* define if the Boost::Unit_Test_Framework library is available */
-${DEFINE_HAVE_BOOST_UNIT_TEST_FRAMEWORK} /**/
-
-/* define if the Boost::Context library is available */
-${DEFINE_HAVE_BOOST_CONTEXT} /**/
-
-/* define if the Boost::Fiber library is available */
-${DEFINE_HAVE_BOOST_FIBER} /**/
-
-/* Have clock time */
-${DEFINE_HAVE_CLOCK_GETTIME} /**/
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-${DEFINE_HAVE_DLFCN_H}
-
-/* Define if you have EIGEN library. */
-${DEFINE_HAVE_EIGEN}
-
-/* Define to 1 if you have the <Eigen/Dense> header file. */
-${DEFINE_HAVE_EIGEN_DENSE}
-
-/* Define to 1 if you have the <Eigen/LU> header file. */
-${DEFINE_HAVE_EIGEN_LU}
-
-/* Defined if you have HDF5 support */
-${DEFINE_HAVE_HDF5}
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-${DEFINE_HAVE_INTTYPES_H}
-
-/* Define if you have LAPACK library */
-${DEFINE_HAVE_LAPACK}
-
-/* Define if you have LIBHILBERT library */
-${DEFINE_HAVE_LIBHILBERT}
-
-/* Have quad math lib */
-${DEFINE_HAVE_LIBQUADMATH}
-
-/* Define to 1 if you have the <memory.h> header file. */
-${DEFINE_HAVE_MEMORY_H}
-
-/* Define if you have METIS library */
-${DEFINE_HAVE_METIS}
-
-/* MPI Enabled */
-${DEFINE_HAVE_MPI}
-
-/* We have OSX */
-${DEFINE_HAVE_OSX}
-
-/* Define if you have PARMETIS library */
-${DEFINE_HAVE_PARMETIS}
-
-/* Define if you have PETSC library */
-${DEFINE_HAVE_PETSC}
-
-/* Define to 1 if you have the <stdint.h> header file. */
-${DEFINE_HAVE_STDINT_H}
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-${DEFINE_HAVE_STDLIB_H}
-
-/* Define to 1 if you have the <strings.h> header file. */
-${DEFINE_HAVE_STRINGS_H}
-
-/* Define to 1 if you have the <string.h> header file. */
-${DEFINE_HAVE_STRING_H}
-
-/* Define if you have SUITESPARSE library. */
-${DEFINE_HAVE_SUITESPARSE}
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-${DEFINE_HAVE_SYS_STAT_H}
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-${DEFINE_HAVE_SYS_TYPES_H}
-
-/* Define to 1 if you have the <unistd.h> header file. */
-${DEFINE_HAVE_UNISTD_H}
-
-/* Test TinyObjLoader */
-${DEFINE_HAVE_TINYOBJLOADER}
-
-/* ACTION to take in case of error */
-${DEFINE_ACTION_ON_ERROR}
-
-/* Define to the sub-directory where libtool stores uninstalled libraries. */
-#define LT_OBJDIR ".libs/"
-
-/* NVCC compiling */
-${DEFINE_NVCC} /**/
-
-/* Define if we have Alpaka */
-${DEFINE_HAVE_ALPAKA}
-
-/* Additional alpaka definitions  */
-${ALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLE_DEF}
-${ALPAKA_ACC_CPU_B_SEQ_T_THREADS_ENABLE_DEF}
-${ALPAKA_ACC_CPU_B_SEQ_T_FIBERS_ENABLE_DEF}
-${ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLE_DEF}
-${ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLE_DEF}
-${ALPAKA_ACC_CPU_B_SEQ_T_OMP2_ENABLE_DEF}
-${ALPAKA_ACC_CPU_BT_OMP4_ENABLE_DEF}
-
-
-/* Name of package */
-#define PACKAGE "openfpm_pdata"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "BUG-REPORT-ADDRESS"
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "OpenFPM_pdata"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "OpenFPM_pdata 1.0.0"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "openfpm_pdata"
-
-/* Define to the home page for this package. */
-#define PACKAGE_URL ""
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.0.0"
-
-/* Test performance mode */
-${DEFINE_PERFORMANCE_TEST}
-
-/* Security enhancement class 1 */
-${DEFINE_SE_CLASS1}
-
-/* Security enhancement class 2 */
-${DEFINE_SE_CLASS2}
-
-/* Security enhancement class 3 */
-${DEFINE_SE_CLASS3}
-
-/* Define to 1 if you have the ANSI C header files. */
-${DEFINE_STDC_HEADERS}
-
-/* If an error occur stop the program */
-${DEFINE_STOP_ON_ERROR}
-
-/* Garbage injector*/
-${DEFINE_GARBAGE_INJECTOR}
-
-/* VCluster Garbage injector*/
-${DEFINE_VCLUSTER_GARBAGE_INJECTOR}
-
-/* Test coverage mode */
-${DEFINE_TEST_COVERAGE_MODE}
-
-/* when an error accur continue but avoid unsafe operation */
-/* #undef THROW_ON_ERROR */
-
-/* Version number of package */
-#define VERSION "1.0.0"
-
-#define OPENFPM_PDATA