otclient-redemption/CMakePresets.json
Luan Santos 388b3ba2ea
feat(platform): add native Cocoa/AppKit windowing for macOS (#1559)
New Features:
- Native macOS app with Cocoa windowing, OpenGL view, improved input, clipboard and cursor handling.
- Platform-aware keyboard and shortcut behavior with clearer primary/meta/control semantics and normalized key combos.

Bug Fixes:
- Expanded detection for "connection refused" network errors.

Chores:
- macOS build/bundle and packaging improvements; new dependency overlay added; CI now runs macOS build when relevant.

Tests:
- AddressSanitizer support added for test builds.
2026-05-16 13:06:48 -03:00

247 lines
6.5 KiB
JSON

{
"version": 3,
"cmakeMinimumRequired": {
"major": 3,
"minor": 24,
"patch": 0
},
"configurePresets": [
{
"name": "base",
"hidden": true,
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/${presetName}",
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": {
"value": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
"type": "FILEPATH"
},
"CMAKE_COLOR_DIAGNOSTICS": "ON",
"SPEED_UP_BUILD_UNITY": "ON"
}
},
{
"name": "windows-release",
"inherits": "base",
"displayName": "Windows - Release",
"description": "Windows release build with Ninja and vcpkg",
"cacheVariables": {
"BUILD_STATIC_LIBRARY": "ON",
"VCPKG_TARGET_TRIPLET": "x64-windows-static",
"VCPKG_HOST_TRIPLET": "x64-windows-static",
"VCPKG_BUILD_TYPE": "release",
"VCPKG_PLATFORM_TOOLSET": "v145",
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"OPTIONS_ENABLE_SCCACHE": "ON",
"OTCLIENT_BUILD_TESTS": "OFF"
},
"architecture": {
"value": "x64",
"strategy": "external"
},
"vendor": {
"microsoft.com/VisualStudioSettings/CMake/1.0": {
"hostOS": [
"Windows"
]
}
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "windows-release-asan",
"inherits": "windows-release",
"displayName": "Windows - Release + ASAN",
"description": "Windows release build with ASAN",
"cacheVariables": {
"ASAN_ENABLED": "ON",
"BUILD_STATIC_LIBRARY": "OFF",
"VCPKG_TARGET_TRIPLET": "x64-windows",
"VCPKG_HOST_TRIPLET": "x64-windows",
"OTCLIENT_BUILD_TESTS": "ON"
}
},
{
"name": "windows-debug",
"inherits": "windows-release",
"displayName": "Windows - Debug",
"description": "Windows debug build",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"DEBUG_LOG": "ON",
"ASAN_ENABLED": "OFF",
"BUILD_STATIC_LIBRARY": "OFF",
"SPEED_UP_BUILD_UNITY": "OFF",
"VCPKG_TARGET_TRIPLET": "x64-windows",
"VCPKG_HOST_TRIPLET": "x64-windows",
"VCPKG_BUILD_TYPE": "debug",
"OTCLIENT_BUILD_TESTS": "ON"
}
},
{
"name": "windows-debug-msbuild",
"inherits": "windows-debug",
"displayName": "Windows - Debug (MSBuild)",
"description": "Windows debug build using the Visual Studio generator",
"generator": "Visual Studio 17 2022",
"binaryDir": "${sourceDir}/build/${presetName}",
"cacheVariables": {
"ASAN_ENABLED": "ON",
"TOGGLE_PRE_COMPILED_HEADER": "OFF"
}
},
{
"name": "linux-release",
"inherits": "base",
"displayName": "Linux - Release",
"description": "Linux release build with Ninja and vcpkg",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"VCPKG_TARGET_TRIPLET": "x64-linux",
"VCPKG_HOST_TRIPLET": "x64-linux",
"VCPKG_BUILD_TYPE": "release",
"OPTIONS_ENABLE_CCACHE": "ON",
"OTCLIENT_BUILD_TESTS": "OFF"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Linux"
}
},
{
"name": "linux-debug",
"inherits": "linux-release",
"displayName": "Linux - Debug",
"description": "Linux debug build with tests enabled",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
"DEBUG_LOG": "ON",
"ASAN_ENABLED": "OFF",
"TOGGLE_PRE_COMPILED_HEADER": "OFF",
"SPEED_UP_BUILD_UNITY": "OFF",
"VCPKG_BUILD_TYPE": "debug",
"OTCLIENT_BUILD_TESTS": "ON"
}
},
{
"name": "macos-release",
"inherits": "base",
"displayName": "macOS - Release",
"description": "macOS release build with Apple Clang",
"cacheVariables": {
"BUILD_STATIC_LIBRARY": "ON",
"CMAKE_BUILD_TYPE": "Release",
"OPTIONS_ENABLE_SCCACHE": "ON",
"OPTIONS_ENABLE_IPO": "OFF",
"CMAKE_CXX_FLAGS_RELEASE": "-O2 -DNDEBUG",
"CMAKE_C_FLAGS_RELEASE": "-O2 -DNDEBUG",
"VCPKG_TARGET_TRIPLET": "arm64-osx",
"VCPKG_HOST_TRIPLET": "arm64-osx",
"VCPKG_BUILD_TYPE": "release",
"OTCLIENT_BUILD_TESTS": "OFF"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Darwin"
}
},
{
"name": "macos-debug",
"inherits": "macos-release",
"displayName": "macOS - Debug",
"description": "macOS debug build",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"DEBUG_LOG": "ON",
"ASAN_ENABLED": "ON",
"BUILD_STATIC_LIBRARY": "OFF",
"SPEED_UP_BUILD_UNITY": "OFF",
"VCPKG_BUILD_TYPE": "debug",
"OTCLIENT_BUILD_TESTS": "ON"
}
}
],
"buildPresets": [
{
"name": "linux-release",
"configurePreset": "linux-release"
},
{
"name": "linux-debug",
"configurePreset": "linux-debug"
},
{
"name": "windows-release",
"configurePreset": "windows-release"
},
{
"name": "windows-release-asan",
"configurePreset": "windows-release-asan"
},
{
"name": "windows-debug",
"configurePreset": "windows-debug"
},
{
"name": "windows-debug-msbuild",
"configurePreset": "windows-debug-msbuild"
},
{
"name": "macos-release",
"configurePreset": "macos-release"
},
{
"name": "macos-debug",
"configurePreset": "macos-debug"
}
],
"testPresets": [
{
"name": "linux-debug",
"configurePreset": "linux-debug",
"output": {
"outputOnFailure": true
},
"execution": {
"noTestsAction": "error"
}
},
{
"name": "windows-debug",
"configurePreset": "windows-debug",
"output": {
"outputOnFailure": true
},
"execution": {
"noTestsAction": "error"
}
},
{
"name": "windows-release-asan",
"configurePreset": "windows-release-asan",
"output": {
"outputOnFailure": true
},
"execution": {
"noTestsAction": "error"
}
},
{
"name": "macos-debug",
"configurePreset": "macos-debug",
"output": {
"outputOnFailure": true
},
"execution": {
"noTestsAction": "error"
}
}
]
}