Update LAPACK to 3.9.0
This commit is contained in:
parent
6e02ec95b3
commit
807333aab9
|
@ -16,18 +16,16 @@ if(NOT FortranCInterface_GLOBAL_FOUND OR NOT FortranCInterface_MODULE_FOUND)
|
|||
${LAPACK_BINARY_DIR}/include/lapacke_mangling.h)
|
||||
endif()
|
||||
|
||||
if(WIN32 AND NOT UNIX)
|
||||
add_definitions(-DHAVE_LAPACK_CONFIG_H -DLAPACK_COMPLEX_STRUCTURE)
|
||||
message(STATUS "Windows BUILD")
|
||||
endif()
|
||||
|
||||
get_directory_property(DirDefs COMPILE_DEFINITIONS)
|
||||
|
||||
include_directories(include ${LAPACK_BINARY_DIR}/include)
|
||||
add_subdirectory(include)
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(utils)
|
||||
|
||||
option(LAPACKE_BUILD_SINGLE "Build LAPACKE single precision real" ON)
|
||||
option(LAPACKE_BUILD_DOUBLE "Build LAPACKE double precision real" ON)
|
||||
option(LAPACKE_BUILD_COMPLEX "Build LAPACKE single precision complex" ON)
|
||||
option(LAPACKE_BUILD_COMPLEX16 "Build LAPACKE double precision complex" ON)
|
||||
|
||||
macro(append_subdir_files variable dirname)
|
||||
get_directory_property(holder DIRECTORY ${dirname} DEFINITION ${variable})
|
||||
foreach(depfile ${holder})
|
||||
|
@ -35,8 +33,29 @@ macro(append_subdir_files variable dirname)
|
|||
endforeach()
|
||||
endmacro()
|
||||
|
||||
message(STATUS "Build LAPACKE single precision real: ${LAPACKE_BUILD_SINGLE}")
|
||||
message(STATUS "Build LAPACKE double precision real: ${LAPACKE_BUILD_DOUBLE}")
|
||||
message(STATUS "Build LAPACKE single precision complex: ${LAPACKE_BUILD_COMPLEX}")
|
||||
message(STATUS "Build LAPACKE double precision complex: ${LAPACKE_BUILD_COMPLEX16}")
|
||||
|
||||
append_subdir_files(LAPACKE_INCLUDE "include")
|
||||
append_subdir_files(SOURCES "src")
|
||||
if (LAPACKE_BUILD_SINGLE)
|
||||
append_subdir_files(SOURCES_SINGLE "src")
|
||||
list(APPEND SOURCES ${SOURCES_SINGLE})
|
||||
endif()
|
||||
if (LAPACKE_BUILD_DOUBLE)
|
||||
append_subdir_files(SOURCES_DOUBLE "src")
|
||||
list(APPEND SOURCES ${SOURCES_DOUBLE})
|
||||
endif()
|
||||
if (LAPACKE_BUILD_COMPLEX)
|
||||
append_subdir_files(SOURCES_COMPLEX "src")
|
||||
list(APPEND SOURCES ${SOURCES_COMPLEX})
|
||||
endif()
|
||||
if (LAPACKE_BUILD_COMPLEX16)
|
||||
append_subdir_files(SOURCES_COMPLEX16 "src")
|
||||
list(APPEND SOURCES ${SOURCES_COMPLEX16})
|
||||
endif()
|
||||
append_subdir_files(DEPRECATED "src")
|
||||
append_subdir_files(EXTENDED "src")
|
||||
append_subdir_files(MATGEN "src")
|
||||
|
@ -61,9 +80,13 @@ set_target_properties(
|
|||
SOVERSION ${LAPACK_MAJOR_VERSION}
|
||||
)
|
||||
target_include_directories(lapacke PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
$<INSTALL_INTERFACE:include>
|
||||
)
|
||||
if(WIN32 AND NOT UNIX)
|
||||
target_compile_definitions(lapacke PUBLIC HAVE_LAPACK_CONFIG_H LAPACK_COMPLEX_STRUCTURE)
|
||||
message(STATUS "Windows BUILD")
|
||||
endif()
|
||||
|
||||
if(LAPACKE_WITH_TMG)
|
||||
target_link_libraries(lapacke PRIVATE tmglib)
|
||||
|
@ -71,7 +94,11 @@ endif()
|
|||
target_link_libraries(lapacke PRIVATE ${LAPACK_LIBRARIES})
|
||||
|
||||
lapack_install_library(lapacke)
|
||||
install(FILES ${LAPACKE_INCLUDE} ${LAPACK_BINARY_DIR}/include/lapacke_mangling.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
install(
|
||||
FILES ${LAPACKE_INCLUDE} ${LAPACK_BINARY_DIR}/include/lapacke_mangling.h
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||
COMPONENT Development
|
||||
)
|
||||
|
||||
if(BUILD_TESTING)
|
||||
add_subdirectory(example)
|
||||
|
@ -82,6 +109,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapacke.pc.in ${CMAKE_CURRENT_BINARY_
|
|||
install(FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc
|
||||
DESTINATION ${PKG_CONFIG_DIR}
|
||||
COMPONENT Development
|
||||
)
|
||||
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/lapacke-config-version.cmake.in
|
||||
|
@ -95,7 +123,10 @@ install(FILES
|
|||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/lapacke-config.cmake
|
||||
${LAPACK_BINARY_DIR}/lapacke-config-version.cmake
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapacke-${LAPACK_VERSION}
|
||||
COMPONENT Development
|
||||
)
|
||||
|
||||
install(EXPORT lapacke-targets
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapacke-${LAPACK_VERSION})
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapacke-${LAPACK_VERSION}
|
||||
COMPONENT Development
|
||||
)
|
||||
|
|
|
@ -40,22 +40,26 @@
|
|||
# To clean everything including lapacke library type
|
||||
# 'make cleanall'
|
||||
#
|
||||
include ../make.inc
|
||||
TOPSRCDIR = ..
|
||||
include $(TOPSRCDIR)/make.inc
|
||||
|
||||
.PHONY: all
|
||||
all: lapacke
|
||||
|
||||
.PHONY: lapacke
|
||||
lapacke: include/lapacke_mangling.h
|
||||
$(MAKE) -C src
|
||||
$(MAKE) -C utils
|
||||
|
||||
include/lapacke_mangling.h: include/lapacke_mangling_with_flags.h.in
|
||||
cp $< $@
|
||||
cp include/lapacke_mangling_with_flags.h.in $@
|
||||
|
||||
.PHONY: lapacke_example
|
||||
lapacke_example: lapacke
|
||||
$(MAKE) -C example
|
||||
|
||||
#clean: cleanlib
|
||||
clean: cleanobj
|
||||
.PHONY: clean cleanobj cleanlib cleanexe
|
||||
clean:
|
||||
$(MAKE) -C src clean
|
||||
$(MAKE) -C utils clean
|
||||
$(MAKE) -C example clean
|
||||
|
@ -64,6 +68,6 @@ cleanobj:
|
|||
$(MAKE) -C utils cleanobj
|
||||
$(MAKE) -C example cleanobj
|
||||
cleanlib:
|
||||
rm -f ../$(LAPACKELIB)
|
||||
$(MAKE) -C src cleanlib
|
||||
cleanexe:
|
||||
$(MAKE) -C example cleanexe
|
||||
|
|
Loading…
Reference in New Issue