Allow to install the 'interfare64' version concurrently with the regular version
This commit is contained in:
parent
fd081a91e4
commit
2349e15149
|
@ -15,8 +15,6 @@ include(GNUInstallDirs)
|
||||||
include(CMakePackageConfigHelpers)
|
include(CMakePackageConfigHelpers)
|
||||||
|
|
||||||
|
|
||||||
set(OpenBLAS_LIBNAME openblas)
|
|
||||||
|
|
||||||
#######
|
#######
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
option(BUILD_WITHOUT_LAPACK "Without LAPACK and LAPACKE (Only BLAS or CBLAS)" ON)
|
option(BUILD_WITHOUT_LAPACK "Without LAPACK and LAPACKE (Only BLAS or CBLAS)" ON)
|
||||||
|
@ -43,6 +41,8 @@ message(WARNING "CMake support is experimental. This will not produce the same M
|
||||||
include("${PROJECT_SOURCE_DIR}/cmake/utils.cmake")
|
include("${PROJECT_SOURCE_DIR}/cmake/utils.cmake")
|
||||||
include("${PROJECT_SOURCE_DIR}/cmake/system.cmake")
|
include("${PROJECT_SOURCE_DIR}/cmake/system.cmake")
|
||||||
|
|
||||||
|
set(OpenBLAS_LIBNAME openblas${SUFFIX64_UNDERSCORE})
|
||||||
|
|
||||||
set(BLASDIRS interface driver/level2 driver/level3 driver/others)
|
set(BLASDIRS interface driver/level2 driver/level3 driver/others)
|
||||||
|
|
||||||
if (NOT DYNAMIC_ARCH)
|
if (NOT DYNAMIC_ARCH)
|
||||||
|
@ -214,11 +214,15 @@ set_target_properties(${OpenBLAS_LIBNAME} PROPERTIES
|
||||||
|
|
||||||
# Install libraries
|
# Install libraries
|
||||||
install(TARGETS ${OpenBLAS_LIBNAME}
|
install(TARGETS ${OpenBLAS_LIBNAME}
|
||||||
EXPORT "OpenBLASTargets"
|
EXPORT "OpenBLAS${SUFFIX64}Targets"
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
|
||||||
|
|
||||||
|
# Install headers
|
||||||
|
set(CMAKE_INSTALL_INCLUDEDIR ${CMAKE_INSTALL_INCLUDEDIR}/openblas${SUFFIX64})
|
||||||
|
set(CMAKE_INSTALL_FULL_INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
|
|
||||||
message(STATUS "Generating openblas_config.h in ${CMAKE_INSTALL_INCLUDEDIR}")
|
message(STATUS "Generating openblas_config.h in ${CMAKE_INSTALL_INCLUDEDIR}")
|
||||||
|
|
||||||
set(OPENBLAS_CONFIG_H ${CMAKE_BINARY_DIR}/openblas_config.h)
|
set(OPENBLAS_CONFIG_H ${CMAKE_BINARY_DIR}/openblas_config.h)
|
||||||
|
@ -266,29 +270,31 @@ if(NOT NO_LAPACKE)
|
||||||
ADD_CUSTOM_TARGET(genlapacke
|
ADD_CUSTOM_TARGET(genlapacke
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/lapack-netlib/LAPACKE/include/lapacke_mangling_with_flags.h.in "${CMAKE_BINARY_DIR}/lapacke_mangling.h"
|
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/lapack-netlib/LAPACKE/include/lapacke_mangling_with_flags.h.in "${CMAKE_BINARY_DIR}/lapacke_mangling.h"
|
||||||
)
|
)
|
||||||
install (FILES ${CMAKE_BINARY_DIR}/lapacke_mangling.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
install (FILES ${CMAKE_BINARY_DIR}/lapacke_mangling.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/openblas${SUFFIX64})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include(FindPkgConfig QUIET)
|
include(FindPkgConfig QUIET)
|
||||||
if(PKG_CONFIG_FOUND)
|
if(PKG_CONFIG_FOUND)
|
||||||
configure_file(${PROJECT_SOURCE_DIR}/cmake/openblas.pc.in ${PROJECT_BINARY_DIR}/openblas.pc @ONLY)
|
configure_file(${PROJECT_SOURCE_DIR}/cmake/openblas.pc.in ${PROJECT_BINARY_DIR}/openblas${SUFFIX64}.pc @ONLY)
|
||||||
install (FILES ${PROJECT_BINARY_DIR}/openblas.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig/)
|
install (FILES ${PROJECT_BINARY_DIR}/openblas${SUFFIX64}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig/)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# GNUInstallDirs "DATADIR" wrong here; CMake search path wants "share".
|
# GNUInstallDirs "DATADIR" wrong here; CMake search path wants "share".
|
||||||
set(PN OpenBLAS)
|
set(PN OpenBLAS)
|
||||||
set(CMAKECONFIG_INSTALL_DIR "share/cmake/${PN}")
|
set(CMAKECONFIG_INSTALL_DIR "share/cmake/${PN}${SUFFIX64}")
|
||||||
configure_package_config_file(cmake/${PN}Config.cmake.in
|
configure_package_config_file(cmake/${PN}Config.cmake.in
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/${PN}Config.cmake"
|
"${CMAKE_CURRENT_BINARY_DIR}/${PN}${SUFFIX64}Config.cmake"
|
||||||
INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR})
|
INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR})
|
||||||
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${PN}ConfigVersion.cmake
|
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${PN}ConfigVersion.cmake
|
||||||
VERSION ${${PN}_VERSION}
|
VERSION ${${PN}_VERSION}
|
||||||
COMPATIBILITY AnyNewerVersion)
|
COMPATIBILITY AnyNewerVersion)
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PN}Config.cmake
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PN}${SUFFIX64}Config.cmake
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${PN}ConfigVersion.cmake
|
|
||||||
DESTINATION ${CMAKECONFIG_INSTALL_DIR})
|
DESTINATION ${CMAKECONFIG_INSTALL_DIR})
|
||||||
install(EXPORT "${PN}Targets"
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PN}ConfigVersion.cmake
|
||||||
NAMESPACE "${PN}::"
|
RENAME ${PN}${SUFFIX64}ConfigVersion.cmake
|
||||||
|
DESTINATION ${CMAKECONFIG_INSTALL_DIR})
|
||||||
|
install(EXPORT "${PN}${SUFFIX64}Targets"
|
||||||
|
NAMESPACE "${PN}${SUFFIX64}::"
|
||||||
DESTINATION ${CMAKECONFIG_INSTALL_DIR})
|
DESTINATION ${CMAKECONFIG_INSTALL_DIR})
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,11 @@
|
||||||
## Description: Ported from portion of OpenBLAS/Makefile.system
|
## Description: Ported from portion of OpenBLAS/Makefile.system
|
||||||
## Sets Fortran related variables.
|
## Sets Fortran related variables.
|
||||||
|
|
||||||
|
if (INTERFACE64)
|
||||||
|
set(SUFFIX64 64)
|
||||||
|
set(SUFFIX64_UNDERSCORE _64)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (${F_COMPILER} STREQUAL "FLANG")
|
if (${F_COMPILER} STREQUAL "FLANG")
|
||||||
set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_FLANG")
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_FLANG")
|
||||||
if (BINARY64 AND INTERFACE64)
|
if (BINARY64 AND INTERFACE64)
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||||
|
libsuffix=@SUFFIX64_UNDERSCORE@
|
||||||
includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||||
|
|
||||||
openblas_config=USE_64BITINT=@USE_64BITINT@ NO_CBLAS=@NO_CBLAS@ NO_LAPACK=@NO_LAPACK@ NO_LAPACKE=@NO_LAPACKE@ DYNAMIC_ARCH=@DYNAMIC_ARCH@ DYNAMIC_OLDER=@DYNAMIC_OLDER@ NO_AFFINITY=@NO_AFFINITY@ USE_OPENMP=@USE_OPENMP@ @CORE@ MAX_THREADS=@NUM_THREADS@
|
openblas_config=USE_64BITINT=@USE_64BITINT@ NO_CBLAS=@NO_CBLAS@ NO_LAPACK=@NO_LAPACK@ NO_LAPACKE=@NO_LAPACKE@ DYNAMIC_ARCH=@DYNAMIC_ARCH@ DYNAMIC_OLDER=@DYNAMIC_OLDER@ NO_AFFINITY=@NO_AFFINITY@ USE_OPENMP=@USE_OPENMP@ @CORE@ MAX_THREADS=@NUM_THREADS@
|
||||||
|
@ -6,5 +7,5 @@ Name: OpenBLAS
|
||||||
Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version
|
Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version
|
||||||
Version: @OPENBLAS_VERSION@
|
Version: @OPENBLAS_VERSION@
|
||||||
URL: https://github.com/xianyi/OpenBLAS
|
URL: https://github.com/xianyi/OpenBLAS
|
||||||
Libs: -L${libdir} -lopenblas
|
Libs: -L${libdir} -lopenblas${libsuffix}
|
||||||
Cflags: -I${includedir}
|
Cflags: -I${includedir}
|
||||||
|
|
Loading…
Reference in New Issue