@@ -78,14 +78,14 @@ set(SYMBOLPREFIX "" CACHE STRING "Add a prefix to all exported symbol names in
78
78
79
79
set (SYMBOLSUFFIX "" CACHE STRING "Add a suffix to all exported symbol names in the shared library, e.g. _64 for INTERFACE64 builds" )
80
80
81
- if (CMAKE_SYSTEM_NAME MATCHES "Windows" AND BUILD_SHARED_LIBS AND NOT ("${SYMBOLPREFIX}${SYMBOLSUFFIX} " STREQUAL "" ))
82
- set (DELETE_STATIC_LIBS "" )
83
- if (NOT BUILD_STATIC_LIBS )
84
- message (STATUS "forcing build of a temporary static library for symbol renaming" )
85
- set (BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared library" FORCE )
86
- set (BUILD_STATIC_LIBS ON CACHE BOOL "Build static library" FORCE )
87
- set (DELETE_STATIC_LIBS file (REMOVE $< TARGET_FILE_DIR:${OpenBLAS_LIBNAME} _static> /${OpenBLAS_LIBNAME}.lib ))
88
- endif ()
81
+ if (MSVC AND BUILD_SHARED_LIBS AND NOT ("${SYMBOLPREFIX}${SYMBOLSUFFIX} " STREQUAL "" ))
82
+ set (DELETE_STATIC_LIBS "" )
83
+ if (NOT BUILD_STATIC_LIBS )
84
+ message (STATUS "forcing build of a temporary static library for symbol renaming" )
85
+ set (BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared library" FORCE )
86
+ set (BUILD_STATIC_LIBS ON CACHE BOOL "Build static library" FORCE )
87
+ set (DELETE_STATIC_LIBS file (REMOVE $< TARGET_FILE_DIR:${OpenBLAS_LIBNAME} _static> /${OpenBLAS_LIBNAME}.lib ))
88
+ endif ()
89
89
endif ()
90
90
91
91
@@ -516,42 +516,42 @@ if (BUILD_SHARED_LIBS OR DELETE_STATIC_LIBS AND NOT ${SYMBOLPREFIX}${SYMBOLSUFFI
516
516
set (BZ 0 )
517
517
endif ()
518
518
519
- if (CMAKE_SYSTEM_NAME MATCHES "Windows" )
520
- set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} /lib )
521
- set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} /lib )
522
- if (CMAKE_BUILD_TYPE MATCHES "Debug" )
523
- set (CRTLIB msvcrtd )
524
- set (PDBOPT -debug -pdb:$<TARGET_FILE_DIR:${OpenBLAS_LIBNAME}_static>/${OpenBLAS_LIBNAME}.pdb )
525
- set (PDB_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} /lib )
526
- else ()
527
- set (CRTLIB msvcrt )
528
- set (PDBOPT "" )
529
- endif ()
530
- #if (USE_PERL)
531
- message (STATUS "adding postbuild instruction to rename syms" )
532
- add_custom_command (TARGET ${OpenBLAS_LIBNAME} _static POST_BUILD
533
- COMMAND perl ${PROJECT_SOURCE_DIR} /exports/gensymbol.pl "win2k" "${ARCH} " "${BU} " "${EXPRECISION_IN} " "${NO_CBLAS_IN} " "${NO_LAPACK_IN} " "${NO_LAPACKE_IN} " "${NEED2UNDERSCORES_IN} " "${ONLY_CBLAS_IN} " "${SYMBOLPREFIX} " "${SYMBOLSUFFIX} " "${BLD} " "${BBF16} " "${BS} " "${BD} " "${BC} " "${BZ} " > ${PROJECT_BINARY_DIR} /renamesyms.def
534
- COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAGS} -I${PROJECT_SOURCE_DIR} -I${PROJECT_BINARY_DIR} -c -o ${PROJECT_BINARY_DIR} /dllinit.o ${PROJECT_SOURCE_DIR} /exports/dllinit.c
535
- COMMAND lld-link -nodefaultlib:libcmt -defaultlib:${CRTLIB} ${CMAKE_LINKER_FLAGS} -errorlimit:0 -def:${PROJECT_BINARY_DIR}/renamesyms.def ${PROJECT_BINARY_DIR} /dllinit.o $< TARGET_FILE:${OpenBLAS_LIBNAME} _static> -wholearchive:$<TARGET_FILE:${OpenBLAS_LIBNAME}_static> -dll -out:$<TARGET_FILE_DIR:${OpenBLAS_LIBNAME}_static>/${OpenBLAS_LIBNAME}.dll -implib:$<TARGET_FILE_DIR:${OpenBLAS_LIBNAME}_static>/${OpenBLAS_LIBNAME}.dll.a ${PDBOPT}
536
- #COMMAND lld-link -nodefaultlib:libcmt -defaultlib:msvcrt ${CMAKE_LINKER_FLAGS} -errorlimit:0 -def:${PROJECT_BINARY_DIR}/renamesyms.def ${PROJECT_BINARY_DIR}/dllinit.o $<TARGET_FILE:${OpenBLAS_LIBNAME}_static> -wholearchive:$<TARGET_FILE:${OpenBLAS_LIBNAME}_static> -dll -out:$<TARGET_FILE_DIR:${OpenBLAS_LIBNAME}_static>/${OpenBLAS_LIBNAME}.dll -implib:$<TARGET_FILE_DIR:${OpenBLAS_LIBNAME}_static>/${OpenBLAS_LIBNAME}.dll.a
537
- ${REMOVE_STATIC_LIB} VERBATIM
538
- )
539
- #endif ()
519
+ if (MSVC )
520
+ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} /lib )
521
+ set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} /lib )
522
+ if (CMAKE_BUILD_TYPE MATCHES "Debug" )
523
+ set (CRTLIB msvcrtd )
524
+ set (PDBOPT -debug -pdb:$<TARGET_FILE_DIR:${OpenBLAS_LIBNAME}_static>/${OpenBLAS_LIBNAME}.pdb )
525
+ set (PDB_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} /lib )
526
+ else ()
527
+ set (CRTLIB msvcrt )
528
+ set (PDBOPT "" )
529
+ endif ()
530
+ #if (USE_PERL)
531
+ message (STATUS "adding postbuild instruction to rename syms" )
532
+ add_custom_command (TARGET ${OpenBLAS_LIBNAME} _static POST_BUILD
533
+ COMMAND perl ${PROJECT_SOURCE_DIR} /exports/gensymbol.pl "win2k" "${ARCH} " "${BU} " "${EXPRECISION_IN} " "${NO_CBLAS_IN} " "${NO_LAPACK_IN} " "${NO_LAPACKE_IN} " "${NEED2UNDERSCORES_IN} " "${ONLY_CBLAS_IN} " "${SYMBOLPREFIX} " "${SYMBOLSUFFIX} " "${BLD} " "${BBF16} " "${BS} " "${BD} " "${BC} " "${BZ} " > ${PROJECT_BINARY_DIR} /renamesyms.def
534
+ COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAGS} -I${PROJECT_SOURCE_DIR} -I${PROJECT_BINARY_DIR} -c -o ${PROJECT_BINARY_DIR} /dllinit.o ${PROJECT_SOURCE_DIR} /exports/dllinit.c
535
+ COMMAND lld-link -nodefaultlib:libcmt -defaultlib:${CRTLIB} ${CMAKE_LINKER_FLAGS} -errorlimit:0 -def:${PROJECT_BINARY_DIR}/renamesyms.def ${PROJECT_BINARY_DIR} /dllinit.o $< TARGET_FILE:${OpenBLAS_LIBNAME} _static> -wholearchive:$<TARGET_FILE:${OpenBLAS_LIBNAME}_static> -dll -out:$<TARGET_FILE_DIR:${OpenBLAS_LIBNAME}_static>/${OpenBLAS_LIBNAME}.dll -implib:$<TARGET_FILE_DIR:${OpenBLAS_LIBNAME}_static>/${OpenBLAS_LIBNAME}.dll.a ${PDBOPT}
536
+ #COMMAND lld-link -nodefaultlib:libcmt -defaultlib:msvcrt ${CMAKE_LINKER_FLAGS} -errorlimit:0 -def:${PROJECT_BINARY_DIR}/renamesyms.def ${PROJECT_BINARY_DIR}/dllinit.o $<TARGET_FILE:${OpenBLAS_LIBNAME}_static> -wholearchive:$<TARGET_FILE:${OpenBLAS_LIBNAME}_static> -dll -out:$<TARGET_FILE_DIR:${OpenBLAS_LIBNAME}_static>/${OpenBLAS_LIBNAME}.dll -implib:$<TARGET_FILE_DIR:${OpenBLAS_LIBNAME}_static>/${OpenBLAS_LIBNAME}.dll.a
537
+ ${REMOVE_STATIC_LIB} VERBATIM
538
+ )
539
+ #endif ()
540
540
else ()
541
- if (NOT USE_PERL )
542
- add_custom_command (TARGET ${OpenBLAS_LIBNAME} _shared POST_BUILD
543
- COMMAND sh ${PROJECT_SOURCE_DIR} /exports/gensymbol "objcopy" "${ARCH} " "${BU} " "${EXPRECISION_IN} " "${NO_CBLAS_IN} " "${NO_LAPACK_IN} " "${NO_LAPACKE_IN} " "${NEED2UNDERSCORES_IN} " "${ONLY_CBLAS_IN} " \"${SYMBOLPREFIX} \" \" ${SYMBOLSUFFIX} \" " ${BLD} " " ${BBF16} " " ${BS} " " ${BD} " " ${BC} " " ${BZ} " > ${PROJECT_BINARY_DIR} /objcopy.def
544
- COMMAND objcopy -v --redefine-syms ${PROJECT_BINARY_DIR} /objcopy.def ${PROJECT_BINARY_DIR} /lib/${OpenBLAS_LIBNAME} .so
545
- COMMENT " renaming symbols "
546
- )
547
- else()
548
- add_custom_command(TARGET ${OpenBLAS_LIBNAME} _shared POST_BUILD
549
- COMMAND perl ${PROJECT_SOURCE_DIR} /exports/gensymbol.pl " objcopy " " ${ARCH} " " ${BU} " " ${EXPRECISION_IN} " " ${NO_CBLAS_IN} " " ${NO_LAPACK_IN} " " ${NO_LAPACKE_IN} " " ${NEED2UNDERSCORES_IN} " " ${ONLY_CBLAS_IN} " \" ${SYMBOLPREFIX} \" \" ${SYMBOLSUFFIX} \" " ${BLD} " " ${BBF16} " " ${BS} " " ${BD} " " ${BC} " " ${BZ} " > ${PROJECT_BINARY_DIR} /objcopy.def
550
- COMMAND objcopy -v --redefine-syms ${PROJECT_BINARY_DIR} /objcopy.def ${PROJECT_BINARY_DIR} /lib/lib${OpenBLAS_LIBNAME} .so
551
- COMMENT " renaming symbols "
552
- )
553
- endif()
554
- endif()
541
+ if (NOT USE_PERL )
542
+ add_custom_command (TARGET ${OpenBLAS_LIBNAME} _shared POST_BUILD
543
+ COMMAND sh ${PROJECT_SOURCE_DIR} /exports/gensymbol "objcopy" "${ARCH} " "${BU} " "${EXPRECISION_IN} " "${NO_CBLAS_IN} " "${NO_LAPACK_IN} " "${NO_LAPACKE_IN} " "${NEED2UNDERSCORES_IN} " "${ONLY_CBLAS_IN} " \"${SYMBOLPREFIX} \" \" ${SYMBOLSUFFIX} \" " ${BLD} " " ${BBF16} " " ${BS} " " ${BD} " " ${BC} " " ${BZ} " > ${PROJECT_BINARY_DIR} /objcopy.def
544
+ COMMAND objcopy -v --redefine-syms ${PROJECT_BINARY_DIR} /objcopy.def ${PROJECT_BINARY_DIR} /lib/${OpenBLAS_LIBNAME} .so
545
+ COMMENT " renaming symbols "
546
+ )
547
+ else()
548
+ add_custom_command(TARGET ${OpenBLAS_LIBNAME} _shared POST_BUILD
549
+ COMMAND perl ${PROJECT_SOURCE_DIR} /exports/gensymbol.pl " objcopy " " ${ARCH} " " ${BU} " " ${EXPRECISION_IN} " " ${NO_CBLAS_IN} " " ${NO_LAPACK_IN} " " ${NO_LAPACKE_IN} " " ${NEED2UNDERSCORES_IN} " " ${ONLY_CBLAS_IN} " \" ${SYMBOLPREFIX} \" \" ${SYMBOLSUFFIX} \" " ${BLD} " " ${BBF16} " " ${BS} " " ${BD} " " ${BC} " " ${BZ} " > ${PROJECT_BINARY_DIR} /objcopy.def
550
+ COMMAND objcopy -v --redefine-syms ${PROJECT_BINARY_DIR} /objcopy.def ${PROJECT_BINARY_DIR} /lib/lib${OpenBLAS_LIBNAME} .so
551
+ COMMENT " renaming symbols "
552
+ )
553
+ endif()
554
+ endif()
555
555
endif()
556
556
557
557
if (BUILD_BENCHMARKS)
0 commit comments