Fix exported OpenBLASTargets.cmake
When both BUILD_SHARED_LIBS and BUILD_STATIC_LIBS are enabled, cmake export both of them to OpenBLASTargets under tha same name `OpenBLAS::OpenBLAS` which leads to fatal error about OpenBLAS::OpenBLAS being both static and shared target. This change makes cmake export only the shared library in that case. There is another solution to treat them as components, but I am afraid that will make it backward incompatible.
This commit is contained in:
parent
aa231b5875
commit
9874cd11cb
|
@ -386,11 +386,22 @@ endif()
|
||||||
# Install project
|
# Install project
|
||||||
|
|
||||||
# Install libraries
|
# Install libraries
|
||||||
install(TARGETS ${OpenBLAS_LIBS}
|
if(BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS)
|
||||||
EXPORT "OpenBLAS${SUFFIX64}Targets"
|
install(TARGETS ${OpenBLAS_LIBNAME}_shared
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
EXPORT "OpenBLAS${SUFFIX64}Targets"
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
|
||||||
|
install(TARGETS ${OpenBLAS_LIBNAME}_static
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
|
||||||
|
else()
|
||||||
|
install(TARGETS ${OpenBLAS_LIBS}
|
||||||
|
EXPORT "OpenBLAS${SUFFIX64}Targets"
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
|
||||||
|
endif()
|
||||||
|
|
||||||
# Install headers
|
# Install headers
|
||||||
set(CMAKE_INSTALL_INCLUDEDIR ${CMAKE_INSTALL_INCLUDEDIR}/openblas${SUFFIX64})
|
set(CMAKE_INSTALL_INCLUDEDIR ${CMAKE_INSTALL_INCLUDEDIR}/openblas${SUFFIX64})
|
||||||
|
|
Loading…
Reference in New Issue