Files
ARMSX2/CMakePresets.json
T
b884f93dd7 arm64: build infrastructure, perf counters, and JIT perf-dump plumbing
CMake/preset wiring for the ARM64 target, the vixl C++20 enum-conversion warning
suppression, PmuCounters (cycle/instret PMU reads), and the Perf jitdump dir/enable
controls (EmuConfig.Profiler.EnablePerfDump, redirected out of /tmp into the cache
dir). Plus small platform/build fixes (ALSA thread naming, SmallString, X11 guards,
ARM MIDR CPU-name fallback, gcc lambda decay). The ARCH_ARM64 status banner now
reflects that EE/IOP/VU recompilers are all implemented.

Co-Authored-By: Ryan Walklin <ryan@testtoast.com>
Co-Authored-By: Brian Degenhardt <bmd@bmdhacks.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 20:27:55 -07:00

90 lines
3.2 KiB
JSON

{
"version": 6,
"cmakeMinimumRequired": {
"major": 3,
"minor": 19,
"patch": 0
},
"configurePresets": [
{
"name": "clang-base",
"displayName": "Base",
"description": "Base preset for Clang. Only for inheriting from.",
"hidden": true,
"binaryDir": "${sourceDir}/build",
"generator": "Ninja",
"cacheVariables": {
"CMAKE_EXE_LINKER_FLAGS_INIT": "-fuse-ld=lld",
"CMAKE_MODULE_LINKER_FLAGS_INIT": "-fuse-ld=lld",
"CMAKE_SHARED_LINKER_FLAGS_INIT": "-fuse-ld=lld",
"CMAKE_C_COMPILER": "clang",
"CMAKE_CXX_COMPILER": "clang++"
}
},
{
"name": "ninja-multi",
"displayName": "Ninja Multi Config",
"description": "Generate multiple ninja build files.",
"inherits": "clang-base",
"generator": "Ninja Multi-Config"
},
{
"name": "clang-debug",
"displayName": "Clang Debug",
"description": "Debug build using ninja and clang.",
"inherits": "clang-base",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "clang-devel",
"displayName": "Clang Devel",
"description": "Developer build using ninja & clang.",
"inherits": "clang-base",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Devel"
}
},
{
"name": "clang-release",
"displayName": "Clang Release",
"description": "Release lto build using ninja & clang.",
"inherits": "clang-base",
"cacheVariables": {
"CMAKE_INTERPROCEDURAL_OPTIMIZATION": "ON",
"CMAKE_BUILD_TYPE": "Release",
"ENABLE_RECOMPILER_TEST_HOOKS": "OFF"
}
},
{
"name": "clang-perf",
"displayName": "Clang Devel + perf jitdump",
"description": "Devel build with USE_PERF_JITDUMP=ON; emits /tmp/pcsx2-perf-<pid>/jit-<pid>.dump for `perf inject --jit`.",
"inherits": "clang-devel",
"binaryDir": "${sourceDir}/build-perf",
"cacheVariables": {
"USE_PERF_JITDUMP": "ON"
}
},
{
"name": "clang-handheld",
"displayName": "Clang Handheld (SDL3 / kmsdrm)",
"description": "RelWithDebInfo build of the SDL3 frontend for kmsdrm-only handhelds. No Qt. GSRunner builds with a VulkanDirect platform backend (no X11/Wayland).",
"inherits": "clang-base",
"binaryDir": "${sourceDir}/build-handheld",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"ENABLE_QT_UI": "OFF",
"ENABLE_GSRUNNER": "ON",
"ENABLE_SDL_FRONTEND": "ON",
"ENABLE_TESTS": "OFF",
"ENABLE_RECOMPILER_TEST_HOOKS": "OFF",
"USE_BACKTRACE": "OFF",
"X11_API": "OFF",
"WAYLAND_API": "OFF"
}
}
]
}