Skip to content

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

@Harishmcw

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!

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