|
|
@ -15,7 +15,6 @@
|
|
|
|
INCLUDE(cblas)
|
|
|
|
INCLUDE(cblas)
|
|
|
|
|
|
|
|
|
|
|
|
IF(NOT ${CBLAS_FOUND})
|
|
|
|
IF(NOT ${CBLAS_FOUND})
|
|
|
|
MESSAGE(FATAL_ERROR "Please install OpenBlas, MKL or ATLAS.")
|
|
|
|
|
|
|
|
INCLUDE(ExternalProject)
|
|
|
|
INCLUDE(ExternalProject)
|
|
|
|
|
|
|
|
|
|
|
|
SET(CBLAS_SOURCES_DIR ${THIRD_PARTY_PATH}/openblas)
|
|
|
|
SET(CBLAS_SOURCES_DIR ${THIRD_PARTY_PATH}/openblas)
|
|
|
@ -28,20 +27,39 @@ IF(NOT ${CBLAS_FOUND})
|
|
|
|
SET(CBLAS_LIBRARIES "${CBLAS_INSTALL_DIR}/lib/libopenblas.a" CACHE FILEPATH "openblas library" FORCE)
|
|
|
|
SET(CBLAS_LIBRARIES "${CBLAS_INSTALL_DIR}/lib/libopenblas.a" CACHE FILEPATH "openblas library" FORCE)
|
|
|
|
ENDIF(WIN32)
|
|
|
|
ENDIF(WIN32)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF(CMAKE_COMPILER_IS_GNUCC)
|
|
|
|
|
|
|
|
ENABLE_LANGUAGE(Fortran)
|
|
|
|
|
|
|
|
LIST(APPEND CBLAS_LIBRARIES gfortran pthread)
|
|
|
|
|
|
|
|
ENDIF(CMAKE_COMPILER_IS_GNUCC)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF(NOT CMAKE_Fortran_COMPILER)
|
|
|
|
|
|
|
|
MESSAGE(FATAL_ERROR "To build lapack in libopenblas, "
|
|
|
|
|
|
|
|
"you need to set gfortran compiler: cmake .. -DCMAKE_Fortran_COMPILER=...")
|
|
|
|
|
|
|
|
ENDIF(NOT CMAKE_Fortran_COMPILER)
|
|
|
|
|
|
|
|
|
|
|
|
ExternalProject_Add(
|
|
|
|
ExternalProject_Add(
|
|
|
|
openblas
|
|
|
|
openblas
|
|
|
|
${EXTERNAL_PROJECT_LOG_ARGS}
|
|
|
|
GIT_REPOSITORY https://github.com/xianyi/OpenBLAS.git
|
|
|
|
URL "https://github.com/xianyi/OpenBLAS/archive/v0.2.19.tar.gz"
|
|
|
|
GIT_TAG v0.2.19
|
|
|
|
PREFIX ${CBLAS_SOURCES_DIR}
|
|
|
|
PREFIX ${CBLAS_SOURCES_DIR}
|
|
|
|
INSTALL_DIR ${CBLAS_INSTALL_DIR}
|
|
|
|
INSTALL_DIR ${CBLAS_INSTALL_DIR}
|
|
|
|
BUILD_IN_SOURCE 1
|
|
|
|
BUILD_IN_SOURCE 1
|
|
|
|
CONFIGURE_COMMAND ""
|
|
|
|
BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} FC=${CMAKE_Fortran_COMPILER} CC=${CMAKE_C_COMPILER} HOSTCC=${CMAKE_C_COMPILER} NO_SHARED=1 libs netlib
|
|
|
|
BUILD_COMMAND make CC=${CMAKE_C_COMPILER} FC=${CMAKE_Fortran_COMPILER}
|
|
|
|
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install NO_SHARED=1 PREFIX=<INSTALL_DIR>
|
|
|
|
INSTALL_COMMAND make install PREFIX=<INSTALL_DIR>
|
|
|
|
|
|
|
|
UPDATE_COMMAND ""
|
|
|
|
UPDATE_COMMAND ""
|
|
|
|
|
|
|
|
CONFIGURE_COMMAND ""
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ExternalProject_Add_Step(
|
|
|
|
|
|
|
|
openblas lapacke_install
|
|
|
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke_mangling_with_flags.h" "${CBLAS_INSTALL_DIR}/include/lapacke_mangling.h"
|
|
|
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke.h" "${CBLAS_INSTALL_DIR}/include/lapacke.h"
|
|
|
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke_config.h" "${CBLAS_INSTALL_DIR}/include/lapacke_config.h"
|
|
|
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke_utils.h" "${CBLAS_INSTALL_DIR}/include/lapacke_utils.h"
|
|
|
|
|
|
|
|
DEPENDEES install
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
LIST(APPEND external_project_dependencies openblas)
|
|
|
|
LIST(APPEND external_project_dependencies openblas)
|
|
|
|
ENDIF()
|
|
|
|
ENDIF(NOT ${CBLAS_FOUND})
|
|
|
|
|
|
|
|
|
|
|
|
INCLUDE_DIRECTORIES(${CBLAS_INC_DIR})
|
|
|
|
INCLUDE_DIRECTORIES(${CBLAS_INC_DIR})
|
|
|
|