[BUILDSYS]: Remove VCPKG

This commit is contained in:
2025-12-26 02:38:35 +05:30
parent 8a417e1ec2
commit a11f0359e2
10 changed files with 42 additions and 89 deletions

View File

@ -1,5 +1,7 @@
include(FetchContent)
find_package(OpenSSL 3.0.0 REQUIRED)
set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "Force static libs")
set(HWY_ENABLE_TESTS OFF CACHE BOOL "Disable Highway tests" FORCE)
@ -7,10 +9,30 @@ set(HWY_ENABLE_EXAMPLES OFF CACHE BOOL "Disable Highway examples" FORCE)
set(HWY_ENABLE_CONTRIB OFF CACHE BOOL "Disable Highway contrib" FORCE)
set(HWY_ENABLE_INSTALL OFF CACHE BOOL "Disable Highway install rules" FORCE)
set(ZLIB_USE_STATIC_LIBS ON)
find_package(ZLIB REQUIRED)
find_package(zstd CONFIG REQUIRED)
find_package(OpenSSL 3.0.0 REQUIRED)
set(ZLIB_USE_STATIC_LIBS ON CACHE BOOL "" FORCE)
set(ZLIB_COMPAT ON CACHE BOOL "" FORCE)
set(ZLIB_ENABLE_TESTS OFF CACHE BOOL "" FORCE)
set(WITH_GZFILEOP ON CACHE BOOL "" FORCE)
FetchContent_Declare(
zlib
GIT_REPOSITORY https://github.com/zlib-ng/zlib-ng.git
GIT_TAG 2.1.6
OVERRIDE_FIND_PACKAGE
)
set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "" FORCE)
set(ZSTD_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(ZSTD_BUILD_SHARED OFF CACHE BOOL "" FORCE)
set(ZSTD_BUILD_STATIC ON CACHE BOOL "" FORCE)
FetchContent_Declare(
zstd
GIT_REPOSITORY https://github.com/facebook/zstd.git
GIT_TAG v1.5.5
SOURCE_SUBDIR build/cmake
OVERRIDE_FIND_PACKAGE
)
FetchContent_Declare(
httplib
@ -99,7 +121,15 @@ set(HTTPLIB_COMPILE OFF CACHE BOOL "" FORCE)
set(HTTPLIB_TEST OFF CACHE BOOL "" FORCE)
set(HTTPLIB_EXAMPLE OFF CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(httplib pugixml nlohmann_json glaze simdjson tl-expected unordered_dense mimalloc highway)
FetchContent_MakeAvailable(zlib zstd httplib pugixml nlohmann_json glaze simdjson tl-expected unordered_dense mimalloc highway)
if(NOT TARGET simdjson::simdjson)
add_library(simdjson::simdjson ALIAS simdjson)
endif()
if(NOT TARGET zstd::libzstd)
add_library(zstd::libzstd ALIAS libzstd_static)
endif()
get_target_property(HWY_INCLUDE_DIRS hwy INTERFACE_INCLUDE_DIRECTORIES)
target_include_directories(hwy SYSTEM INTERFACE ${HWY_INCLUDE_DIRS})

View File

@ -1,9 +0,0 @@
set(VCPKG_TARGET_ARCHITECTURE arm64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE static)
set(VCPKG_CMAKE_SYSTEM_NAME Linux)
set(VCPKG_C_FLAGS "--gcc-toolchain=/usr -march=armv8-a+simd")
set(VCPKG_CXX_FLAGS " --gcc-toolchain=/usr -march=armv8-a+simd")
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../Toolchains/arm64-linux-clang.cmake")

View File

@ -1,11 +0,0 @@
set(VCPKG_TARGET_ARCHITECTURE arm64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE static)
set(VCPKG_CMAKE_SYSTEM_NAME Windows)
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
set(VCPKG_C_FLAGS "--target=arm64-pc-windows-msvc")
set(VCPKG_CXX_FLAGS "--target=arm64-pc-windows-msvc")
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../Toolchains/arm64-windows-clang.cmake")

View File

@ -1,9 +0,0 @@
set(VCPKG_TARGET_ARCHITECTURE wasm32)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE static)
set(VCPKG_CMAKE_SYSTEM_NAME Emscripten)
set(VCPKG_C_FLAGS "-msimd128 -pthread")
set(VCPKG_CXX_FLAGS "-msimd128 -pthread")
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../Toolchains/wasm32-emscripten-clang.cmake")

View File

@ -1,9 +0,0 @@
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE static)
set(VCPKG_CMAKE_SYSTEM_NAME Linux)
set(VCPKG_C_FLAGS "-mavx2 -mfma -mxsave -msse4.2")
set(VCPKG_CXX_FLAGS "-mavx2 -mfma -mxsave -msse4.2")
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../Toolchains/x64-linux-clang.cmake")

View File

@ -1,9 +0,0 @@
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE static)
set(VCPKG_CMAKE_SYSTEM_NAME Windows)
set(VCPKG_C_FLAGS "/arch:AVX2 /clang:-mfma")
set(VCPKG_CXX_FLAGS "/arch:AVX2 /clang:-mfma")
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../Toolchains/x64-windows-clang.cmake")

