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)
|
${LAPACK_BINARY_DIR}/include/lapacke_mangling.h)
|
||||||
endif()
|
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)
|
include_directories(include ${LAPACK_BINARY_DIR}/include)
|
||||||
add_subdirectory(include)
|
add_subdirectory(include)
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
add_subdirectory(utils)
|
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)
|
macro(append_subdir_files variable dirname)
|
||||||
get_directory_property(holder DIRECTORY ${dirname} DEFINITION ${variable})
|
get_directory_property(holder DIRECTORY ${dirname} DEFINITION ${variable})
|
||||||
foreach(depfile ${holder})
|
foreach(depfile ${holder})
|
||||||
|
@ -35,8 +33,29 @@ macro(append_subdir_files variable dirname)
|
||||||
endforeach()
|
endforeach()
|
||||||
endmacro()
|
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(LAPACKE_INCLUDE "include")
|
||||||
append_subdir_files(SOURCES "src")
|
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(DEPRECATED "src")
|
||||||
append_subdir_files(EXTENDED "src")
|
append_subdir_files(EXTENDED "src")
|
||||||
append_subdir_files(MATGEN "src")
|
append_subdir_files(MATGEN "src")
|
||||||
|
@ -61,9 +80,13 @@ set_target_properties(
|
||||||
SOVERSION ${LAPACK_MAJOR_VERSION}
|
SOVERSION ${LAPACK_MAJOR_VERSION}
|
||||||
)
|
)
|
||||||
target_include_directories(lapacke PUBLIC
|
target_include_directories(lapacke PUBLIC
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||||
$<INSTALL_INTERFACE: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)
|
if(LAPACKE_WITH_TMG)
|
||||||
target_link_libraries(lapacke PRIVATE tmglib)
|
target_link_libraries(lapacke PRIVATE tmglib)
|
||||||
|
@ -71,7 +94,11 @@ endif()
|
||||||
target_link_libraries(lapacke PRIVATE ${LAPACK_LIBRARIES})
|
target_link_libraries(lapacke PRIVATE ${LAPACK_LIBRARIES})
|
||||||
|
|
||||||
lapack_install_library(lapacke)
|
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)
|
if(BUILD_TESTING)
|
||||||
add_subdirectory(example)
|
add_subdirectory(example)
|
||||||
|
@ -82,6 +109,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapacke.pc.in ${CMAKE_CURRENT_BINARY_
|
||||||
install(FILES
|
install(FILES
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc
|
${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc
|
||||||
DESTINATION ${PKG_CONFIG_DIR}
|
DESTINATION ${PKG_CONFIG_DIR}
|
||||||
|
COMPONENT Development
|
||||||
)
|
)
|
||||||
|
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/lapacke-config-version.cmake.in
|
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
|
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/lapacke-config.cmake
|
||||||
${LAPACK_BINARY_DIR}/lapacke-config-version.cmake
|
${LAPACK_BINARY_DIR}/lapacke-config-version.cmake
|
||||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapacke-${LAPACK_VERSION}
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapacke-${LAPACK_VERSION}
|
||||||
|
COMPONENT Development
|
||||||
)
|
)
|
||||||
|
|
||||||
install(EXPORT lapacke-targets
|
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
|
# To clean everything including lapacke library type
|
||||||
# 'make cleanall'
|
# 'make cleanall'
|
||||||
#
|
#
|
||||||
include ../make.inc
|
TOPSRCDIR = ..
|
||||||
|
include $(TOPSRCDIR)/make.inc
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
all: lapacke
|
all: lapacke
|
||||||
|
|
||||||
|
.PHONY: lapacke
|
||||||
lapacke: include/lapacke_mangling.h
|
lapacke: include/lapacke_mangling.h
|
||||||
$(MAKE) -C src
|
$(MAKE) -C src
|
||||||
$(MAKE) -C utils
|
$(MAKE) -C utils
|
||||||
|
|
||||||
include/lapacke_mangling.h: include/lapacke_mangling_with_flags.h.in
|
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
|
lapacke_example: lapacke
|
||||||
$(MAKE) -C example
|
$(MAKE) -C example
|
||||||
|
|
||||||
#clean: cleanlib
|
.PHONY: clean cleanobj cleanlib cleanexe
|
||||||
clean: cleanobj
|
clean:
|
||||||
$(MAKE) -C src clean
|
$(MAKE) -C src clean
|
||||||
$(MAKE) -C utils clean
|
$(MAKE) -C utils clean
|
||||||
$(MAKE) -C example clean
|
$(MAKE) -C example clean
|
||||||
|
@ -64,6 +68,6 @@ cleanobj:
|
||||||
$(MAKE) -C utils cleanobj
|
$(MAKE) -C utils cleanobj
|
||||||
$(MAKE) -C example cleanobj
|
$(MAKE) -C example cleanobj
|
||||||
cleanlib:
|
cleanlib:
|
||||||
rm -f ../$(LAPACKELIB)
|
$(MAKE) -C src cleanlib
|
||||||
cleanexe:
|
cleanexe:
|
||||||
$(MAKE) -C example cleanexe
|
$(MAKE) -C example cleanexe
|
||||||
|
|
Loading…
Reference in New Issue