diff --git a/.claude/settings.local.json b/.claude/settings.local.json index ef7c563..889148e 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -10,9 +10,10 @@ "mcp__serena__write_memory", "mcp__serena__search_for_pattern", "mcp__context7__resolve-library-id", - "mcp__context7__get-library-docs" + "mcp__context7__get-library-docs", + "Bash(wc -l:*)" ], "deny": [], "ask": [] } -} \ No newline at end of file +} diff --git a/README.md b/README.md index 23313fa..4360c46 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,90 @@ +Win11 打包流程(生成适用于 Win7 的静态版) + 1. 进入 VS 2022 开发者命令行 + 打开“x64 Native Tools Command Prompt for VS 2022”(或在 PowerShell 中执行 cmd.exe /k + "\vcvars64.bat" 并在新开的 CMD 中操作)。 + + 2. 安装/更新 Pixi 静态环境依赖 + ```bat + C:\Users\sladr\.pixi\bin\pixi.exe install -e static + ``` + + 3. 清理旧的构建目录(可选但推荐) + ```bat + rmdir /s /q build\win-static + ``` + + 4. 配置静态工程(目标 Win7) + ```bat + C:\Users\sladr\.pixi\bin\pixi.exe run -e static cmake ^ + -G "Visual Studio 17 2022" -A x64 ^ + -S . -B build\win-static ^ + -DWIN32_WINNT=0x0601 ^ + -DBUILD_STATIC=ON -DBUILD_SHARED_LIBS=OFF ^ + -DCMAKE_BUILD_TYPE=Release + ``` + + 5. 编译 Release 可执行文件 + ```bat + C:\Users\sladr\.pixi\bin\pixi.exe run -e static cmake --build build\win-static --config Release + ``` + + 6. (可选)安装到 Pixi 环境 bin + ```bat + C:\Users\sladr\.pixi\bin\pixi.exe run -e static cmake --install build\win-static --config Release + ``` + + 7. 产物位置 + • 未安装:build\win-static\Release\STP2GLB.exe + • 安装后:.pixi\envs\static\Library\bin\STP2GLB.exe + + ────────────────────────────────────────── + + Win7 打包流程(直接在 Win7 上构建) + + 前提:Win7 SP1 + VS 2019/2022(带 MSVC v142/v143),安装 Pixi,并确保 SDK/工具链支持 VS 构建。 + + 1. 使用已配置好的 VS 开发者命令行 + 启动 Win7 上的 “x64 Native Tools Command Prompt”,保证 cl.exe 和 cmake 可用。 + + 2. 安装 Pixi 静态环境依赖 + ```bat + C:\Users\sladr\.pixi\bin\pixi.exe install -e static + ``` + + 3. 清理旧目录 + ```bat + rmdir /s /q build\win-static + ``` + + 4. 配置工程(同样指定 Win7) + ```bat + C:\Users\sladr\.pixi\bin\pixi.exe run -e static cmake ^ + -G "Visual Studio 17 2022" -A x64 ^ + -S . -B build\win-static ^ + -DWIN32_WINNT=0x0601 ^ + -DBUILD_STATIC=ON -DBUILD_SHARED_LIBS=OFF ^ + -DCMAKE_BUILD_TYPE=Release + ``` + + 5. 编译 Release + ```bat + C:\Users\sladr\.pixi\bin\pixi.exe run -e static cmake --build build\win-static --config Release + ``` + + 6. (可选)安装 + ```bat + C:\Users\sladr\.pixi\bin\pixi.exe run -e static cmake --install build\win-static --config Release + ``` + + 7. 产物位置 + 同 Win11 流程,产物可执行文件位于构建目录或安装后的 Pixi 环境 bin 目录。 + + ────────────────────────────────────────── + + 注意事项 + • 每次变更代码后建议在 Win11 构建并将 STP2GLB.exe 拷贝到 Win7 实机进行实际验证。 + • 若在 Win7 上本地构建,需确保 VS 工具链与 Windows SDK 在该机器上完整可用;否则可在 Win11 + 构建后直接拷贝二进制。 # Stp2Glb ## Usage diff --git a/STP2GLB.exe b/STP2GLB.exe index 8a49a4a..55ecd22 100644 Binary files a/STP2GLB.exe and b/STP2GLB.exe differ diff --git a/__pycache__/main.cpython-311.pyc b/__pycache__/main.cpython-311.pyc new file mode 100644 index 0000000..e70edb4 Binary files /dev/null and b/__pycache__/main.cpython-311.pyc differ diff --git a/aa.glb b/aa.glb deleted file mode 100644 index fd430c1..0000000 Binary files a/aa.glb and /dev/null differ diff --git a/cmake/deps_cgal.cmake b/cmake/deps_cgal.cmake index e1af14e..4e377c7 100644 --- a/cmake/deps_cgal.cmake +++ b/cmake/deps_cgal.cmake @@ -1,4 +1,7 @@ # Find CGAL +if(NOT CGAL_DIR) +#set(CGAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/.pixi/envs/static/Library/cmake/CGAL" CACHE PATH "Path to CGAL installation") +endif() find_package(CGAL REQUIRED) if (CGAL_FOUND) diff --git a/dragon_drc.glb b/dragon_drc.glb deleted file mode 100644 index 4639d49..0000000 Binary files a/dragon_drc.glb and /dev/null differ diff --git a/gltfpack.exe b/gltfpack.exe new file mode 100644 index 0000000..481c7cb Binary files /dev/null and b/gltfpack.exe differ diff --git a/main.py b/main.py index 70d4925..b7f4ae6 100644 --- a/main.py +++ b/main.py @@ -264,4 +264,4 @@ def main(): if __name__ == '__main__': - sys.exit(main()) \ No newline at end of file + sys.exit(main()) diff --git a/output5-log.json b/output5-log.json new file mode 100644 index 0000000..0d4f101 --- /dev/null +++ b/output5-log.json @@ -0,0 +1,2 @@ +[ +] diff --git a/output6-log.json b/output6-log.json new file mode 100644 index 0000000..0d4f101 --- /dev/null +++ b/output6-log.json @@ -0,0 +1,2 @@ +[ +] diff --git a/pixi.lock b/pixi.lock index f92baf7..bef6774 100644 --- a/pixi.lock +++ b/pixi.lock @@ -26,7 +26,48 @@ environments: channels: - url: https://repo.prefix.dev/adapy-tools/ - url: https://conda.anaconda.org/conda-forge/ - packages: {} + packages: + linux-64: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cgal-cpp-5.6.1-hd557e15_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/eigen-3.4.0-h171cf75_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.86.0-hed09d94_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-devel-1.86.0-hfcd1e18_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-headers-1.86.0-ha770c72_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-h4852527_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h90cbb55_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda + win-64: + - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-2_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_8.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cgal-cpp-5.6.1-h31bd75c_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/eigen-3.4.0-h477610d_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gmp-6.3.0-hfeafd45_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.86.0-h9dfe17d_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-devel-1.86.0-h1c1089f_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-headers-1.86.0-h57928b3_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h1383e82_7.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h1383e82_7.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.1-h2466b09_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mpfr-4.2.1-hbc20e70_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h2b53caa_32.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_32.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_32.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-hbeecb71_2.conda dynamic: channels: - url: https://repo.prefix.dev/adapy-tools/ @@ -589,9 +630,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.4-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-compiler-1.9.0-h2b85faf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.12.14-hbcca054_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cgal-cpp-5.6.1-hd557e15_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cli11-2.4.2-h5888daf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-3.30.5-hf9cb763_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cxx-compiler-1.9.0-h1a2810e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/eigen-3.4.0-h171cf75_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 @@ -604,9 +647,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-13.3.0-h9576a4e_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-13.3.0-hfea6d02_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-13.3.0-hc28eda2_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-13.3.0-h9576a4e_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-13.3.0-hdbfa832_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-13.3.0-h6834431_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/imath-3.1.12-h7955e40_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-hd590300_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-3.10.0-he073ed8_18.conda @@ -615,6 +660,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.16-hb7c19ff_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.86.0-h6c02f8c_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-devel-1.86.0-h1a2810e_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-headers-1.86.0-ha770c72_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.11.1-h332b0f4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.23-h4ddbbb0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20240808-pl5321h7949ede_0.conda @@ -642,9 +690,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.50.0-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.5.0-h851e524_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.5-h0d44e9d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.5-h8d12d68_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lld-19.1.7-ha85224e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h90cbb55_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ninja-1.12.1-h297d8ca_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.11.3-he02047a_1.conda @@ -668,10 +717,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-tools-5.6.3-hb9d3cd8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.6-ha6fb4c9_0.conda win-64: + - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-2_gnu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2024.12.14-h56e8100_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cgal-cpp-5.6.1-h31bd75c_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cli11-2.4.2-he0c23c2_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cmake-3.30.5-h400e5d1_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/eigen-3.4.0-h91493d7_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 @@ -681,14 +733,20 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/freeimage-3.18.0-h8310ca0_22.conda - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.12.1-hdaf720e_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gmp-6.3.0-hfeafd45_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/imath-3.1.12-hbb528cf_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/jxrlib-1.1-hcfcfb64_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.21.3-hdf4eb48_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.16-h67d730c_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.0.0-h63175ca_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.86.0-hb0986bb_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-devel-1.86.0-h91493d7_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-headers-1.86.0-h57928b3_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.11.1-h88aaa65_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.23-h9062f6e_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.6.4-he0c23c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h1383e82_7.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h1383e82_7.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.17-hcfcfb64_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.0.0-hcfcfb64_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.6.3-h2466b09_1.conda @@ -699,7 +757,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.0-h797046b_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libuv-1.50.0-h2466b09_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.5.0-h3b0e114_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mpfr-4.2.1-hbc20e70_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ninja-1.12.1-hc790b64_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/nlohmann_json-3.11.3-he0c23c2_1.conda - conda: https://repo.prefix.dev/adapy-tools/win-64/occt-7.8.1-static_novtk_nofreeimage_h49e36cd_3.conda @@ -768,8 +828,6 @@ packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 md5: d7c89558ba9fa0495403155b64376d81 - arch: x86_64 - platform: linux license: None size: 2562 timestamp: 1578324546067 @@ -782,8 +840,6 @@ packages: - libgomp >=7.5.0 constrains: - openmp_impl 9999 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD size: 23621 @@ -798,8 +854,6 @@ packages: constrains: - openmp_impl 9999 - msys2-conda-epoch <0.0a0 - arch: x86_64 - platform: win license: BSD-3-Clause license_family: BSD size: 49468 @@ -809,8 +863,6 @@ packages: md5: 348619f90eee04901f4a70615efff35b depends: - binutils_impl_linux-64 >=2.43,<2.44.0a0 - arch: x86_64 - platform: linux license: GPL-3.0-only license_family: GPL size: 33876 @@ -821,8 +873,6 @@ packages: depends: - ld_impl_linux-64 2.43 h712a8e2_2 - sysroot_linux-64 - arch: x86_64 - platform: linux license: GPL-3.0-only license_family: GPL size: 5682777 @@ -842,8 +892,6 @@ packages: md5: 18aba879ddf1f8f28145ca6fcb873d8c depends: - binutils_impl_linux-64 2.43 h4bf12b8_2 - arch: x86_64 - platform: linux license: GPL-3.0-only license_family: GPL size: 34945 @@ -863,12 +911,31 @@ packages: depends: - __glibc >=2.17,<3.0.a0 - libgcc-ng >=12 - arch: x86_64 - platform: linux license: bzip2-1.0.6 license_family: BSD size: 252783 timestamp: 1720974456583 +- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda + sha256: c30daba32ddebbb7ded490f0e371eae90f51e72db620554089103b4a6934b0d5 + md5: 51a19bba1b8ebfb60df25cde030b7ebc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: bzip2-1.0.6 + license_family: BSD + size: 260341 + timestamp: 1757437258798 +- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_8.conda + sha256: d882712855624641f48aa9dc3f5feea2ed6b4e6004585d3616386a18186fe692 + md5: 1077e9333c41ff0be8edd1a5ec0ddace + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: bzip2-1.0.6 + license_family: BSD + size: 55977 + timestamp: 1757437738856 - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h2466b09_7.conda sha256: 35a5dad92e88fdd7fc405e864ec239486f4f31eec229e31686e61a140a8e573b md5: 276e7ffe9ffe39688abc665ef0f45596 @@ -876,8 +943,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: bzip2-1.0.6 license_family: BSD size: 54927 @@ -888,8 +953,6 @@ packages: depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - arch: x86_64 - platform: linux license: MIT license_family: MIT size: 206085 @@ -901,8 +964,6 @@ packages: - binutils - gcc - gcc_linux-64 13.* - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD size: 6196 @@ -912,8 +973,6 @@ packages: md5: 7d9b49b7ef31f9a23bdbc7ea0dd9996e depends: - vs2019_win-64 - arch: x86_64 - platform: win license: BSD-3-Clause license_family: BSD size: 6481 @@ -921,16 +980,12 @@ packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.12.14-hbcca054_0.conda sha256: 1afd7274cbc9a334d6d0bc62fa760acc7afdaceb0b91a8df370ec01fd75dc7dd md5: 720523eb0d6a9b0f6120c16b2aa4e7de - arch: x86_64 - platform: linux license: ISC size: 157088 timestamp: 1734208393264 - conda: https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2024.12.14-h56e8100_0.conda sha256: 424d82db36cd26234bc4772426170efd60e888c2aed0099a257a95e131683a5e md5: cb2eaeb88549ddb27af533eccf9a45c1 - arch: x86_64 - platform: win license: ISC size: 157422 timestamp: 1734208404685 @@ -958,8 +1013,6 @@ packages: - libgcc-ng >=12 - libstdcxx-ng >=12 - mpfr >=4.2.1,<5.0a0 - arch: x86_64 - platform: linux license: GPL3/LGPL3 size: 5749053 timestamp: 1724405951194 @@ -974,8 +1027,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: GPL3/LGPL3 size: 5802544 timestamp: 1724406386285 @@ -986,8 +1037,6 @@ packages: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - libstdcxx >=13 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD size: 84251 @@ -999,8 +1048,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: BSD-3-Clause license_family: BSD size: 84465 @@ -1021,8 +1068,6 @@ packages: - rhash >=1.4.4,<2.0a0 - xz >=5.2.6,<6.0a0 - zstd >=1.5.6,<1.6.0a0 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD size: 19606674 @@ -1040,8 +1085,6 @@ packages: - vc14_runtime >=14.29.30139 - xz >=5.2.6,<6.0a0 - zstd >=1.5.6,<1.6.0a0 - arch: x86_64 - platform: win license: BSD-3-Clause license_family: BSD size: 14357142 @@ -1062,8 +1105,6 @@ packages: - c-compiler 1.9.0 h2b85faf_0 - gxx - gxx_linux-64 13.* - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD size: 6168 @@ -1073,8 +1114,6 @@ packages: md5: 6c4b643c7dd8f13dafc8679ffc5671eb depends: - vs2019_win-64 - arch: x86_64 - platform: win license: BSD-3-Clause license_family: BSD size: 6528 @@ -1085,12 +1124,35 @@ packages: depends: - libgcc-ng >=12 - libstdcxx-ng >=12 - arch: x86_64 - platform: linux license: MPL-2.0 license_family: MOZILLA size: 1088433 timestamp: 1690272126173 +- conda: https://conda.anaconda.org/conda-forge/linux-64/eigen-3.4.0-h171cf75_1.conda + sha256: fee3738c2431c13f4930778e9d7daca9328e7e2f2a38928cf6ca5a0daa86474a + md5: ea2db216eae84bc83b0b2961f38f5c0d + depends: + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: MPL-2.0 + license_family: MOZILLA + size: 1169164 + timestamp: 1759819831835 +- conda: https://conda.anaconda.org/conda-forge/win-64/eigen-3.4.0-h477610d_1.conda + sha256: 39d6fa1245ef8c226ff3e485e947770e3b9c7d65fed6c42bd297e2b218b4ddab + md5: 8ac3430db715982d054a004133ae8ae2 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: MPL-2.0 + license_family: MOZILLA + size: 1166663 + timestamp: 1759819842269 - conda: https://conda.anaconda.org/conda-forge/win-64/eigen-3.4.0-h91493d7_0.conda sha256: 633a6a8db1f9a010cb0619f3446fb61f62dea348b09615ffae9744ab1001c24c md5: 305b3ca7023ac046b9a42a48661f6512 @@ -1098,8 +1160,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: MPL-2.0 license_family: MOZILLA size: 1089706 @@ -1257,8 +1317,6 @@ packages: md5: 606924335b5bcdf90e9aed9a2f5d22ed depends: - gcc_impl_linux-64 13.3.0.* - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD size: 53864 @@ -1274,8 +1332,6 @@ packages: - libsanitizer 13.3.0 heb74ff8_1 - libstdcxx >=13.3.0 - sysroot_linux-64 - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL size: 67464415 @@ -1301,8 +1357,6 @@ packages: - binutils_linux-64 - gcc_impl_linux-64 13.3.0.* - sysroot_linux-64 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD size: 32005 @@ -1335,8 +1389,6 @@ packages: depends: - libgcc-ng >=12 - libstdcxx-ng >=12 - arch: x86_64 - platform: linux license: GPL-2.0-or-later OR LGPL-3.0-or-later size: 460055 timestamp: 1718980856608 @@ -1349,8 +1401,6 @@ packages: - ucrt >=10.0.20348.0 constrains: - mpir <0.0a0 - arch: x86_64 - platform: win license: GPL-2.0-or-later OR LGPL-3.0-or-later size: 567053 timestamp: 1718982076982 @@ -1360,8 +1410,6 @@ packages: depends: - gcc 13.3.0.* - gxx_impl_linux-64 13.3.0.* - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD size: 53338 @@ -1374,8 +1422,6 @@ packages: - libstdcxx-devel_linux-64 13.3.0 h84ea5a7_101 - sysroot_linux-64 - tzdata - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL size: 13337720 @@ -1400,8 +1446,6 @@ packages: - gcc_linux-64 13.3.0 hc28eda2_7 - gxx_impl_linux-64 13.3.0.* - sysroot_linux-64 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD size: 30356 @@ -1457,8 +1501,6 @@ packages: - __glibc >=2.17,<3.0.a0 - libgcc-ng >=12 - libstdcxx-ng >=12 - arch: x86_64 - platform: linux license: MIT license_family: MIT size: 12129203 @@ -1622,8 +1664,6 @@ packages: md5: 30186d27e2c9fa62b45fb1476b7200e3 depends: - libgcc-ng >=10.3.0 - arch: x86_64 - platform: linux license: LGPL-2.1-or-later size: 117831 timestamp: 1646151697040 @@ -1637,8 +1677,6 @@ packages: - libgcc-ng >=12 - libstdcxx-ng >=12 - openssl >=3.3.1,<4.0a0 - arch: x86_64 - platform: linux license: MIT license_family: MIT size: 1370023 @@ -1651,8 +1689,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: MIT license_family: MIT size: 712034 @@ -1688,8 +1724,6 @@ packages: - __glibc >=2.17,<3.0.a0 constrains: - binutils_impl_linux-64 2.43 - arch: x86_64 - platform: linux license: GPL-3.0-only license_family: GPL size: 669211 @@ -1790,11 +1824,43 @@ packages: - zstd >=1.5.6,<1.6.0a0 constrains: - boost-cpp <0.0a0 - arch: x86_64 - platform: linux license: BSL-1.0 size: 2946990 timestamp: 1733501899743 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.86.0-hed09d94_4.conda + sha256: 2e9778d8c3bbc6e7698fd87a1499a68ca1f02be37f6aaefa7541eb2728ffbff3 + md5: b708abf3b6a0f3cf2f833d2edf18aff0 + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - icu >=75.1,<76.0a0 + - libgcc >=14 + - liblzma >=5.8.1,<6.0a0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - boost-cpp <0.0a0 + license: BSL-1.0 + size: 2959099 + timestamp: 1756549412040 +- conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.86.0-h9dfe17d_4.conda + sha256: bdb6cf6a93598887573a0204ee231ed1983bafcfc0615fcfab5d9b77593f4916 + md5: 1c2e1421ebb270e70163c63e39345795 + depends: + - bzip2 >=1.0.8,<2.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - boost-cpp <0.0a0 + license: BSL-1.0 + size: 2405772 + timestamp: 1756550774108 - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-1.86.0-hb0986bb_3.conda sha256: 0e1f19d03c2755f424321e0bebf3a62f864e084e812d172b3953e5215d4e4d36 md5: d0550e3c23e9e9885bf410fe6f519361 @@ -1809,8 +1875,6 @@ packages: - zstd >=1.5.6,<1.6.0a0 constrains: - boost-cpp <0.0a0 - arch: x86_64 - platform: win license: BSL-1.0 size: 2502049 timestamp: 1733503877084 @@ -1833,11 +1897,31 @@ packages: - libboost-headers 1.86.0 ha770c72_3 constrains: - boost-cpp <0.0a0 - arch: x86_64 - platform: linux license: BSL-1.0 size: 37554 timestamp: 1733502001252 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-devel-1.86.0-hfcd1e18_4.conda + sha256: 2301427eb210dd3b09ae335856385b040db82ea4ef6afbc92a1aa0d4947bfa9f + md5: 89014e9211890d097ea823f9a22451b3 + depends: + - libboost 1.86.0 hed09d94_4 + - libboost-headers 1.86.0 ha770c72_4 + constrains: + - boost-cpp <0.0a0 + license: BSL-1.0 + size: 38690 + timestamp: 1756549508060 +- conda: https://conda.anaconda.org/conda-forge/win-64/libboost-devel-1.86.0-h1c1089f_4.conda + sha256: b5cba7bc01c77fdaafc50368ab342c11e04086933c9e59ef8f99d3b48d05b72f + md5: 56ea32cc74d002e13b0daa2bd5ed9171 + depends: + - libboost 1.86.0 h9dfe17d_4 + - libboost-headers 1.86.0 h57928b3_4 + constrains: + - boost-cpp <0.0a0 + license: BSL-1.0 + size: 40798 + timestamp: 1756550980708 - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-devel-1.86.0-h91493d7_3.conda sha256: 604bbee4cc195b2ed745efc4bd9b3172c82ff1468ffbba25f6d0fc176b10b995 md5: 2e5f24412d1cebea7fd9f9a41ffc7a85 @@ -1846,8 +1930,6 @@ packages: - libboost-headers 1.86.0 h57928b3_3 constrains: - boost-cpp <0.0a0 - arch: x86_64 - platform: win license: BSL-1.0 size: 40415 timestamp: 1733504121541 @@ -1864,21 +1946,33 @@ packages: md5: be60ca34cfa7a867c2911506cad8f7c3 constrains: - boost-cpp <0.0a0 - arch: x86_64 - platform: linux license: BSL-1.0 size: 13991670 timestamp: 1733501914699 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-headers-1.86.0-ha770c72_4.conda + sha256: e9e3178ae39650b6f3b1c79d5380e205668628c30ac42c930b186bcd61c59aaf + md5: 1cc7035631f5e331e09e1c56b816f242 + constrains: + - boost-cpp <0.0a0 + license: BSL-1.0 + size: 14055378 + timestamp: 1756549426826 - conda: https://conda.anaconda.org/conda-forge/win-64/libboost-headers-1.86.0-h57928b3_3.conda sha256: 231042814cfdb494b63b2829ce832f352ff8bcb8cc10eef148db7c799c9c8c29 md5: 4bc32387538adb61353d76c629fb20e6 constrains: - boost-cpp <0.0a0 - arch: x86_64 - platform: win license: BSL-1.0 size: 14179084 timestamp: 1733503940017 +- conda: https://conda.anaconda.org/conda-forge/win-64/libboost-headers-1.86.0-h57928b3_4.conda + sha256: 39f07ccaa7a055b278fb1265a06fcd89ed8a7997bc67ae33d4e2965fd2f609ec + md5: 23dea6affffff8b1dd09797499269713 + constrains: + - boost-cpp <0.0a0 + license: BSL-1.0 + size: 14131226 + timestamp: 1756550831125 - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.9.0-8_mkl.tar.bz2 build_number: 8 sha256: badcc00849870297861a70c65484a0697ef9f1cdbe8d42cd363004ccdbd8923a @@ -1905,8 +1999,6 @@ packages: - libzlib >=1.3.1,<2.0a0 - openssl >=3.4.0,<4.0a0 - zstd >=1.5.6,<1.6.0a0 - arch: x86_64 - platform: linux license: curl license_family: MIT size: 423011 @@ -1921,8 +2013,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: curl license_family: MIT size: 349553 @@ -1956,8 +2046,6 @@ packages: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - ncurses >=6.5,<7.0a0 - arch: x86_64 - platform: linux license: BSD-2-Clause license_family: BSD size: 134657 @@ -1967,8 +2055,6 @@ packages: md5: 172bf1cd1ff8629f2b1179945ed45055 depends: - libgcc-ng >=12 - arch: x86_64 - platform: linux license: BSD-2-Clause license_family: BSD size: 112766 @@ -1981,8 +2067,6 @@ packages: - libgcc >=13 constrains: - expat 2.6.4.* - arch: x86_64 - platform: linux license: MIT license_family: MIT size: 73304 @@ -1996,8 +2080,6 @@ packages: - vc14_runtime >=14.29.30139 constrains: - expat 2.6.4.* - arch: x86_64 - platform: win license: MIT license_family: MIT size: 139068 @@ -2007,8 +2089,6 @@ packages: md5: d645c6d2ac96843a2bfaccd2d62b3ac3 depends: - libgcc-ng >=9.4.0 - arch: x86_64 - platform: linux license: MIT license_family: MIT size: 58292 @@ -2019,8 +2099,6 @@ packages: depends: - vc >=14.1,<15.0a0 - vs2015_runtime >=14.16.27012 - arch: x86_64 - platform: win license: MIT license_family: MIT size: 42063 @@ -2034,12 +2112,23 @@ packages: constrains: - libgomp 14.2.0 h77fa898_1 - libgcc-ng ==14.2.0=*_1 - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL size: 848745 timestamp: 1729027721139 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda + sha256: 08f9b87578ab981c7713e4e6a7d935e40766e10691732bba376d4964562bcb45 + md5: c0374badb3a5d4b1372db28d19462c53 + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + constrains: + - libgomp 15.2.0 h767d61c_7 + - libgcc-ng ==15.2.0=*_7 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 822552 + timestamp: 1759968052178 - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-14.2.0-h1383e82_1.conda sha256: ef840e797714440bb10b69446d815966fff41fdac79f79c4e19c475d81cd375d md5: 75fdd34824997a0f9950a703b15d8ac5 @@ -2050,12 +2139,24 @@ packages: - libgcc-ng ==14.2.0=*_1 - libgomp 14.2.0 h1383e82_1 - msys2-conda-epoch <0.0a0 - arch: x86_64 - platform: win license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL size: 666386 timestamp: 1729089506769 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h1383e82_7.conda + sha256: 174c4c75b03923ac755f227c96d956f7b4560a4b7dd83c0332709c50ff78450f + md5: 926a82fc4fa5b284b1ca1fb74f20dee2 + depends: + - _openmp_mutex >=4.5 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + constrains: + - msys2-conda-epoch <0.0a0 + - libgomp 15.2.0 h1383e82_7 + - libgcc-ng ==15.2.0=*_7 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 667897 + timestamp: 1759976063036 - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-13.3.0-h84ea5a7_101.conda sha256: 027cfb011328a108bc44f512a2dec6d954db85709e0b79b748c3392f85de0c64 md5: 0ce69d40c142915ac9734bc6134e514a @@ -2079,12 +2180,19 @@ packages: md5: e39480b9ca41323497b05492a63bc35b depends: - libgcc 14.2.0 h77fa898_1 - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL size: 54142 timestamp: 1729027726517 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda + sha256: 2045066dd8e6e58aaf5ae2b722fb6dfdbb57c862b5f34ac7bfb58c40ef39b6ad + md5: 280ea6eee9e2ddefde25ff799c4f0363 + depends: + - libgcc 15.2.0 h767d61c_7 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 29313 + timestamp: 1759968065504 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-14.2.0-h69a702a_1.conda sha256: fc9e7f22a17faf74da904ebfc4d88699013d2992e55505e4aa0eb01770290977 md5: f1fd30127802683586f768875127a987 @@ -2112,12 +2220,19 @@ packages: md5: cc3573974587f12dda90d96e3e55a702 depends: - _libgcc_mutex 0.1 conda_forge - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL size: 460992 timestamp: 1729027639220 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda + sha256: e9fb1c258c8e66ee278397b5822692527c5f5786d372fe7a869b900853f3f5ca + md5: f7b4d76975aac7e5d9e6ad13845f92fe + depends: + - __glibc >=2.17,<3.0.a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 447919 + timestamp: 1759967942498 - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-14.2.0-h1383e82_1.conda sha256: d8739b834608f35775209b032f0c2be752ef187863c7ec847afcebe2f681be4e md5: 9e2d4d1214df6f21cba12f6eff4972f9 @@ -2125,12 +2240,21 @@ packages: - libwinpthread >=12.0.0.r4.gg4f2fc60ca constrains: - msys2-conda-epoch <0.0a0 - arch: x86_64 - platform: win license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL size: 524249 timestamp: 1729089441747 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h1383e82_7.conda + sha256: b8b569a9d3ec8f13531c220d3ad8e1ff35c75902c89144872e7542a77cb8c10d + md5: 7f970a7f9801622add7746aa3cbc24d5 + depends: + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + constrains: + - msys2-conda-epoch <0.0a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 535898 + timestamp: 1759975963604 - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.11.2-default_h0d58e46_1001.conda sha256: d14c016482e1409ae1c50109a9ff933460a50940d2682e745ab1c172b5282a69 md5: 804ca9e91bcaea0824a341d55b1684f2 @@ -2139,8 +2263,6 @@ packages: - libgcc >=13 - libstdcxx >=13 - libxml2 >=2.13.4,<3.0a0 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD size: 2423200 @@ -2154,8 +2276,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: BSD-3-Clause license_family: BSD size: 2390021 @@ -2178,8 +2298,6 @@ packages: md5: d66573916ffcf376178462f1b61c941e depends: - libgcc-ng >=12 - arch: x86_64 - platform: linux license: LGPL-2.1-only size: 705775 timestamp: 1702682170569 @@ -2190,11 +2308,19 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: LGPL-2.1-only size: 636146 timestamp: 1702682547199 +- conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda + sha256: 0dcdb1a5f01863ac4e8ba006a8b0dc1a02d2221ec3319b5915a1863254d7efa7 + md5: 64571d1dd6cdcfa25d0664a5950fdaa2 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-only + size: 696926 + timestamp: 1754909290005 - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda sha256: b954e09b7e49c2f2433d6f3bb73868eda5e378278b0f8c1dd10a7ef090e14f2f md5: ea25936bb4080d843790b586850f82b8 @@ -2251,11 +2377,20 @@ packages: depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - arch: x86_64 - platform: linux license: 0BSD size: 111132 timestamp: 1733407410083 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + sha256: f2591c0069447bbe28d4d696b7fcb0c5bd0b4ac582769b89addbcf26fb3430d8 + md5: 1a580f7796c7bf6393fddb8bbbde58dc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - xz 5.8.1.* + license: 0BSD + size: 112894 + timestamp: 1749230047870 - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.6.3-h2466b09_1.conda sha256: 24d04bd55adfa44c421c99ce169df38cb1ad2bba5f43151bc847fc802496a1fa md5: 015b9c0bd1eef60729ab577a38aaf0b5 @@ -2263,11 +2398,21 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: 0BSD size: 104332 timestamp: 1733407872569 +- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.1-h2466b09_2.conda + sha256: 55764956eb9179b98de7cc0e55696f2eff8f7b83fc3ebff5e696ca358bca28cc + md5: c15148b2e18da456f5108ccb5e411446 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + constrains: + - xz 5.8.1.* + license: 0BSD + size: 104935 + timestamp: 1749230611612 - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-devel-5.6.3-hb9d3cd8_1.conda sha256: ca17f037a0a7137874597866a171166677e4812a9a8a853007f0f582e3ff6d1d md5: cc4687e1814ed459f3bd6d8e05251ab2 @@ -2275,8 +2420,6 @@ packages: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - liblzma 5.6.3 hb9d3cd8_1 - arch: x86_64 - platform: linux license: 0BSD size: 376794 timestamp: 1733407421190 @@ -2288,8 +2431,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: 0BSD size: 125790 timestamp: 1733407900270 @@ -2305,8 +2446,6 @@ packages: - libstdcxx >=13 - libzlib >=1.3.1,<2.0a0 - openssl >=3.3.2,<4.0a0 - arch: x86_64 - platform: linux license: MIT license_family: MIT size: 647599 @@ -2316,8 +2455,6 @@ packages: md5: 30fd6e37fe21f86f4bd26d6ee73eeec7 depends: - libgcc-ng >=12 - arch: x86_64 - platform: linux license: LGPL-2.1-only license_family: GPL size: 33408 @@ -2378,8 +2515,6 @@ packages: depends: - libgcc >=13.3.0 - libstdcxx >=13.3.0 - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL size: 4133922 @@ -2391,8 +2526,6 @@ packages: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - libzlib >=1.3.1,<2.0a0 - arch: x86_64 - platform: linux license: Unlicense size: 876582 timestamp: 1737123945341 @@ -2403,8 +2536,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: Unlicense size: 897200 timestamp: 1737124291192 @@ -2416,8 +2547,6 @@ packages: - libgcc >=13 - libzlib >=1.3.1,<2.0a0 - openssl >=3.4.0,<4.0a0 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD size: 304278 @@ -2431,8 +2560,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: BSD-3-Clause license_family: BSD size: 291889 @@ -2442,12 +2569,22 @@ packages: md5: 234a5554c53625688d51062645337328 depends: - libgcc 14.2.0 h77fa898_1 - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL size: 3893695 timestamp: 1729027746910 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h8f9b012_7.conda + sha256: 1b981647d9775e1cdeb2fab0a4dd9cd75a6b0de2963f6c3953dbd712f78334b3 + md5: 5b767048b1b3ee9a954b06f4084f93dc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc 15.2.0 h767d61c_7 + constrains: + - libstdcxx-ng ==15.2.0=*_7 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 3898269 + timestamp: 1759968103436 - conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-14.2.0-h904f734_1.conda sha256: 2f8bc873e65d31e6d856c67ffa75cc47927482d574b0dc6de62cbaec08b42905 md5: 2aab7962312970e6cdc998fd66f283a6 @@ -2481,12 +2618,19 @@ packages: md5: 8371ac6457591af2cf6159439c1fd051 depends: - libstdcxx 14.2.0 hc0a3c3a_1 - arch: x86_64 - platform: linux license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL size: 54105 timestamp: 1729027780628 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-h4852527_7.conda + sha256: 024fd46ac3ea8032a5ec3ea7b91c4c235701a8bf0e6520fe5e6539992a6bd05f + md5: f627678cf829bd70bccf141a19c3ad3e + depends: + - libstdcxx 15.2.0 h8f9b012_7 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 29343 + timestamp: 1759968157195 - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.0-hd9ff511_3.conda sha256: b224e16b88d76ea95e4af56e2bc638c603bd26a770b98d117d04541d3aafa002 md5: 0ea6510969e1296cc19966fad481f6de @@ -2525,8 +2669,6 @@ packages: md5: 40b61aab5c7ba9ff276c41cfffe6b80b depends: - libgcc-ng >=12 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD size: 33601 @@ -2537,8 +2679,6 @@ packages: depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - arch: x86_64 - platform: linux license: MIT license_family: MIT size: 891272 @@ -2550,8 +2690,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: MIT license_family: MIT size: 291944 @@ -2581,6 +2719,17 @@ packages: license_family: BSD size: 273661 timestamp: 1734777665516 +- conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda + sha256: 0fccf2d17026255b6e10ace1f191d0a2a18f2d65088fd02430be17c701f8ffe0 + md5: 8a86073cf3b343b87d03f41790d8b4e5 + depends: + - ucrt + constrains: + - pthreads-win32 <0.0a0 + - msys2-conda-epoch <0.0a0 + license: MIT AND BSD-3-Clause-Clear + size: 36621 + timestamp: 1759768399557 - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_9.conda sha256: 373f2973b8a358528b22be5e8d84322c165b4c5577d24d94fd67ad1bb0a0f261 md5: 08bfa5da6e242025304b206d152479ef @@ -2589,8 +2738,6 @@ packages: constrains: - pthreads-win32 <0.0a0 - msys2-conda-epoch <0.0a0 - arch: x86_64 - platform: win license: MIT AND BSD-3-Clause-Clear size: 35794 timestamp: 1737099561703 @@ -2612,26 +2759,9 @@ packages: md5: 5aa797f8787fe7a17d1b0821485b5adc depends: - libgcc-ng >=12 - arch: x86_64 - platform: linux license: LGPL-2.1-or-later size: 100393 timestamp: 1702724383534 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.5-h0d44e9d_1.conda - sha256: 306e18aa647d8208ad2cd0e62d84933222b2fbe93d2d53cd5283d2256b1d54de - md5: f5b05674697ae7d2c5932766695945e1 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libiconv >=1.17,<2.0a0 - - liblzma >=5.6.3,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - constrains: - - icu <0.0a0 - license: MIT - license_family: MIT - size: 689993 - timestamp: 1733443678322 - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.5-h8d12d68_1.conda sha256: c3b05bdc40d27a9249f0bb60f3f71718f94104b8bcd200163a6c9d4ade7aa052 md5: 1a21e49e190d1ffe58531a81b6e400e1 @@ -2642,8 +2772,6 @@ packages: - libiconv >=1.17,<2.0a0 - liblzma >=5.6.3,<6.0a0 - libzlib >=1.3.1,<2.0a0 - arch: x86_64 - platform: linux license: MIT license_family: MIT size: 690589 @@ -2670,8 +2798,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: MIT license_family: MIT size: 1612294 @@ -2684,8 +2810,6 @@ packages: - libgcc >=13 constrains: - zlib 1.3.1 *_2 - arch: x86_64 - platform: linux license: Zlib license_family: Other size: 60963 @@ -2699,8 +2823,6 @@ packages: - vc14_runtime >=14.29.30139 constrains: - zlib 1.3.1 *_2 - arch: x86_64 - platform: win license: Zlib license_family: Other size: 55476 @@ -2805,8 +2927,6 @@ packages: - __glibc >=2.17,<3.0.a0 - gmp >=6.3.0,<7.0a0 - libgcc >=13 - arch: x86_64 - platform: linux license: LGPL-3.0-only license_family: LGPL size: 634751 @@ -2831,8 +2951,6 @@ packages: - libgcc >=13 - libwinpthread >=12.0.0.r4.gg4f2fc60ca - ucrt >=10.0.20348.0 - arch: x86_64 - platform: win license: LGPL-3.0-only license_family: LGPL size: 654269 @@ -2851,8 +2969,6 @@ packages: depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - arch: x86_64 - platform: linux license: X11 AND BSD-3-Clause size: 894452 timestamp: 1736683239706 @@ -2862,8 +2978,6 @@ packages: depends: - libgcc-ng >=12 - libstdcxx-ng >=12 - arch: x86_64 - platform: linux license: Apache-2.0 license_family: Apache size: 2198858 @@ -2875,8 +2989,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: Apache-2.0 license_family: Apache size: 285150 @@ -2888,8 +3000,6 @@ packages: - __glibc >=2.17,<3.0.a0 - libgcc-ng >=12 - libstdcxx-ng >=12 - arch: x86_64 - platform: linux license: MIT license_family: MIT size: 122743 @@ -2901,8 +3011,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: MIT license_family: MIT size: 124255 @@ -3042,8 +3150,6 @@ packages: - __glibc >=2.17,<3.0.a0 - ca-certificates - libgcc >=13 - arch: x86_64 - platform: linux license: Apache-2.0 license_family: Apache size: 2937158 @@ -3056,8 +3162,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: Apache-2.0 license_family: Apache size: 8462960 @@ -3152,8 +3256,6 @@ packages: - tzdata constrains: - python_abi 3.12.* *_cp312 - arch: x86_64 - platform: linux license: Python-2.0 size: 31565686 timestamp: 1733410597922 @@ -3176,8 +3278,6 @@ packages: - vc14_runtime >=14.29.30139 constrains: - python_abi 3.12.* *_cp312 - arch: x86_64 - platform: win license: Python-2.0 size: 15812363 timestamp: 1733408080064 @@ -3252,8 +3352,6 @@ packages: depends: - libgcc-ng >=12 - ncurses >=6.3,<7.0a0 - arch: x86_64 - platform: linux license: GPL-3.0-only license_family: GPL size: 281456 @@ -3264,8 +3362,6 @@ packages: depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - arch: x86_64 - platform: linux license: MIT license_family: MIT size: 186921 @@ -3298,8 +3394,6 @@ packages: - libgcc >=13 - libhwloc >=2.11.2,<2.11.3.0a0 - libstdcxx >=13 - arch: x86_64 - platform: linux license: Apache-2.0 license_family: APACHE size: 178584 @@ -3312,8 +3406,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: Apache-2.0 license_family: APACHE size: 154012 @@ -3326,8 +3418,6 @@ packages: - libgcc >=13 - libstdcxx >=13 - tbb 2022.0.0 hceb3a55_0 - arch: x86_64 - platform: linux size: 1075564 timestamp: 1730477658219 - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-devel-2022.0.0-h47441b3_0.conda @@ -3338,8 +3428,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win size: 1082076 timestamp: 1730478013028 - conda: https://conda.anaconda.org/conda-forge/noarch/tinygltf-2.8.19-hd8ed1ab_0.conda @@ -3355,8 +3443,6 @@ packages: depends: - libgcc-ng >=12 - libzlib >=1.2.13,<2.0.0a0 - arch: x86_64 - platform: linux license: TCL license_family: BSD size: 3318875 @@ -3368,8 +3454,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: TCL license_family: BSD size: 3503410 @@ -3394,18 +3478,34 @@ packages: md5: 6797b005cd0f439c4c5c9ac565783700 constrains: - vs2015_runtime >=14.29.30037 - arch: x86_64 - platform: win license: LicenseRef-MicrosoftWindowsSDK10 size: 559710 timestamp: 1728377334097 +- conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda + sha256: 3005729dce6f3d3f5ec91dfc49fc75a0095f9cd23bab49efb899657297ac91a5 + md5: 71b24316859acd00bdb8b38f5e2ce328 + constrains: + - vc14_runtime >=14.29.30037 + - vs2015_runtime >=14.29.30037 + license: LicenseRef-MicrosoftWindowsSDK10 + size: 694692 + timestamp: 1756385147981 +- conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h2b53caa_32.conda + sha256: 82250af59af9ff3c6a635dd4c4764c631d854feb334d6747d356d949af44d7cf + md5: ef02bbe151253a72b8eda264a935db66 + depends: + - vc14_runtime >=14.42.34433 + track_features: + - vc14 + license: BSD-3-Clause + license_family: BSD + size: 18861 + timestamp: 1760418772353 - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-ha32ba9b_23.conda sha256: 986ddaf8feec2904eac9535a7ddb7acda1a1dfb9482088fdb8129f1595181663 md5: 7c10ec3158d1eb4ddff7007c9101adb0 depends: - vc14_runtime >=14.38.33135 - arch: x86_64 - platform: win track_features: - vc14 license: BSD-3-Clause @@ -3419,19 +3519,38 @@ packages: - ucrt >=10.0.20348.0 constrains: - vs2015_runtime 14.42.34433.* *_23 - arch: x86_64 - platform: win license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime license_family: Proprietary size: 754247 timestamp: 1731710681163 +- conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_32.conda + sha256: e3a3656b70d1202e0d042811ceb743bd0d9f7e00e2acdf824d231b044ef6c0fd + md5: 378d5dcec45eaea8d303da6f00447ac0 + depends: + - ucrt >=10.0.20348.0 + - vcomp14 14.44.35208 h818238b_32 + constrains: + - vs2015_runtime 14.44.35208.* *_32 + license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime + license_family: Proprietary + size: 682706 + timestamp: 1760418629729 +- conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_32.conda + sha256: f3790c88fbbdc55874f41de81a4237b1b91eab75e05d0e58661518ff04d2a8a1 + md5: 58f67b437acbf2764317ba273d731f1d + depends: + - ucrt >=10.0.20348.0 + constrains: + - vs2015_runtime 14.44.35208.* *_32 + license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime + license_family: Proprietary + size: 114846 + timestamp: 1760418593847 - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.42.34433-hdffcdeb_23.conda sha256: 568ce8151eaae256f1cef752fc78651ad7a86ff05153cc7a4740b52ae6536118 md5: 5c176975ca2b8366abad3c97b3cd1e83 depends: - vc14_runtime >=14.42.34433 - arch: x86_64 - platform: win license: BSD-3-Clause license_family: BSD size: 17572 @@ -3443,8 +3562,6 @@ packages: - vswhere constrains: - vs_win-64 2019.11 - arch: x86_64 - platform: win track_features: - vc14 license: BSD-3-Clause @@ -3467,8 +3584,6 @@ packages: - conda: https://conda.anaconda.org/conda-forge/win-64/vswhere-3.1.7-h57928b3_0.conda sha256: 8caeda9c0898cb8ee2cf4f45640dbbbdf772ddc01345cfb0f7b352c58b4d8025 md5: ba83df93b48acfc528f5464c9a882baa - arch: x86_64 - platform: win license: MIT license_family: MIT size: 219013 @@ -3549,8 +3664,6 @@ packages: - liblzma-devel 5.6.3 hb9d3cd8_1 - xz-gpl-tools 5.6.3 hbcc6ac9_1 - xz-tools 5.6.3 hb9d3cd8_1 - arch: x86_64 - platform: linux license: 0BSD AND LGPL-2.1-or-later AND GPL-2.0-or-later size: 23477 timestamp: 1733407455801 @@ -3564,8 +3677,6 @@ packages: - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - xz-tools 5.6.3 h2466b09_1 - arch: x86_64 - platform: win license: 0BSD AND LGPL-2.1-or-later AND GPL-2.0-or-later size: 23925 timestamp: 1733407963901 @@ -3576,8 +3687,6 @@ packages: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - liblzma 5.6.3 hb9d3cd8_1 - arch: x86_64 - platform: linux license: 0BSD AND LGPL-2.1-or-later AND GPL-2.0-or-later size: 33354 timestamp: 1733407444641 @@ -3588,8 +3697,6 @@ packages: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - liblzma 5.6.3 hb9d3cd8_1 - arch: x86_64 - platform: linux license: 0BSD AND LGPL-2.1-or-later size: 90354 timestamp: 1733407433418 @@ -3601,8 +3708,6 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: 0BSD AND LGPL-2.1-or-later size: 63898 timestamp: 1733407936888 @@ -3622,12 +3727,22 @@ packages: - libgcc-ng >=12 - libstdcxx-ng >=12 - libzlib >=1.2.13,<2.0.0a0 - arch: x86_64 - platform: linux license: BSD-3-Clause license_family: BSD size: 554846 timestamp: 1714722996770 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda + sha256: a4166e3d8ff4e35932510aaff7aa90772f84b4d07e9f6f83c614cba7ceefe0eb + md5: 6432cb5d4ac0046c3ac0a8a0f95842f9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 567578 + timestamp: 1742433379869 - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.6-h0ea2cb4_0.conda sha256: 768e30dc513568491818fb068ee867c57c514b553915536da09e5d10b4ebf3c3 md5: 9a17230f95733c04dc40a2b1e5491d74 @@ -3636,9 +3751,19 @@ packages: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - arch: x86_64 - platform: win license: BSD-3-Clause license_family: BSD size: 349143 timestamp: 1714723445995 +- conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-hbeecb71_2.conda + sha256: bc64864377d809b904e877a98d0584f43836c9f2ef27d3d2a1421fa6eae7ca04 + md5: 21f56217d6125fb30c3c3f10c786d751 + depends: + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: BSD-3-Clause + license_family: BSD + size: 354697 + timestamp: 1742433568506 diff --git a/pixi.toml b/pixi.toml index c429899..4be8d16 100644 --- a/pixi.toml +++ b/pixi.toml @@ -56,6 +56,7 @@ cmake = "==3.30.5" cli11 = "*" ninja = "*" nlohmann_json = "*" +cgal-cpp = "==5.6.1" [feature.static.target.linux-64.dependencies] c-compiler = "*" @@ -109,10 +110,13 @@ install = { cmd = ["ninja", "-C", "build/linux-static", "install"], description build = { cmd=["cmake","-G","Ninja", "--preset", "win-static-mingw", "--fresh"] } install = { cmd = ["ninja", "-C", "build/win-static-mingw", "install"], description = "Install the project" } +[dependencies] +cgal-cpp = "==5.6.1" + [feature.conda.target.win-64.tasks] build-occt = { cmd=["rattler-build", "build", "-r", "recipes/occt-static/recipe.yaml", "-m","recipes/occt-static/conda_build_config-win.yaml"] } build-stepcode = { cmd=["rattler-build", "build", "-r", "recipes/stepcode-static/recipe.yaml", "-m","recipes/stepcode-static/conda_build_config-win.yaml"] } [feature.conda.target.linux-64.tasks] build-occt = { cmd=["rattler-build", "build", "-r", "recipes/occt-static/recipe.yaml", "-m","recipes/occt-static/conda_build_config-linux.yaml"] } -build-stepcode = { cmd=["rattler-build", "build", "-r", "recipes/stepcode-static/recipe.yaml", "-m","recipes/stepcode-static/conda_build_config-linux.yaml"] } \ No newline at end of file +build-stepcode = { cmd=["rattler-build", "build", "-r", "recipes/stepcode-static/recipe.yaml", "-m","recipes/stepcode-static/conda_build_config-linux.yaml"] } diff --git a/src/config_utils.cpp b/src/config_utils.cpp index d6760fe..3c5850d 100644 --- a/src/config_utils.cpp +++ b/src/config_utils.cpp @@ -67,8 +67,12 @@ bool endsWithCaseInsensitive(const std::string& str, const std::string& suffix) return true; } -// Main processing function -GlobalConfig process_parameters(CLI::App& app) +namespace { + +GlobalConfig process_parameters_internal(CLI::App& app, + const std::filesystem::path* stp_override, + const std::filesystem::path* glb_override, + const std::filesystem::path* compressed_glb_override) { const auto filter_names_include_input = app.get_option("--filter-names-include")->as(); const auto filter_names_file_include = app.get_option("--filter-names-file-include")->as(); @@ -85,8 +89,8 @@ GlobalConfig process_parameters(CLI::App& app) const auto filter_names_include = process_filter_names(filter_names_include_input, filter_names_file_include); const auto filter_names_exclude = process_filter_names(filter_names_exclude_input, filter_names_file_exclude); - std::string stpFilename = app.get_option("--stp")->results()[0]; - std::string glbFilename = app.get_option("--glb")->results()[0]; + std::string stpFilename = stp_override ? stp_override->string() : app.get_option("--stp")->results()[0]; + std::string glbFilename = glb_override ? glb_override->string() : app.get_option("--glb")->results()[0]; bool isDownloadedFromUrl = false; std::string originalUrl; @@ -155,8 +159,30 @@ GlobalConfig process_parameters(CLI::App& app) .is_downloaded_from_url = isDownloadedFromUrl, .original_url = originalUrl, .compress_glb = compress_glb, - .compressed_glb_path = compressed_glb_value.empty() ? std::filesystem::path{} : std::filesystem::path(compressed_glb_value), + .compressed_glb_path = compressed_glb_override + ? *compressed_glb_override + : (compressed_glb_value.empty() ? std::filesystem::path{} + : std::filesystem::path(compressed_glb_value)), .gltfpack_path = gltfpack_path_value, .gltfpack_args = gltfpack_args_value }; } + +} + +// Main processing function +GlobalConfig process_parameters(CLI::App& app) +{ + return process_parameters_internal(app, nullptr, nullptr, nullptr); +} + +GlobalConfig process_parameters(CLI::App& app, + const std::filesystem::path& stp_path_override, + const std::filesystem::path& glb_path_override, + const std::filesystem::path& compressed_glb_path_override) +{ + const std::filesystem::path* compressed_override_ptr = compressed_glb_path_override.empty() + ? nullptr + : &compressed_glb_path_override; + return process_parameters_internal(app, &stp_path_override, &glb_path_override, compressed_override_ptr); +} diff --git a/src/config_utils.h b/src/config_utils.h index 69def62..6418c26 100644 --- a/src/config_utils.h +++ b/src/config_utils.h @@ -4,12 +4,17 @@ #ifndef CONFIG_UTILS_H #define CONFIG_UTILS_H +#include #include #include "config_structs.h" GlobalConfig process_parameters(CLI::App& app); +GlobalConfig process_parameters(CLI::App& app, + const std::filesystem::path& stp_path_override, + const std::filesystem::path& glb_path_override, + const std::filesystem::path& compressed_glb_path_override = {}); #endif //CONFIG_UTILS_H diff --git a/src/main.cpp b/src/main.cpp index 8eed163..32d1d39 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,7 +5,9 @@ #endif // Unix platform check +#include #include +#include #include "CLI/CLI.hpp" #include "config_structs.h" #include @@ -17,6 +19,163 @@ #include "http_server.h" #include "compression_utils.h" +void print_status(const GlobalConfig& config); + +namespace { + +bool is_step_file(const std::filesystem::path& path) { + std::string extension = path.extension().string(); + std::transform(extension.begin(), extension.end(), extension.begin(), [](unsigned char c) { + return static_cast(std::tolower(c)); + }); + return extension == ".stp" || extension == ".step"; +} + +std::vector collect_step_files(const std::filesystem::path& input_dir) { + std::vector files; + + for (const auto& entry : std::filesystem::directory_iterator(input_dir)) { + if (entry.is_regular_file() && is_step_file(entry.path())) { + files.push_back(entry.path()); + } + } + + std::sort(files.begin(), files.end(), [](const auto& lhs, const auto& rhs) { + return lhs.filename().string() < rhs.filename().string(); + }); + + return files; +} + +int run_conversion(const GlobalConfig& config) { + print_status(config); + std::cout << "\n"; + std::cout << "Starting conversion..." << "\n"; + + const auto start = std::chrono::high_resolution_clock::now(); + try { + if (config.buildConfig.build_bspline_surf) + make_a_bspline_surf(config); + + if (config.debug_mode == 1) + debug_stp_to_glb(config); + else + convert_stp_to_glb(config); + + apply_gltfpack_compression(config); + } catch (std::exception& ex) { + std::cerr << "Error: " << ex.what() << "\n"; + return 1; + } + + const auto stop = std::chrono::high_resolution_clock::now(); + const auto duration = std::chrono::duration_cast(stop - start); + const double seconds = static_cast(duration.count()) / 1e6; + std::cout << "STP converted in: " << std::fixed << std::setprecision(2) << seconds << " seconds" << "\n"; + + if (config.is_downloaded_from_url) { + try { + if (std::filesystem::exists(config.stpFile)) { + std::filesystem::remove(config.stpFile); + std::cout << "Cleaned up downloaded file: " << config.stpFile << "\n"; + } + } catch (const std::exception& ex) { + std::cerr << "Warning: Failed to clean up downloaded file: " << ex.what() << "\n"; + } + } + + return 0; +} + +int run_batch_conversion(CLI::App& app) { + const std::filesystem::path input_dir = app.get_option("--stp")->results()[0]; + const std::filesystem::path output_dir = app.get_option("--glb")->results()[0]; + const auto step_files = collect_step_files(input_dir); + + if (step_files.empty()) { + std::cerr << "Error: No .stp or .step files found in input directory: " << input_dir << "\n"; + return 1; + } + + if (std::filesystem::exists(output_dir) && !std::filesystem::is_directory(output_dir)) { + std::cerr << "Error: When --stp is a directory, --glb must be a directory path.\n"; + return 1; + } + + std::filesystem::create_directories(output_dir); + + const auto compressed_glb_cli = app.get_option("--compressed-glb")->as(); + const std::filesystem::path compressed_glb_base = compressed_glb_cli.empty() + ? std::filesystem::path{} + : std::filesystem::path(compressed_glb_cli); + if (!compressed_glb_base.empty() && + std::filesystem::exists(compressed_glb_base) && + !std::filesystem::is_directory(compressed_glb_base)) { + std::cerr << "Error: In batch mode, --compressed-glb must be a directory path when it already exists.\n"; + return 1; + } + + if (!compressed_glb_base.empty()) { + std::filesystem::create_directories(compressed_glb_base); + } + + std::cout << "Batch mode enabled" << "\n"; + std::cout << "Input directory: " << input_dir << "\n"; + std::cout << "Output directory: " << output_dir << "\n"; + std::cout << "Files to convert: " << step_files.size() << "\n"; + + int success_count = 0; + std::vector failed_files; + + for (size_t index = 0; index < step_files.size(); ++index) { + const auto& stp_file = step_files[index]; + auto glb_file_name = stp_file.stem(); + glb_file_name += ".glb"; + const auto glb_file = output_dir / glb_file_name; + + std::filesystem::path compressed_glb_file; + if (!compressed_glb_base.empty()) { + auto compressed_file_name = stp_file.stem(); + compressed_file_name += ".glb"; + compressed_glb_file = compressed_glb_base / compressed_file_name; + } + + std::cout << "============================================================" << "\n"; + std::cout << "[" << (index + 1) << "/" << step_files.size() << "] " + << stp_file.filename() << " -> " << glb_file.filename() << "\n"; + + GlobalConfig config; + try { + config = process_parameters(app, stp_file, glb_file, compressed_glb_file); + } catch (const std::exception& ex) { + std::cerr << "Error: " << ex.what() << "\n"; + failed_files.push_back(stp_file.filename().string()); + continue; + } + + if (run_conversion(config) == 0) { + ++success_count; + } else { + failed_files.push_back(stp_file.filename().string()); + } + } + + std::cout << "============================================================" << "\n"; + std::cout << "Batch completed: success " << success_count + << ", failed " << failed_files.size() << "\n"; + if (!failed_files.empty()) { + std::cout << "Failed files:" << "\n"; + for (const auto& failed_file : failed_files) { + std::cout << " - " << failed_file << "\n"; + } + return 1; + } + + return 0; +} + +} + void print_status(const GlobalConfig& config) { std::cout << "STP2GLB Converter" << "\n"; std::cout << "STP File: " << config.stpFile << "\n"; @@ -129,6 +288,11 @@ int main(int argc, char* argv[]) app.get_option("--stp")->required(); app.get_option("--glb")->required(); + const std::filesystem::path stp_input = app.get_option("--stp")->results()[0]; + if (std::filesystem::exists(stp_input) && std::filesystem::is_directory(stp_input)) { + return run_batch_conversion(app); + } + GlobalConfig config; try { config = process_parameters(app); @@ -137,44 +301,5 @@ int main(int argc, char* argv[]) return 1; } - print_status(config); - std::cout << "\n"; - std::cout << "Starting conversion..." << "\n"; - - const auto start = std::chrono::high_resolution_clock::now(); - try { - if (config.buildConfig.build_bspline_surf) - make_a_bspline_surf(config); - - if (config.debug_mode == 1) - debug_stp_to_glb(config); - else - { - convert_stp_to_glb(config); - } - - apply_gltfpack_compression(config); - } catch (std::exception& ex) { - std::cerr << "Error: " << ex.what() << "\n"; - return 1; - } - - const auto stop = std::chrono::high_resolution_clock::now(); - const auto duration = std::chrono::duration_cast(stop - start); - const double seconds = static_cast(duration.count()) / 1e6; - std::cout << "STP converted in: " << std::fixed << std::setprecision(2) << seconds << " seconds" << "\n"; - - // Clean up downloaded temporary file - if (config.is_downloaded_from_url) { - try { - if (std::filesystem::exists(config.stpFile)) { - std::filesystem::remove(config.stpFile); - std::cout << "Cleaned up downloaded file: " << config.stpFile << "\n"; - } - } catch (const std::exception& ex) { - std::cerr << "Warning: Failed to clean up downloaded file: " << ex.what() << "\n"; - } - } - - return 0; + return run_conversion(config); }