View File

@ -1,15 +1,5 @@
cmake_minimum_required(VERSION 3.28 FATAL_ERROR)
set(IACORE_ROOT "${CMAKE_CURRENT_LIST_DIR}" CACHE INTERNAL "")
set(IACORE_TRIPLETS_DIR "${IACORE_ROOT}/CMake/Triplets" CACHE INTERNAL "")
if(IACORE_TRIPLETS_DIR)
list(APPEND VCPKG_OVERLAY_TRIPLETS "${IACORE_TRIPLETS_DIR}")
if(NOT CMAKE_CURRENT_LIST_DIR STREQUAL CMAKE_SOURCE_DIR)
set(VCPKG_OVERLAY_TRIPLETS "${VCPKG_OVERLAY_TRIPLETS}" PARENT_SCOPE)
endif()
endif()
project(IACore LANGUAGES C CXX)
if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
@ -18,6 +8,7 @@ else()
set(IACORE_IS_TOP_LEVEL OFF)
endif()
set(IACORE_ROOT "${CMAKE_CURRENT_LIST_DIR}" CACHE INTERNAL "")
set(IACORE_CMAKE_DIR "${IACORE_ROOT}/CMake" CACHE INTERNAL "")
list(APPEND CMAKE_MODULE_PATH "${IACORE_CMAKE_DIR}")

View File

@ -13,34 +13,26 @@
"cacheVariables": {
"CMAKE_C_COMPILER": "clang",
"CMAKE_CXX_COMPILER": "clang++",
"VCPKG_MANIFEST_MODE": "ON",
"VCPKG_OVERLAY_TRIPLETS": "${sourceDir}/CMake/Triplets",
"CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
"VCPKG_CHAINLOAD_TOOLCHAIN_FILE": "${sourceDir}/CMake/Toolchains/${presetName}-clang.cmake"
"CMAKE_TOOLCHAIN_FILE": "${sourceDir}/CMake/Toolchains/${presetName}-clang.cmake"
}
},
{
"name": "x64-linux",
"displayName": "Linux x64 (Clang)",
"inherits": "iacore-base",
"cacheVariables": {
"VCPKG_TARGET_TRIPLET": "x64-linux"
}
"cacheVariables": {}
},
{
"name": "arm64-linux",
"displayName": "Linux ARM64 (Clang Cross)",
"inherits": "iacore-base",
"cacheVariables": {
"VCPKG_TARGET_TRIPLET": "arm64-linux"
}
"cacheVariables": {}
},
{
"name": "x64-windows",
"displayName": "Windows x64 (Clang)",
"inherits": "iacore-base",
"cacheVariables": {
"VCPKG_TARGET_TRIPLET": "x64-windows",
"CMAKE_C_COMPILER": "clang-cl",
"CMAKE_CXX_COMPILER": "clang-cl"
}
@ -50,7 +42,6 @@
"displayName": "Windows ARM64 (Clang Cross)",
"inherits": "iacore-base",
"cacheVariables": {
"VCPKG_TARGET_TRIPLET": "arm64-windows",
"CMAKE_C_COMPILER": "clang-cl",
"CMAKE_CXX_COMPILER": "clang-cl"
}
@ -59,9 +50,7 @@
"name": "wasm",
"displayName": "WebAssembly (Clang)",
"inherits": "iacore-base",
"cacheVariables": {
"VCPKG_TARGET_TRIPLET": "wasm32-emscripten"
}
"cacheVariables": {}
}
],
"buildPresets": [

View File

@ -24,7 +24,7 @@ target_include_directories(IACore PRIVATE imp/hpp/)
target_link_libraries(IACore PUBLIC
hwy
ZLIB::ZLIB
zlib
zstd::libzstd
tl::expected
glaze::glaze
@ -78,7 +78,7 @@ if(IACORE_ARCH_X64)
if(MSVC)
target_compile_options(IACore INTERFACE /arch:AVX2)
else()
target_compile_options(IACore INTERFACE -mavx2 -mfma -mpclmul -maes -mbmi)
target_compile_options(IACore INTERFACE -mavx2 -mfma -mpclmul -maes -mbmi -mbmi2)
endif()
target_compile_definitions(IACore INTERFACE HWY_BASELINE_TARGETS=HWY_AVX2)
elseif(IACORE_ARCH_ARM64)

View File

@ -1,10 +0,0 @@
{
"name": "iacore",
"version": "0.1.0",
"builtin-baseline": "37dcabc43809a960f41758e00e615cc6e26e8bbf",
"dependencies": [
"openssl",
"zstd",
"zlib"
]
}