@@ -29,19 +29,31 @@ if (BUILD_CXSPARSE_ONLY)
2929 )
3030
3131elseif (NOT WIN32 AND NOT BUILD_CXSPARSE_ONLY)
32-
33- find_package (LAPACK)
32+ find_package (LAPACK QUIET )
3433 if (NOT LAPACK_FOUND)
35- list (APPEND MISSING_DEPS "lapack" )
36- endif ()
37-
38- find_package (BLAS)
39- if (NOT BLAS_FOUND)
40- add_package_dependency(
41- PACKAGE SuiteSparse
42- PACKAGE_DEPENDENCY OpenBLAS
43- PACKAGE_DEPENDENCY_ALIAS OpenBLAS
44- )
34+ if (fletch_ENABLE_OpenBLAS)
35+ # If we are building OpenBLAS, make sure we have a fortran compiler.
36+ enable_language (Fortran)
37+ add_package_dependency(
38+ PACKAGE SuiteSparse
39+ PACKAGE_DEPENDENCY OpenBLAS
40+ PACKAGE_DEPENDENCY_ALIAS OpenBLAS
41+ )
42+ get_system_library_name(openblas openblas_libname)
43+ set (BLAS_LIBRARIES ${fletch_BUILD_INSTALL_PREFIX} /lib/${openblas_libname} )
44+ set (env ${CMAKE_COMMAND} -E env)
45+ message ("env = ${env} " )
46+ set (env_var LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${fletch_BUILD_INSTALL_PREFIX} /lib)
47+ message ("env_var = ${env_var} " )
48+ set (ENV_CMD ${env} ${env_var} )
49+
50+ else ()
51+ find_package (BLAS QUIET )
52+ if (NOT BLAS_FOUND)
53+ message (FATAL_ERROR "Building SuiteSparse requires LAPACK or BLAS. \
54+ Please install or enable OpenBLAS in the Fletch CMake config." )
55+ endif ()
56+ endif ()
4557 endif ()
4658
4759 if (MISSING_DEPS)
@@ -89,7 +101,7 @@ elseif (NOT WIN32 AND NOT BUILD_CXSPARSE_ONLY)
89101 -P ${fletch_SOURCE_DIR} /Patches/SuiteSparse/Patch.cmake
90102
91103 CONFIGURE_COMMAND ""
92- BUILD_COMMAND ${MAKE_EXECUTABLE} -j1
104+ BUILD_COMMAND ${ENV_CMD} ${ MAKE_EXECUTABLE} -j1
93105 INSTALL_COMMAND ${MAKE_EXECUTABLE} install
94106 )
95107
0 commit comments