Skip to content

Inconsistent lib name suffix between CMake and Make builds with INTERFACE64 #5259

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Harishmcw opened this issue May 13, 2025 · 0 comments

Comments

@Harishmcw
Copy link
Contributor

Hi @martin-frbg

When building OpenBLAS with INTERFACE64 enabled:

  • In Make-based builds, setting LIBNAMESUFFIX=64_ correctly gives:
    → openblas64_.lib

  • But in CMake-based builds, setting both -DINTERFACE64=ON -DLIBNAMESUFFIX=64_ gives:
    → openblas64__64.lib

This is because CMake appends _64 automatically when INTERFACE64 is set, even if LIBNAMESUFFIX is already provided.

OpenBLAS/cmake/system.cmake

Lines 355 to 358 in cf9e34c

if (INTERFACE64)
set(SUFFIX64 64)
set(SUFFIX64_UNDERSCORE _64)
endif()

set(OpenBLAS_LIBNAME ${LIBNAMEPREFIX}openblas${LIBNAMESUFFIX}${SUFFIX64_UNDERSCORE})

Expected:

If I set LIBNAMESUFFIX=64_, the final name should just be openblas64_.lib, regardless of INTERFACE64.

Can this behavior be aligned with the Make build logic?

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant