diff --git a/CMakeLists.txt b/CMakeLists.txt
index f75d355fcc8b607ac293afc7214ddfdd70b36c06..d4f97f5b5493a9357ff870b484aab8c18228f911 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -155,8 +155,8 @@ endif()
 
 if(NOT WIN32)
     message("Checking Armadillo dependencies")
-    find_package(LAPACK)
-    find_package(BLAS)
+#    find_package(LAPACK)
+#    find_package(BLAS)
 
     set(ARMA_LIBS "")
     if(NOT LAPACK_FOUND AND NOT BLAS_FOUND)
diff --git a/DownloadOpenBLAS.cmake b/DownloadOpenBLAS.cmake
index 9a5bae516cd6ef06068001a7519186d80b5d4205..4f207c805638c8b2789b28123e493f768b991052 100644
--- a/DownloadOpenBLAS.cmake
+++ b/DownloadOpenBLAS.cmake
@@ -42,6 +42,9 @@ if(NOT rv STREQUAL "0")
     message("OpenBLAS build: cmake --build: ${rv}")
 endif()
 
+set_target_properties(openblas PROPERTIES LINK_FLAGS)
+add_subdirectory(${OPENBLAS_LOCAL_PATH})
+
 find_package(OpenBLAS)
 
 if(NOT OpenBLAS_FOUND)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a238967264ceaede1b147038f5abee039c5a0fad..5fcf99927f9e8704be3fb66b16fa0b4d7d1c5b3f 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -69,6 +69,15 @@ if ("${BUILD_LIB}" STREQUAL "yes")
         set(CXX_FILESYSTEM_LIB "stdc++fs")
     endif ()
 
+    # Detect Threading library
+    set(THREADS_PREFER_PTHREAD_FLAG ON)
+    find_package(Threads REQUIRED)
+
+    set(GFORT "")
+    if(NOT WIN32)
+        set(GFORT gfortran)
+    endif()
+
     target_link_libraries(
         lib4neuro
 
@@ -77,6 +86,8 @@ if ("${BUILD_LIB}" STREQUAL "yes")
         ${Boost_LIBRARIES}
         ${CXX_FILESYSTEM_LIB}
         armadillo
+        Threads::Threads
+        ${GFORT}
     )
 
     target_include_directories(