[FEAT]: VCPKG

This commit is contained in:
2025-12-21 07:49:28 +05:30
parent 74678d4c4f
commit a956f7b770
13 changed files with 226 additions and 110 deletions

View File

@ -12,103 +12,74 @@
"binaryDir": "${sourceDir}/out/build/${presetName}",
"cacheVariables": {
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
"CMAKE_C_COMPILER": "clang",
"CMAKE_CXX_COMPILER": "clang++"
"WITH_AVX2": "ON",
"WITH_NEON": "ON",
"VCPKG_OVERLAY_TRIPLETS": "${sourceDir}/CMake/Triplets",
"CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
}
},
{
"name": "windows-base",
"hidden": true,
"name": "linux-x64",
"displayName": "Linux x64 (AVX2)",
"inherits": "base-common",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
},
"cacheVariables": {
"CMAKE_SYSTEM_NAME": "Linux",
"CMAKE_SYSTEM_PROCESSOR": "x86_64",
"CMAKE_C_FLAGS": "-mavx2 -mfma",
"CMAKE_CXX_FLAGS": "-mavx2 -mfma",
"VCPKG_TARGET_TRIPLET": "x64-linux"
}
},
{
"name": "linux-arm64",
"displayName": "Linux ARM64 (NEON)",
"inherits": "base-common",
"cacheVariables": {
"CMAKE_SYSTEM_NAME": "Linux",
"CMAKE_SYSTEM_PROCESSOR": "aarch64",
"CMAKE_C_COMPILER_TARGET": "aarch64-linux-gnu",
"CMAKE_CXX_COMPILER_TARGET": "aarch64-linux-gnu",
"CMAKE_CXX_FLAGS": "-march=armv8-a+simd",
"CMAKE_SYSROOT": "/usr/aarch64-linux-gnu",
"VCPKG_TARGET_TRIPLET": "arm64-linux"
}
},
{
"name": "windows-x64",
"displayName": "Windows x64 (AVX2)",
"inherits": "base-common",
"cacheVariables": {
"CMAKE_SYSTEM_NAME": "Windows",
"CMAKE_SYSTEM_PROCESSOR": "x86_64",
"CMAKE_C_COMPILER": "clang-cl",
"CMAKE_CXX_COMPILER": "clang-cl",
"CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
"CMAKE_CXX_FLAGS": "/arch:AVX2",
"VCPKG_TARGET_TRIPLET": "x64-windows"
}
},
{
"name": "linux-base",
"hidden": true,
"name": "windows-arm64",
"displayName": "Windows ARM64 (NEON)",
"inherits": "base-common",
"condition": {
"type": "notEquals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "windows-default",
"displayName": "Windows (Clang-CL + VCPKG)",
"description": "Windows build using Clang-CL and VCPKG dependencies",
"inherits": "windows-base"
},
{
"name": "linux-default",
"displayName": "Linux (Clang)",
"description": "Linux build using Clang",
"inherits": "linux-base"
},
{
"name": "linux-ci",
"displayName": "Linux CI Build",
"description": "Linux CI Build",
"inherits": "linux-base",
"cacheVariables": {
"IS_CI_BUILD": "ON"
"CMAKE_SYSTEM_NAME": "Windows",
"CMAKE_SYSTEM_PROCESSOR": "aarch64",
"CMAKE_C_COMPILER": "clang",
"CMAKE_CXX_COMPILER": "clang++",
"CMAKE_CXX_FLAGS": "--target=arm64-pc-windows-msvc -fuse-ld=lld-link",
"VCPKG_TARGET_TRIPLET": "arm64-windows"
}
},
{
"name": "wasm-default",
"displayName": "WebAssembly (Emscripten)",
"description": "Build using Emscripten toolchain",
"generator": "Ninja",
"binaryDir": "${sourceDir}/out/build/wasm-release",
"toolchainFile": "$env{EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake",
"name": "wasm",
"displayName": "WebAssembly (SIMD)",
"inherits": "base-common",
"cacheVariables": {
"CMAKE_CXX_FLAGS": "-msimd128 -pthread"
}
}
],
"buildPresets": [
{
"name": "windows-debug",
"configurePreset": "windows-default",
"configuration": "Debug",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "linux-debug",
"configurePreset": "linux-default",
"configuration": "Debug",
"condition": {
"type": "notEquals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "linux-wasm-debug",
"configurePreset": "wasm-default",
"configuration": "Debug"
},
{
"name": "linux-ci-release",
"configurePreset": "linux-ci",
"configuration": "Release",
"condition": {
"type": "notEquals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
"CMAKE_SYSTEM_NAME": "Emscripten",
"CMAKE_SYSTEM_PROCESSOR": "wasm32",
"VCPKG_TARGET_TRIPLET": "wasm32-emscripten-simd",
"VCPKG_HOST_TRIPLET": "x64-linux",
"VCPKG_CHAINLOAD_TOOLCHAIN_FILE": "$env{EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake"
}
}
]