MINGW-packages/mingw-w64-fortran-stdlib/001-using-openblas.patch
2024-05-11 14:10:27 +00:00

37 lines
1.0 KiB
Diff

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b10e1f7..0029d06 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -42,6 +42,17 @@ if(NOT DEFINED CMAKE_MAXIMUM_RANK)
set(CMAKE_MAXIMUM_RANK 4 CACHE STRING "Maximum array rank for generated procedures")
endif()
+find_package(PkgConfig)
+pkg_check_modules(OPENBLAS openblas)
+if(OPENBLAS_FOUND)
+ add_compile_definitions(STDLIB_EXTERNAL_BLAS STDLIB_EXTERNAL_LAPACK)
+ include_directories(${OPENBLAS_INCLUDE_DIRS})
+ link_directories(${OPENBLAS_LIBRARY_DIRS})
+ message(STATUS "Using OpenBLAS")
+else()
+ message(STATUS "Using intrinsic reference BLAS")
+endif()
+
# --- find preprocessor
find_program(FYPP fypp)
if(NOT FYPP)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a031ab8..5b02669 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -114,6 +114,9 @@ set(SRC
)
add_library(${PROJECT_NAME} ${SRC})
+if(OPENBLAS_FOUND)
+ target_link_libraries(${PROJECT_NAME} ${OPENBLAS_LIBRARIES})
+endif()
set_target_properties(
${PROJECT_NAME}