--- CMakeLists.txt.orig	2023-06-30 02:43:40.000000000 +0800
+++ CMakeLists.txt	2023-07-01 14:37:52.000000000 +0800
@@ -56,7 +56,7 @@
 
 project(PolySolve
         DESCRIPTION "Easy-to-use wrapper for linear solver"
-        LANGUAGES CXX)
+        LANGUAGES C CXX)
 
 if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64" AND APPLE)
     set(POLYSOLVE_NOT_ON_APPLE_SILICON OFF)
@@ -107,11 +107,9 @@
 
 ### Configuration
 list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/polysolve/")
-list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/recipes/")
 list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/find/")
 
 # General CMake utils
-include(polysolve_cpm_cache)
 include(polysolve_use_colors)
 
 # Sort projects inside the solution
@@ -155,13 +153,6 @@
 
 # Accelerate solver
 if(POLYSOLVE_WITH_ACCELERATE)
-    include(CPM)
-    CPMAddPackage(
-        NAME eigen
-        GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
-        GIT_TAG 969c31eefcdfaab11da763bea3f7502086673ab0
-        DOWNLOAD_ONLY ON
-    )
     set(BLA_VENDOR Apple)
     find_package(BLAS REQUIRED)
     find_package(LAPACK REQUIRED)
@@ -178,13 +169,15 @@
     add_sanitizers(polysolve)
 endif()
 
-include(eigen)
+find_package(Eigen3 3.3 REQUIRED NO_MODULE)
 target_link_libraries(polysolve PUBLIC Eigen3::Eigen)
 
 # Hypre (GNU Lesser General Public License)
 if(POLYSOLVE_WITH_HYPRE)
-    include(hypre)
+    find_package(HYPRE)
+    find_package(OpenMP)
     target_link_libraries(polysolve PUBLIC HYPRE::HYPRE)
+    target_link_libraries(polysolve PUBLIC OpenMP::OpenMP_C)
     target_compile_definitions(polysolve PUBLIC -DPOLYSOLVE_WITH_HYPRE)
     if(HYPRE_WITH_MPI)
         target_compile_definitions(polysolve PUBLIC HYPRE_WITH_MPI)
@@ -192,7 +185,7 @@
 endif()
 
 # Json (MIT)
-include(json)
+find_package(nlohmann_json)
 target_link_libraries(polysolve PUBLIC nlohmann_json::nlohmann_json)
 
 # Accelerate solvers
