You can not select more than 25 topics
Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- if (MGE_USE_SYSTEM_LIB)
- find_package(OpenBLAS)
- set (MGE_USE_SYSTEM_OPENBLAS ON)
-
- message("Using system provided OpenBLAS ${OpenBLAS_VERSION}")
- add_library(libopenblas IMPORTED GLOBAL)
- set_target_properties(
- libopenblas PROPERTIES
- IMPORTED_LOCATION ${OpenBLAS_LIBRARIES}
- INTERFACE_INCLUDE_DIRECTORIES ${OpenBLAS_INCLUDE_DIRS}
- )
- return()
- endif()
-
- include(ExternalProject)
- include(GNUInstallDirs)
-
- set(OPENBLAS_DIR "${PROJECT_SOURCE_DIR}/third_party/OpenBLAS" CACHE STRING "OpenBLAS directory")
- set(OPENBLAS_BUILD_DIR ${PROJECT_BINARY_DIR}/third_party/OpenBLAS)
-
- set(OPENBLAS_INC ${OPENBLAS_BUILD_DIR}/include)
- set(OPENBLAS_LIB ${OPENBLAS_BUILD_DIR}/${CMAKE_INSTALL_LIBDIR}/libopenblas.a)
-
- if(${CMAKE_GENERATOR} STREQUAL "Ninja")
- set(MAKE_COMMAND make)
- else()
- set(MAKE_COMMAND "$(MAKE)")
- endif()
-
- ExternalProject_add(
- openblas
- SOURCE_DIR ${OPENBLAS_DIR}
- PREFIX ${OPENBLAS_BUILD_DIR}
- CMAKE_GENERATOR "Unix Makefiles"
- CMAKE_ARGS -DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} -DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${OPENBLAS_BUILD_DIR} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_POSITION_INDEPENDENT_CODE=ON
- BUILD_COMMAND ${MAKE_COMMAND}
- BUILD_BYPRODUCTS ${OPENBLAS_LIB} ${OPENBLAS_PROTOC_EXECUTABLE}
- )
-
- file(MAKE_DIRECTORY ${OPENBLAS_INC})
-
- add_library(libopenblas STATIC IMPORTED GLOBAL)
- add_dependencies(libopenblas openblas)
- set_target_properties(
- libopenblas PROPERTIES
- IMPORTED_LOCATION ${OPENBLAS_LIB}
- INTERFACE_INCLUDE_DIRECTORIES ${OPENBLAS_BUILD_DIR}/include
- )
|