@@ -29,19 +29,31 @@ if (BUILD_CXSPARSE_ONLY)
29
29
)
30
30
31
31
elseif (NOT WIN32 AND NOT BUILD_CXSPARSE_ONLY )
32
-
33
- find_package (LAPACK )
32
+ find_package (LAPACK QUIET )
34
33
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 ()
45
57
endif ()
46
58
47
59
if (MISSING_DEPS )
@@ -89,7 +101,7 @@ elseif (NOT WIN32 AND NOT BUILD_CXSPARSE_ONLY)
89
101
-P ${fletch_SOURCE_DIR} /Patches/SuiteSparse/Patch.cmake
90
102
91
103
CONFIGURE_COMMAND ""
92
- BUILD_COMMAND ${MAKE_EXECUTABLE} -j1
104
+ BUILD_COMMAND ${ENV_CMD} ${ MAKE_EXECUTABLE} -j1
93
105
INSTALL_COMMAND ${MAKE_EXECUTABLE} install
94
106
)
95
107
0 commit comments