mirror of
https://github.com/mehah/otclient
synced 2026-08-15 16:29:06 -04:00
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.
247 lines
6.5 KiB
JSON
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"
|
|
}
|
|
}
|
|
]
|
|
}
|