Skip to content

filter no longer matches architecture:arm64, starting in beta8 #2614

@chrisant996

Description

@chrisant996

What seems to be the problem?
targetsuffix is no longer respected for ARM64, starting in beta8.
It was working fine for me in beta2 through beta7.
I've been using premake for ARM64 on Windows for years (cross-compiling and publishing generated ARM64 builds).

What did you expect to happen?
The <TargetName> should include the targetsuffix, but for ARM64 it no longer does.
I expected ARM64 to respect the targetsuffix as it did in beta2 through beta7.
In beta8 x86 and x64 include the suffix, but ARM64 does not.

What have you tried so far?

  1. I bisected which version of premake introduced this problem: beta2 through beta7 respect targetsuffix for ARM64, but beta8 does not -- the regression was introduced in beta8.
  2. I'm working on finding a way to work around this beta8 regression.
  3. I may also track down what commit introduced the regression, after I find a workaround (or give up on finding a workaround).

How can we reproduce this?
Use the following premake5.lua file, run premake5 vs2022, and then observe the <TargetName> fields in the resulting repro.vcxproj file.

workspace("repro")
    configurations({"debug", "release", "final"})
    platforms({"x86", "x64", "arm64"})

project("repro")
    kind("consoleapp")

    filter {cfg, "architecture:x86"}
        targetsuffix("_x86")

    filter {cfg, "architecture:x64"}
        targetsuffix("_x64")

    filter {cfg, "architecture:arm64"}
        targetsuffix("_arm64")
  • Visual Studio 2022 (vs2022)
  • I haven't tried any other versions of VS yet, but since VS is not even being invoked it seems unlikely to be related to the VS version.

What version of Premake are you using?

> premake5 --version
premake5 (Premake Build Script Generator) 5.0.0-beta8

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions