From a11f0359e2c44b04899abb68539fedfb0b715792 Mon Sep 17 00:00:00 2001 From: dev0 Date: Fri, 26 Dec 2025 02:38:35 +0530 Subject: [PATCH] [BUILDSYS]: Remove VCPKG --- CMake/FindDeps.cmake | 40 ++++++++++++++++++++++---- CMake/Triplets/arm64-linux.cmake | 9 ------ CMake/Triplets/arm64-windows.cmake | 11 ------- CMake/Triplets/wasm32-emscripten.cmake | 9 ------ CMake/Triplets/x64-linux.cmake | 9 ------ CMake/Triplets/x64-windows.cmake | 9 ------ CMakeLists.txt | 11 +------ CMakePresets.json | 19 +++--------- Src/IACore/CMakeLists.txt | 4 +-- vcpkg.json | 10 ------- 10 files changed, 42 insertions(+), 89 deletions(-) delete mode 100644 CMake/Triplets/arm64-linux.cmake delete mode 100644 CMake/Triplets/arm64-windows.cmake delete mode 100644 CMake/Triplets/wasm32-emscripten.cmake delete mode 100644 CMake/Triplets/x64-linux.cmake delete mode 100644 CMake/Triplets/x64-windows.cmake delete mode 100644 vcpkg.json diff --git a/CMake/FindDeps.cmake b/CMake/FindDeps.cmake index 757104a..106526b 100644 --- a/CMake/FindDeps.cmake +++ b/CMake/FindDeps.cmake @@ -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}) diff --git a/CMake/Triplets/arm64-linux.cmake b/CMake/Triplets/arm64-linux.cmake deleted file mode 100644 index d9ff78a..0000000 --- a/CMake/Triplets/arm64-linux.cmake +++ /dev/null @@ -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") diff --git a/CMake/Triplets/arm64-windows.cmake b/CMake/Triplets/arm64-windows.cmake deleted file mode 100644 index 02370ee..0000000 --- a/CMake/Triplets/arm64-windows.cmake +++ /dev/null @@ -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") \ No newline at end of file diff --git a/CMake/Triplets/wasm32-emscripten.cmake b/CMake/Triplets/wasm32-emscripten.cmake deleted file mode 100644 index eddf265..0000000 --- a/CMake/Triplets/wasm32-emscripten.cmake +++ /dev/null @@ -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") diff --git a/CMake/Triplets/x64-linux.cmake b/CMake/Triplets/x64-linux.cmake deleted file mode 100644 index b1af845..0000000 --- a/CMake/Triplets/x64-linux.cmake +++ /dev/null @@ -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") \ No newline at end of file diff --git a/CMake/Triplets/x64-windows.cmake b/CMake/Triplets/x64-windows.cmake deleted file mode 100644 index 531c3ee..0000000 --- a/CMake/Triplets/x64-windows.cmake +++ /dev/null @@ -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") diff --git a/CMakeLists.txt b/CMakeLists.txt index 14a42bb..8a6d833 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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}") diff --git a/CMakePresets.json b/CMakePresets.json index b0a35b0..b6f69a7 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -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": [ diff --git a/Src/IACore/CMakeLists.txt b/Src/IACore/CMakeLists.txt index 3390214..0cab1a5 100644 --- a/Src/IACore/CMakeLists.txt +++ b/Src/IACore/CMakeLists.txt @@ -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) diff --git a/vcpkg.json b/vcpkg.json deleted file mode 100644 index b595572..0000000 --- a/vcpkg.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "iacore", - "version": "0.1.0", - "builtin-baseline": "37dcabc43809a960f41758e00e615cc6e26e8bbf", - "dependencies": [ - "openssl", - "zstd", - "zlib" - ] -} \ No newline at end of file