Skip to content

Static build is not compatible with CMAKE_DEBUG_POSTFIX #5575

@j-schultz

Description

@j-schultz

Describe the bug

On Windows, trying to build a static version of the msquic library (using QUIC_BUILD_SHARED=ON) fails if the CMAKE_DEBUG_POSTFIX isn't empty. The library is actually built with the postfix (obj\Debug\msquic_staticd.lib is built), but then later on, the linker tries to access a file without the suffix:

LINK : fatal error LNK1181: cannot open input file '...\msquic-build\obj\Debug\msquic_static.lib'

So it looks like the msquic CMake generates the filename somewhere without taking the CMAKE_<CONFIG>_POSTFIX into account. It should either do that, use a generator pattern to retrieve the actual filename from the target.

Affected OS

  • Windows
  • Linux
  • macOS
  • Other (specify below)

Additional OS information

No response

MsQuic version

v2.5

Steps taken to reproduce bug

Build a Debug configuration with QUIC_BUILD_SHARED=ON, CMAKE_DEBUG_POSTFIX=d

Expected behavior

The build should success and use the file with the correct filename postfix.

Actual outcome

Build fails in linking step as described above.

Additional details

No response

Metadata

Metadata

Assignees

Type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions