Skip to content

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

Closed

Description

@Harishmcw

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions