Windows Arm64 VST3 binary in x86_64-win folder

When I compile for arm64, then the resulting binary still is in the x86_64win folder inside the VST3 bundle. It should be arm64-win. This way we could put all windows architectures in one single vst3 file.

As defined here:
https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/Locations+Format/Plugin+Format.html

1 Like

Is this with Projucer or CMake?

I believe our Projucer arm64 update is still in progress, so this won’t work currently.

This is with CMake. Juce 8.0.3

Thanks, perhaps we’re not currently handling the cross-compilation case properly.

Thanks for clarifying.

Could you please share your CMake invocation?

Are you compiling on a Windows Arm system, or a Windows x64 system?

I have looked at these jobs in our CI pipeline:


On x64 Windows using cmake-3.23.1-windows-x86_64:

cmake.exe . -Bbuild “-GVisual Studio 17 2022” -DCMAKE_BUILD_TYPE=Debug -DJUCE_BUILD_EXAMPLES=ON -AARM64
cmake.exe --build build --config Debug --target AudioPluginDemo_All

In the build log I can see:

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\bin\HostX64\arm64\link.exe /ERRORREPORT:QUEUE /OUT:“C:\GitLab-Runner\builds\VDMX8x4sL\3\juce-repos\JUCE-dev\build\examples\Plugins\AudioPluginDemo_artefacts\Debug\VST3\AudioPluginDemo.vst3\Contents\arm64-win\AudioPluginDemo.vst3” …


On Arm Windows using cmake-3.24.4-windows-arm64:

cmake.exe . -Bbuild “-GVisual Studio 17 2022” -DCMAKE_BUILD_TYPE=Debug -DJUCE_BUILD_EXAMPLES=ON -AARM64
cmake.exe --build build --config Debug --target AudioPluginDemo_All

In the build log I can see:

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\bin\HostArm64\arm64\link.exe /ERRORREPORT:QUEUE /OUT:“C:\GitLab-Runner\builds\AH-ndF1Ms\0\juce-repos\JUCE-dev\build\examples\Plugins\AudioPluginDemo_artefacts\Debug\VST3\AudioPluginDemo.vst3\Contents\arm64-win\AudioPluginDemo.vst3” …


There are corresponding results for Arm64EC (rather than targeting Arm64) too.

I compiled on a Windows x64 system for Arm64:

cmake -B cmake-build -DCMAKE_PREFIX_PATH=../juce/install -DCMAKE_BUILD_TYPE=Release -A arm64 -T ClangCL

cmake --build cmake-build --parallel 3 --config Release --verbose

Are you using the develop branch? We have made some changes recently that may fix things

No, I’m using the master branch. I have to wait for the merge into the master branch then. Any schedule for when this happens?

We’re putting together an 8.0.4 release today

2 Likes

I updated to 8.0.4 and it puts the assembly now into the arm64EC folder for the VST3.
The only thing I’m missing is the AAX. Is AAX excluded by the JUCE framework?

For Windows Arm, yes. It’s not supported by Pro Tools or AAX.

I ask because it’s always a lot of work when I have to change the build process again a few months later because of this. It would be great if we could build it already.