Skip to content
Snippets Groups Projects
Commit f4e171c8 authored by Martin Beseda's avatar Martin Beseda
Browse files

FIX: Trying to fix CI...

parent b442d55e
No related branches found
No related tags found
No related merge requests found
......@@ -172,8 +172,16 @@ find_package(Armadillo)
if(NOT ARMADILLO_FOUND AND ALLOW_DEPENDENCIES_DOWNLOAD)
message("Armadillo will be downloaded and compiled locally in 'external_dependencies folder.")
include(DownloadArmadillo)
endif()
if(NOT LAPACK_FOUND AND NOT BLAS_FOUND)
target_link_libraries(
armadillo
PUBLIC
openblas
)
endif()
endif()
#---------------------------------------------------#
# Add subdirectory with source codes to be compiled #
......
......@@ -20,34 +20,28 @@ FetchContent_Populate(OpenBLAS)
##################
# Build OpenBLAS #
##################
cexecute_process(
COMMAND cmake -j ${N_CORES} .
WORKING_DIRECTORY ${OPENBLAS_LOCAL_PATH}
RESULT_VARIABLE rv
)
if(NOT rv STREQUAL "0")
message("OpenBLAS build: cmake .: ${rv}")
endif()
set_target_properties(openblas PROPERTIES LINK_FLAGS -lpthread -lgfortran)
# Build library
execute_process(
COMMAND cmake --build . -j ${N_CORES} --config Release
WORKING_DIRECTORY ${OPENBLAS_LOCAL_PATH}
RESULT_VARIABLE rv
)
if(NOT rv STREQUAL "0")
message("OpenBLAS build: cmake --build . -j ${N_CORES}: ${rv}")
endif()
# Remove link flags
set(CMAKE_EXE_LINKER_FLAGS ${OLD_CMAKE_EXE_LINKER_FLAGS})
#execute_process(
# COMMAND cmake -j ${N_CORES} .
# WORKING_DIRECTORY ${OPENBLAS_LOCAL_PATH}
# RESULT_VARIABLE rv
#)
#if(NOT rv STREQUAL "0")
# message("OpenBLAS build: cmake .: ${rv}")
#endif()
#
## Build library
#execute_process(
# COMMAND cmake --build . -j ${N_CORES} --config Release
# WORKING_DIRECTORY ${OPENBLAS_LOCAL_PATH}
# RESULT_VARIABLE rv
#)
#if(NOT rv STREQUAL "0")
# message("OpenBLAS build: cmake --build . -j ${N_CORES}: ${rv}")
#endif()
set(OpenBLAS_DIR ${CMAKE_CURRENT_LIST_DIR}/external_dependencies/OpenBLAS)
find_package(OpenBLAS)
if(NOT OpenBLAS_FOUND)
message(FATAL_ERROR "OpenBLAS was not downloaded successfully!")
endif()
#
#if(NOT OpenBLAS_FOUND)
# message(FATAL_ERROR "OpenBLAS was not downloaded successfully!")
#endif()
......@@ -51,14 +51,14 @@ else()
${LIBNAME}
HINTS
external_dependencies/armadillo
${ROOT_DIR}/external_dependencies/armadillo
PATHS
/usr
/usr/local
PATH_SUFFIXES
lib
local
)
# Set ARMADILLO_FOUND honoring the QUIET and REQUIRED arguments
......
......@@ -19,35 +19,55 @@ FIND_PATH(
include/x86_64-linux-gnu
)
FIND_LIBRARY(
OpenBLAS_LIBRARIES
#option(LOCAL OFF)
IF(${OpenBLAS_INCLUDE_DIR} MATCHES "^.*external_dependencies.*$")
message("OpenBLAS is downloaded locally - the library will be built when needed.")
set(LOCAL ON)
set(TMP "")
string(REGEX REPLACE "/include" "" TMP ${OpenBLAS_INCLUDE_DIR})
add_subdirectory(${TMP} ${TMP})
endif()
NAMES
${LIB_PREFIX}openblas.${LIB_SUFFIX}
if(LOCAL)
# If OpenBLAS is downloaded locally, the library will be compiled during build-time
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(
OpenBLAS
"OpenBLAS was NOT found!"
OpenBLAS_INCLUDE_DIR)
else()
HINTS
${OpenBLAS_LIBRARY_DIRECTORY}
$ENV{OpenBLAS_LIBRARY_DIRECTORY}
${ROOT_DIR}/external_dependencies/OpenBLAS
/usr
PATH_SUFFIXES
lib
lib/x86_64-linux-gnu
)
FIND_LIBRARY(
OpenBLAS_LIBRARIES
# Set OpenBLAS_Found
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(
OpenBLAS
NAMES
${LIB_PREFIX}openblas.${LIB_SUFFIX}
FAIL_MESSAGE
"OpenBLAS was NOT found!"
HINTS
${OpenBLAS_LIBRARY_DIRECTORY}
$ENV{OpenBLAS_LIBRARY_DIRECTORY}
${ROOT_DIR}/external_dependencies/OpenBLAS
/usr
REQUIRED_VARS
OpenBLAS_INCLUDE_DIR
OpenBLAS_LIBRARIES
)
PATH_SUFFIXES
lib
lib/x86_64-linux-gnu
local
)
# Set OpenBLAS_Found
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(
OpenBLAS
FAIL_MESSAGE
"OpenBLAS was NOT found!"
REQUIRED_VARS
OpenBLAS_INCLUDE_DIR
OpenBLAS_LIBRARIES
)
endif()
IF (OpenBLAS_FOUND)
MESSAGE(STATUS "Found OpenBLAS libraries: ${OpenBLAS_LIBRARIES}")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment