From 8a417e1ec217ef9cc96f33638ae009a888b128f2 Mon Sep 17 00:00:00 2001 From: dev0 Date: Fri, 26 Dec 2025 01:38:21 +0530 Subject: [PATCH] [BUILDSYS]: Update CMake Triplet and Toolchain Naming --- .github/workflows/ci.yaml | 2 +- CMake/FindDeps.cmake | 3 ++ ...ux-arm64.cmake => arm64-linux-clang.cmake} | 0 ...-arm64.cmake => arm64-windows-clang.cmake} | 0 ...sm.cmake => wasm32-emscripten-clang.cmake} | 0 ...{linux-x64.cmake => x64-linux-clang.cmake} | 0 .../{windows-x64.cmake => x64-windows.cmake} | 0 ...ux-arm64-clang.cmake => arm64-linux.cmake} | 2 +- ...-arm64-clang.cmake => arm64-windows.cmake} | 2 +- ...en-clang.cmake => wasm32-emscripten.cmake} | 2 +- ...{linux-x64-clang.cmake => x64-linux.cmake} | 2 +- ...dows-x64-clang.cmake => x64-windows.cmake} | 2 +- CMakePresets.json | 48 +++++++++---------- Src/IACore/CMakeLists.txt | 2 +- 14 files changed, 34 insertions(+), 31 deletions(-) rename CMake/Toolchains/{linux-arm64.cmake => arm64-linux-clang.cmake} (100%) rename CMake/Toolchains/{windows-arm64.cmake => arm64-windows-clang.cmake} (100%) rename CMake/Toolchains/{wasm.cmake => wasm32-emscripten-clang.cmake} (100%) rename CMake/Toolchains/{linux-x64.cmake => x64-linux-clang.cmake} (100%) rename CMake/Toolchains/{windows-x64.cmake => x64-windows.cmake} (100%) rename CMake/Triplets/{linux-arm64-clang.cmake => arm64-linux.cmake} (89%) rename CMake/Triplets/{windows-arm64-clang.cmake => arm64-windows.cmake} (90%) rename CMake/Triplets/{wasm32-emscripten-clang.cmake => wasm32-emscripten.cmake} (86%) rename CMake/Triplets/{linux-x64-clang.cmake => x64-linux.cmake} (89%) rename CMake/Triplets/{windows-x64-clang.cmake => x64-windows.cmake} (88%) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 60e1914..be52194 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - target: [linux-x64] + target: [x64-linux] steps: - uses: actions/checkout@v4 diff --git a/CMake/FindDeps.cmake b/CMake/FindDeps.cmake index e1fb14d..757104a 100644 --- a/CMake/FindDeps.cmake +++ b/CMake/FindDeps.cmake @@ -100,3 +100,6 @@ 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) + +get_target_property(HWY_INCLUDE_DIRS hwy INTERFACE_INCLUDE_DIRECTORIES) +target_include_directories(hwy SYSTEM INTERFACE ${HWY_INCLUDE_DIRS}) diff --git a/CMake/Toolchains/linux-arm64.cmake b/CMake/Toolchains/arm64-linux-clang.cmake similarity index 100% rename from CMake/Toolchains/linux-arm64.cmake rename to CMake/Toolchains/arm64-linux-clang.cmake diff --git a/CMake/Toolchains/windows-arm64.cmake b/CMake/Toolchains/arm64-windows-clang.cmake similarity index 100% rename from CMake/Toolchains/windows-arm64.cmake rename to CMake/Toolchains/arm64-windows-clang.cmake diff --git a/CMake/Toolchains/wasm.cmake b/CMake/Toolchains/wasm32-emscripten-clang.cmake similarity index 100% rename from CMake/Toolchains/wasm.cmake rename to CMake/Toolchains/wasm32-emscripten-clang.cmake diff --git a/CMake/Toolchains/linux-x64.cmake b/CMake/Toolchains/x64-linux-clang.cmake similarity index 100% rename from CMake/Toolchains/linux-x64.cmake rename to CMake/Toolchains/x64-linux-clang.cmake diff --git a/CMake/Toolchains/windows-x64.cmake b/CMake/Toolchains/x64-windows.cmake similarity index 100% rename from CMake/Toolchains/windows-x64.cmake rename to CMake/Toolchains/x64-windows.cmake diff --git a/CMake/Triplets/linux-arm64-clang.cmake b/CMake/Triplets/arm64-linux.cmake similarity index 89% rename from CMake/Triplets/linux-arm64-clang.cmake rename to CMake/Triplets/arm64-linux.cmake index ac00af1..d9ff78a 100644 --- a/CMake/Triplets/linux-arm64-clang.cmake +++ b/CMake/Triplets/arm64-linux.cmake @@ -6,4 +6,4 @@ 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/linux-arm64.cmake") +set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../Toolchains/arm64-linux-clang.cmake") diff --git a/CMake/Triplets/windows-arm64-clang.cmake b/CMake/Triplets/arm64-windows.cmake similarity index 90% rename from CMake/Triplets/windows-arm64-clang.cmake rename to CMake/Triplets/arm64-windows.cmake index 713fef5..02370ee 100644 --- a/CMake/Triplets/windows-arm64-clang.cmake +++ b/CMake/Triplets/arm64-windows.cmake @@ -8,4 +8,4 @@ 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/windows-arm64.cmake") \ No newline at end of file +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-clang.cmake b/CMake/Triplets/wasm32-emscripten.cmake similarity index 86% rename from CMake/Triplets/wasm32-emscripten-clang.cmake rename to CMake/Triplets/wasm32-emscripten.cmake index 6498e2c..eddf265 100644 --- a/CMake/Triplets/wasm32-emscripten-clang.cmake +++ b/CMake/Triplets/wasm32-emscripten.cmake @@ -6,4 +6,4 @@ 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/wasm.cmake") +set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../Toolchains/wasm32-emscripten-clang.cmake") diff --git a/CMake/Triplets/linux-x64-clang.cmake b/CMake/Triplets/x64-linux.cmake similarity index 89% rename from CMake/Triplets/linux-x64-clang.cmake rename to CMake/Triplets/x64-linux.cmake index fea043b..b1af845 100644 --- a/CMake/Triplets/linux-x64-clang.cmake +++ b/CMake/Triplets/x64-linux.cmake @@ -6,4 +6,4 @@ 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/linux-x64.cmake") \ No newline at end of file +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/windows-x64-clang.cmake b/CMake/Triplets/x64-windows.cmake similarity index 88% rename from CMake/Triplets/windows-x64-clang.cmake rename to CMake/Triplets/x64-windows.cmake index 7db4462..531c3ee 100644 --- a/CMake/Triplets/windows-x64-clang.cmake +++ b/CMake/Triplets/x64-windows.cmake @@ -6,4 +6,4 @@ 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/windows-x64.cmake") +set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../Toolchains/x64-windows-clang.cmake") diff --git a/CMakePresets.json b/CMakePresets.json index ab286b3..b0a35b0 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -6,7 +6,7 @@ }, "configurePresets": [ { - "name": "base-common", + "name": "iacore-base", "hidden": true, "generator": "Ninja Multi-Config", "binaryDir": "${sourceDir}/out/build/${presetName}", @@ -16,41 +16,41 @@ "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}.cmake" + "VCPKG_CHAINLOAD_TOOLCHAIN_FILE": "${sourceDir}/CMake/Toolchains/${presetName}-clang.cmake" } }, { - "name": "linux-x64", + "name": "x64-linux", "displayName": "Linux x64 (Clang)", - "inherits": "base-common", + "inherits": "iacore-base", "cacheVariables": { - "VCPKG_TARGET_TRIPLET": "linux-x64-clang" + "VCPKG_TARGET_TRIPLET": "x64-linux" } }, { - "name": "linux-arm64", + "name": "arm64-linux", "displayName": "Linux ARM64 (Clang Cross)", - "inherits": "base-common", + "inherits": "iacore-base", "cacheVariables": { - "VCPKG_TARGET_TRIPLET": "linux-arm64-clang" + "VCPKG_TARGET_TRIPLET": "arm64-linux" } }, { - "name": "windows-x64", + "name": "x64-windows", "displayName": "Windows x64 (Clang)", - "inherits": "base-common", + "inherits": "iacore-base", "cacheVariables": { - "VCPKG_TARGET_TRIPLET": "windows-x64-clang", + "VCPKG_TARGET_TRIPLET": "x64-windows", "CMAKE_C_COMPILER": "clang-cl", "CMAKE_CXX_COMPILER": "clang-cl" } }, { - "name": "windows-arm64", + "name": "arm64-windows", "displayName": "Windows ARM64 (Clang Cross)", - "inherits": "base-common", + "inherits": "iacore-base", "cacheVariables": { - "VCPKG_TARGET_TRIPLET": "windows-arm64-clang", + "VCPKG_TARGET_TRIPLET": "arm64-windows", "CMAKE_C_COMPILER": "clang-cl", "CMAKE_CXX_COMPILER": "clang-cl" } @@ -58,28 +58,28 @@ { "name": "wasm", "displayName": "WebAssembly (Clang)", - "inherits": "base-common", + "inherits": "iacore-base", "cacheVariables": { - "VCPKG_TARGET_TRIPLET": "wasm32-emscripten-clang" + "VCPKG_TARGET_TRIPLET": "wasm32-emscripten" } } ], "buildPresets": [ { - "name": "linux-x64", - "configurePreset": "linux-x64" + "name": "x64-linux", + "configurePreset": "x64-linux" }, { - "name": "linux-arm64", - "configurePreset": "linux-arm64" + "name": "arm64-linux", + "configurePreset": "arm64-linux" }, { - "name": "windows-x64", - "configurePreset": "windows-x64" + "name": "x64-windows", + "configurePreset": "x64-windows" }, { - "name": "windows-arm64", - "configurePreset": "windows-arm64" + "name": "arm64-windows", + "configurePreset": "arm64-windows" }, { "name": "wasm", diff --git a/Src/IACore/CMakeLists.txt b/Src/IACore/CMakeLists.txt index 6ef8ce9..3390214 100644 --- a/Src/IACore/CMakeLists.txt +++ b/Src/IACore/CMakeLists.txt @@ -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) + target_compile_options(IACore INTERFACE -mavx2 -mfma -mpclmul -maes -mbmi) endif() target_compile_definitions(IACore INTERFACE HWY_BASELINE_TARGETS=HWY_AVX2) elseif(IACORE_ARCH_ARM64)