123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- macro(accelerate_sparse_report_not_found REASON_MSG)
- unset(AccelerateSparse_FOUND)
- unset(AccelerateSparse_INCLUDE_DIRS)
- unset(AccelerateSparse_LIBRARIES)
-
-
- mark_as_advanced(CLEAR AccelerateSparse_INCLUDE_DIR
- AccelerateSparse_LIBRARY)
-
-
- if (AccelerateSparse_FIND_QUIETLY)
- message(STATUS "Failed to find Accelerate framework with sparse solvers - "
- ${REASON_MSG} ${ARGN})
- elseif (AccelerateSparse_FIND_REQUIRED)
- message(FATAL_ERROR "Failed to find Accelerate framework with sparse solvers - "
- ${REASON_MSG} ${ARGN})
- else()
-
-
- message("-- Failed to find Accelerate framework with sparse solvers - "
- ${REASON_MSG} ${ARGN})
- endif()
- return()
- endmacro()
- unset(AccelerateSparse_FOUND)
- find_path(AccelerateSparse_INCLUDE_DIR NAMES Accelerate.h)
- if (NOT AccelerateSparse_INCLUDE_DIR OR
- NOT EXISTS ${AccelerateSparse_INCLUDE_DIR})
- accelerate_sparse_report_not_found(
- "Could not find Accelerate framework headers. Set "
- "AccelerateSparse_INCLUDE_DIR to the directory containing Accelerate.h")
- endif()
- find_library(AccelerateSparse_LIBRARY NAMES Accelerate)
- if (NOT AccelerateSparse_LIBRARY OR
- NOT EXISTS ${AccelerateSparse_LIBRARY})
- accelerate_sparse_report_not_found(
- "Could not find Accelerate framework. Set AccelerateSparse_LIBRARY "
- "to the Accelerate.framework directory")
- endif()
- set(AccelerateSparse_FOUND TRUE)
- include(CheckCXXSourceCompiles)
- set(CMAKE_REQUIRED_INCLUDES ${AccelerateSparse_INCLUDE_DIR})
- set(CMAKE_REQUIRED_LIBRARIES ${AccelerateSparse_LIBRARY})
- check_cxx_source_compiles(
- "#include <Accelerate.h>
- int main() {
- SparseMatrix_Double A;
- SparseFactor(SparseFactorizationCholesky, A);
- return 0;
- }"
- ACCELERATE_FRAMEWORK_HAS_SPARSE_SOLVER)
- unset(CMAKE_REQUIRED_INCLUDES)
- unset(CMAKE_REQUIRED_LIBRARIES)
- if (NOT ACCELERATE_FRAMEWORK_HAS_SPARSE_SOLVER)
- accelerate_sparse_report_not_found(
- "Detected Accelerate framework: ${AccelerateSparse_LIBRARY} does not "
- "include the sparse solvers.")
- endif()
- if (AccelerateSparse_FOUND)
- set(AccelerateSparse_INCLUDE_DIRS ${AccelerateSparse_INCLUDE_DIR})
- set(AccelerateSparse_LIBRARIES ${AccelerateSparse_LIBRARY})
- endif()
- include(FindPackageHandleStandardArgs)
- find_package_handle_standard_args(AccelerateSparse
- REQUIRED_VARS AccelerateSparse_INCLUDE_DIRS AccelerateSparse_LIBRARIES)
- if (AccelerateSparse_FOUND)
- mark_as_advanced(FORCE AccelerateSparse_INCLUDE_DIR
- AccelerateSparse_LIBRARY)
- endif()
|