mirror of
https://github.com/ARMSX2/ARMSX2.git
synced 2026-08-24 16:50:16 -07:00
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>
90 lines
3.2 KiB
JSON
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"
|
|
}
|
|
}
|
|
]
|
|
}
|