Compare commits

..

11 Commits

Author SHA1 Message Date
08fda1b0bb Update dependencies (#19)
All checks were successful
Conan Packaging / Package lodepng/cci.20260210 (push) Successful in 21s
Conan Packaging / Package meshoptimizer/1.1 (push) Successful in 20s
Conan Packaging / Package mimalloc/3.3.2 (push) Successful in 21s
Conan Packaging / Package assimp/6.0.4 (push) Successful in 2m2s
Conan Packaging / Package cli11/2.6.1 (push) Successful in 25s
Conan Packaging / Package eabase/01082025 (push) Successful in 19s
Conan Packaging / Package flatbuffers/25.12.19-2026-02-06-03fffb2-bigfoot (push) Successful in 44s
Conan Packaging / Package glm/1.0.3 (push) Successful in 19s
Conan Packaging / Package imgui/1.92.7-docking (push) Successful in 27s
Conan Packaging / Package rapidhash/3.0 (push) Successful in 18s
Conan Packaging / Package spirv-headers/1.4.341.0 (push) Successful in 19s
Conan Packaging / Package sqlite3/3.53.1 (push) Successful in 41s
Conan Packaging / Package spirv-tools/1.4.341.0 (push) Successful in 2m11s
Conan Packaging / Package vulkan-utility-libraries/1.4.341.0 (push) Successful in 27s
Conan Packaging / Package mold/2.41.0 (push) Successful in 4m37s
Conan Packaging / Package pixelmatch-cpp17/1.0.3 (push) Successful in 21s
Conan Packaging / Package spirv-cross/1.4.341.0 (push) Successful in 55s
Conan Packaging / Package stduuid/1.2.3 (push) Successful in 19s
Conan Packaging / Package unordered_dense/4.8.1 (push) Successful in 18s
Conan Packaging / Package vulkan-headers/1.4.341.0 (push) Successful in 19s
Conan Packaging / Package eastl/3.27.01 (push) Successful in 20s
Conan Packaging / Package vulkan-memory-allocator/3.3.0 (push) Successful in 22s
Conan Packaging / Package glslang/1.4.341.0 (push) Successful in 2m38s
Conan Packaging / Package vulkan-validationlayers/1.4.341.0 (push) Successful in 5m46s
Conan Packaging / Package shaderc/2026.1 (push) Successful in 2m57s
Reviewed-on: #19
Co-authored-by: Romain BOULLARD <romain.boullard@protonmail.com>
Co-committed-by: Romain BOULLARD <romain.boullard@protonmail.com>
2026-05-10 12:38:34 +00:00
a6577dedc5 Flatbuffers (#18)
All checks were successful
Conan Packaging / Package eabase/01082025 (push) Successful in 18s
Conan Packaging / Package imgui/1.92.6-docking (push) Successful in 26s
Conan Packaging / Package pixelmatch-cpp17/1.0.3 (push) Successful in 21s
Conan Packaging / Package rapidhash/3.0 (push) Successful in 20s
Conan Packaging / Package spirv-cross/1.4.341.0 (push) Successful in 56s
Conan Packaging / Package assimp/6.0.4 (push) Successful in 2m16s
Conan Packaging / Package cli11/2.6.1 (push) Successful in 25s
Conan Packaging / Package flatbuffers/25.12.19-2026-02-06-03fffb2-bigfoot (push) Successful in 44s
Conan Packaging / Package lodepng/cci.20260210 (push) Successful in 21s
Conan Packaging / Package meshoptimizer/1.0 (push) Successful in 21s
Conan Packaging / Package mimalloc/3.3.1 (push) Successful in 24s
Conan Packaging / Package mold/2.41.0 (push) Successful in 4m54s
Conan Packaging / Package spirv-headers/1.4.341.0 (push) Successful in 20s
Conan Packaging / Package stduuid/1.2.3 (push) Successful in 20s
Conan Packaging / Package unordered_dense/4.8.1 (push) Successful in 20s
Conan Packaging / Package sqlite3/3.51.2 (push) Successful in 43s
Conan Packaging / Package vulkan-headers/1.4.341.0 (push) Successful in 19s
Conan Packaging / Package eastl/3.27.01 (push) Successful in 21s
Conan Packaging / Package spirv-tools/1.4.341.0 (push) Successful in 2m13s
Conan Packaging / Package vulkan-memory-allocator/3.3.0 (push) Successful in 21s
Conan Packaging / Package vulkan-utility-libraries/1.4.341.0 (push) Successful in 23s
Conan Packaging / Package glslang/1.4.341.0 (push) Successful in 2m38s
Conan Packaging / Package vulkan-validationlayers/1.4.341.0 (push) Successful in 6m9s
Conan Packaging / Package shaderc/2026.1 (push) Successful in 3m3s
Reviewed-on: #18
Co-authored-by: Romain BOULLARD <romain.boullard@protonmail.com>
Co-committed-by: Romain BOULLARD <romain.boullard@protonmail.com>
2026-05-09 20:10:00 +00:00
583e4b1816 Flatbuffers (#17)
All checks were successful
Conan Packaging / Package assimp/6.0.4 (push) Successful in 2m15s
Conan Packaging / Package cli11/2.6.1 (push) Successful in 25s
Conan Packaging / Package eabase/01082025 (push) Successful in 19s
Conan Packaging / Package flatbuffers/25.12.19-2026-02-06-03fffb2-bigfoot (push) Successful in 45s
Conan Packaging / Package imgui/1.92.6-docking (push) Successful in 26s
Conan Packaging / Package lodepng/cci.20260210 (push) Successful in 20s
Conan Packaging / Package meshoptimizer/1.0 (push) Successful in 20s
Conan Packaging / Package mimalloc/3.3.1 (push) Successful in 22s
Conan Packaging / Package mold/2.41.0 (push) Successful in 4m43s
Conan Packaging / Package pixelmatch-cpp17/1.0.3 (push) Successful in 21s
Conan Packaging / Package rapidhash/3.0 (push) Successful in 19s
Conan Packaging / Package spirv-cross/1.4.341.0 (push) Successful in 56s
Conan Packaging / Package spirv-headers/1.4.341.0 (push) Successful in 19s
Conan Packaging / Package sqlite3/3.51.2 (push) Successful in 41s
Conan Packaging / Package stduuid/1.2.3 (push) Successful in 18s
Conan Packaging / Package unordered_dense/4.8.1 (push) Successful in 19s
Conan Packaging / Package vulkan-headers/1.4.341.0 (push) Successful in 19s
Conan Packaging / Package eastl/3.27.01 (push) Successful in 21s
Conan Packaging / Package spirv-tools/1.4.341.0 (push) Successful in 2m12s
Conan Packaging / Package vulkan-memory-allocator/3.3.0 (push) Successful in 22s
Conan Packaging / Package vulkan-utility-libraries/1.4.341.0 (push) Successful in 25s
Conan Packaging / Package glslang/1.4.341.0 (push) Successful in 2m39s
Conan Packaging / Package vulkan-validationlayers/1.4.341.0 (push) Successful in 5m53s
Conan Packaging / Package shaderc/2026.1 (push) Successful in 2m58s
Reviewed-on: #17
Co-authored-by: Romain BOULLARD <romain.boullard@protonmail.com>
Co-committed-by: Romain BOULLARD <romain.boullard@protonmail.com>
2026-05-09 14:19:46 +00:00
5ceab0e6b6 Flatbuffers Bigfoot (#16)
All checks were successful
Conan Packaging / Package assimp/6.0.4 (push) Successful in 2m4s
Conan Packaging / Package cli11/2.6.1 (push) Successful in 24s
Conan Packaging / Package eabase/01082025 (push) Successful in 19s
Conan Packaging / Package lodepng/cci.20260210 (push) Successful in 20s
Conan Packaging / Package meshoptimizer/1.0 (push) Successful in 19s
Conan Packaging / Package rapidhash/3.0 (push) Successful in 18s
Conan Packaging / Package spirv-headers/1.4.341.0 (push) Successful in 18s
Conan Packaging / Package stduuid/1.2.3 (push) Successful in 19s
Conan Packaging / Package unordered_dense/4.8.1 (push) Successful in 20s
Conan Packaging / Package vulkan-headers/1.4.341.0 (push) Successful in 19s
Conan Packaging / Package eastl/3.27.01 (push) Successful in 21s
Conan Packaging / Package spirv-tools/1.4.341.0 (push) Successful in 2m14s
Conan Packaging / Package vulkan-memory-allocator/3.3.0 (push) Successful in 21s
Conan Packaging / Package glslang/1.4.341.0 (push) Successful in 2m35s
Conan Packaging / Package flatbuffers/25.12.19-2026-02-06-03fffb2-bigfoot (push) Successful in 45s
Conan Packaging / Package imgui/1.92.6-docking (push) Successful in 25s
Conan Packaging / Package mimalloc/3.3.1 (push) Successful in 22s
Conan Packaging / Package mold/2.41.0 (push) Successful in 4m37s
Conan Packaging / Package pixelmatch-cpp17/1.0.3 (push) Successful in 20s
Conan Packaging / Package spirv-cross/1.4.341.0 (push) Successful in 56s
Conan Packaging / Package sqlite3/3.51.2 (push) Successful in 41s
Conan Packaging / Package vulkan-utility-libraries/1.4.341.0 (push) Successful in 23s
Conan Packaging / Package shaderc/2026.1 (push) Successful in 2m57s
Conan Packaging / Package vulkan-validationlayers/1.4.341.0 (push) Successful in 5m55s
Reviewed-on: #16
2026-05-09 11:02:19 +00:00
32a4377176 Mold fix (#15)
All checks were successful
Conan Packaging / Package cli11/2.6.1 (push) Successful in 25s
Conan Packaging / Package eabase/01082025 (push) Successful in 19s
Conan Packaging / Package flatbuffers/25.12.19 (push) Successful in 43s
Conan Packaging / Package imgui/1.92.6-docking (push) Successful in 25s
Conan Packaging / Package mimalloc/3.3.1 (push) Successful in 23s
Conan Packaging / Package mold/2.41.0 (push) Successful in 4m29s
Conan Packaging / Package pixelmatch-cpp17/1.0.3 (push) Successful in 21s
Conan Packaging / Package rapidhash/3.0 (push) Successful in 19s
Conan Packaging / Package spirv-cross/1.4.341.0 (push) Successful in 56s
Conan Packaging / Package spirv-headers/1.4.341.0 (push) Successful in 19s
Conan Packaging / Package sqlite3/3.51.2 (push) Successful in 41s
Conan Packaging / Package stduuid/1.2.3 (push) Successful in 19s
Conan Packaging / Package unordered_dense/4.8.1 (push) Successful in 19s
Conan Packaging / Package vulkan-headers/1.4.341.0 (push) Successful in 20s
Conan Packaging / Package eastl/3.27.01 (push) Successful in 21s
Conan Packaging / Package vulkan-validationlayers/1.4.341.0 (push) Successful in 5m44s
Conan Packaging / Package shaderc/2026.1 (push) Successful in 2m48s
Conan Packaging / Package assimp/6.0.4 (push) Successful in 2m3s
Conan Packaging / Package lodepng/cci.20260210 (push) Successful in 20s
Conan Packaging / Package meshoptimizer/1.0 (push) Successful in 20s
Conan Packaging / Package spirv-tools/1.4.341.0 (push) Successful in 2m4s
Conan Packaging / Package vulkan-memory-allocator/3.3.0 (push) Successful in 22s
Conan Packaging / Package vulkan-utility-libraries/1.4.341.0 (push) Successful in 23s
Conan Packaging / Package glslang/1.4.341.0 (push) Successful in 2m29s
Reviewed-on: #15
Co-authored-by: Romain BOULLARD <romain.boullard@protonmail.com>
Co-committed-by: Romain BOULLARD <romain.boullard@protonmail.com>
2026-04-26 15:40:15 +00:00
f2685edfd5 Mold (#14)
All checks were successful
Conan Packaging / Package cli11/2.6.1 (push) Successful in 26s
Conan Packaging / Package eabase/01082025 (push) Successful in 19s
Conan Packaging / Package flatbuffers/25.12.19 (push) Successful in 43s
Conan Packaging / Package meshoptimizer/1.0 (push) Successful in 19s
Conan Packaging / Package mold/2.41.0 (push) Successful in 4m35s
Conan Packaging / Package rapidhash/3.0 (push) Successful in 20s
Conan Packaging / Package spirv-cross/1.4.341.0 (push) Successful in 56s
Conan Packaging / Package stduuid/1.2.3 (push) Successful in 20s
Conan Packaging / Package vulkan-headers/1.4.341.0 (push) Successful in 20s
Conan Packaging / Package eastl/3.27.01 (push) Successful in 20s
Conan Packaging / Package spirv-tools/1.4.341.0 (push) Successful in 2m8s
Conan Packaging / Package vulkan-memory-allocator/3.3.0 (push) Successful in 23s
Conan Packaging / Package vulkan-utility-libraries/1.4.341.0 (push) Successful in 22s
Conan Packaging / Package assimp/6.0.4 (push) Successful in 1m59s
Conan Packaging / Package imgui/1.92.6-docking (push) Successful in 27s
Conan Packaging / Package lodepng/cci.20260210 (push) Successful in 20s
Conan Packaging / Package mimalloc/3.3.1 (push) Successful in 22s
Conan Packaging / Package pixelmatch-cpp17/1.0.3 (push) Successful in 23s
Conan Packaging / Package spirv-headers/1.4.341.0 (push) Successful in 19s
Conan Packaging / Package sqlite3/3.51.2 (push) Successful in 39s
Conan Packaging / Package unordered_dense/4.8.1 (push) Successful in 19s
Conan Packaging / Package glslang/1.4.341.0 (push) Successful in 2m29s
Conan Packaging / Package vulkan-validationlayers/1.4.341.0 (push) Successful in 5m43s
Conan Packaging / Package shaderc/2026.1 (push) Successful in 2m51s
Reviewed-on: #14
Co-authored-by: Romain BOULLARD <romain.boullard@protonmail.com>
Co-committed-by: Romain BOULLARD <romain.boullard@protonmail.com>
2026-04-26 14:44:55 +00:00
e326415f12 Maintenance (#13)
All checks were successful
Conan Packaging / Package meshoptimizer/1.0 (push) Successful in 20s
Conan Packaging / Package mimalloc/3.2.8 (push) Successful in 20s
Conan Packaging / Package pixelmatch-cpp17/1.0.3 (push) Successful in 36s
Conan Packaging / Package rapidhash/3.0 (push) Successful in 20s
Conan Packaging / Package spirv-cross/1.4.341.0 (push) Successful in 40s
Conan Packaging / Package spirv-headers/1.4.341.0 (push) Successful in 20s
Conan Packaging / Package sqlite3/3.51.2 (push) Successful in 40s
Conan Packaging / Package stduuid/1.2.3 (push) Successful in 27s
Conan Packaging / Package unordered_dense/4.8.1 (push) Successful in 20s
Conan Packaging / Package vulkan-headers/1.4.341.0 (push) Successful in 28s
Conan Packaging / Package eastl/3.27.01 (push) Successful in 20s
Conan Packaging / Package spirv-tools/1.4.341.0 (push) Successful in 2m10s
Conan Packaging / Package vulkan-memory-allocator/3.3.0 (push) Successful in 22s
Conan Packaging / Package vulkan-utility-libraries/1.4.341.0 (push) Successful in 23s
Conan Packaging / Package vulkan-validationlayers/1.4.341.0 (push) Successful in 5m35s
Conan Packaging / Package shaderc/2026.1 (push) Successful in 3m0s
Conan Packaging / Package assimp/6.0.4 (push) Successful in 2m1s
Conan Packaging / Package cli11/2.6.1 (push) Successful in 24s
Conan Packaging / Package eabase/01082025 (push) Successful in 42s
Conan Packaging / Package flatbuffers/25.12.19 (push) Successful in 43s
Conan Packaging / Package imgui/1.92.6-docking (push) Successful in 45s
Conan Packaging / Package lodepng/cci.20260210 (push) Successful in 19s
Conan Packaging / Package glslang/1.4.341.0 (push) Successful in 2m21s
Reviewed-on: #13
Co-authored-by: Romain BOULLARD <romain.boullard@protonmail.com>
Co-committed-by: Romain BOULLARD <romain.boullard@protonmail.com>
2026-04-16 22:19:28 +00:00
a975fa42d1 Maintenance (#12)
All checks were successful
Conan Packaging / Package spirv-cross/1.4.341.0 (push) Successful in 37s
Conan Packaging / Package spirv-headers/1.4.341.0 (push) Successful in 20s
Conan Packaging / Package sqlite3/3.51.2 (push) Successful in 36s
Conan Packaging / Package stduuid/1.2.3 (push) Successful in 20s
Conan Packaging / Package unordered_dense/4.8.1 (push) Successful in 18s
Conan Packaging / Package vulkan-headers/1.4.341.0 (push) Successful in 20s
Conan Packaging / Package eastl/3.27.01 (push) Successful in 20s
Conan Packaging / Package spirv-tools/1.4.341.0 (push) Successful in 1m47s
Conan Packaging / Package vulkan-memory-allocator/3.3.0 (push) Successful in 22s
Conan Packaging / Package vulkan-utility-libraries/1.4.341.0 (push) Successful in 24s
Conan Packaging / Package glslang/1.4.341.0 (push) Successful in 2m3s
Conan Packaging / Package assimp/6.0.4 (push) Successful in 2m11s
Conan Packaging / Package cli11/2.6.1 (push) Successful in 24s
Conan Packaging / Package eabase/01082025 (push) Successful in 18s
Conan Packaging / Package flatbuffers/25.12.19 (push) Successful in 36s
Conan Packaging / Package imgui/1.92.6-docking (push) Successful in 26s
Conan Packaging / Package lodepng/cci.20260210 (push) Successful in 21s
Conan Packaging / Package meshoptimizer/1.0 (push) Successful in 20s
Conan Packaging / Package mimalloc/3.2.8 (push) Successful in 22s
Conan Packaging / Package pixelmatch-cpp17/1.0.3 (push) Successful in 20s
Conan Packaging / Package rapidhash/3.0 (push) Successful in 20s
Conan Packaging / Package vulkan-validationlayers/1.4.341.0 (push) Successful in 5m10s
Conan Packaging / Package shaderc/2026.1 (push) Successful in 2m8s
Reviewed-on: #12
Co-authored-by: Romain BOULLARD <romain.boullard@protonmail.com>
Co-committed-by: Romain BOULLARD <romain.boullard@protonmail.com>
2026-04-15 20:34:22 +00:00
c3ffdbfe77 Upadate packages (#11)
All checks were successful
Conan Packaging / Package assimp/6.0.4 (push) Successful in 1m44s
Conan Packaging / Package cli11/2.6.1 (push) Successful in 22s
Conan Packaging / Package eabase/01082025 (push) Successful in 19s
Conan Packaging / Package flatbuffers/25.12.19 (push) Successful in 36s
Conan Packaging / Package imgui/1.92.6-docking (push) Successful in 26s
Conan Packaging / Package lodepng/cci.20260210 (push) Successful in 22s
Conan Packaging / Package meshoptimizer/1.0 (push) Successful in 19s
Conan Packaging / Package mimalloc/3.2.8 (push) Successful in 20s
Conan Packaging / Package pixelmatch-cpp17/1.0.3 (push) Successful in 20s
Conan Packaging / Package rapidhash/3.0 (push) Successful in 19s
Conan Packaging / Package spirv-cross/1.4.341.0 (push) Successful in 37s
Conan Packaging / Package spirv-headers/1.4.341.0 (push) Successful in 19s
Conan Packaging / Package sqlite3/3.51.2 (push) Successful in 36s
Conan Packaging / Package stduuid/1.2.3 (push) Successful in 19s
Conan Packaging / Package unordered_dense/4.8.1 (push) Successful in 21s
Conan Packaging / Package vulkan-headers/1.4.341.0 (push) Successful in 19s
Conan Packaging / Package eastl/3.27.01 (push) Successful in 22s
Conan Packaging / Package spirv-tools/1.4.341.0 (push) Successful in 1m40s
Conan Packaging / Package vulkan-memory-allocator/3.3.0 (push) Successful in 1m3s
Conan Packaging / Package vulkan-utility-libraries/1.4.341.0 (push) Successful in 24s
Conan Packaging / Package glslang/1.4.341.0 (push) Successful in 2m2s
Conan Packaging / Package vulkan-validationlayers/1.4.341.0 (push) Successful in 5m51s
Conan Packaging / Package shaderc/2026.1 (push) Successful in 2m3s
Reviewed-on: #11
Co-authored-by: Romain BOULLARD <romain.boullard@protonmail.com>
Co-committed-by: Romain BOULLARD <romain.boullard@protonmail.com>
2026-04-15 17:10:43 +00:00
8ea89fb4f1 ImGui
All checks were successful
Conan Packaging / Package assimp/6.0.4 (push) Successful in 3m4s
Conan Packaging / Package cli11/2.6.1 (push) Successful in 21s
Conan Packaging / Package eabase/01082025 (push) Successful in 14s
Conan Packaging / Package imgui/1.92.6-docking (push) Successful in 29s
Conan Packaging / Package sqlite3/3.51.2 (push) Successful in 35s
Conan Packaging / Package eastl/3.27.01 (push) Successful in 19s
Conan Packaging / Package vulkan-utility-libraries/1.4.341.0 (push) Successful in 22s
Conan Packaging / Package glslang/1.4.341.0 (push) Successful in 3m7s
Conan Packaging / Package flatbuffers/25.12.19 (push) Successful in 1m9s
Conan Packaging / Package lodepng/cci.20260210 (push) Successful in 19s
Conan Packaging / Package meshoptimizer/1.0 (push) Successful in 19s
Conan Packaging / Package mimalloc/3.2.8 (push) Successful in 25s
Conan Packaging / Package pixelmatch-cpp17/1.0.3 (push) Successful in 19s
Conan Packaging / Package rapidhash/3.0 (push) Successful in 15s
Conan Packaging / Package spirv-cross/1.4.341.0 (push) Successful in 53s
Conan Packaging / Package spirv-headers/1.4.341.0 (push) Successful in 14s
Conan Packaging / Package stduuid/1.2.3 (push) Successful in 15s
Conan Packaging / Package unordered_dense/4.8.1 (push) Successful in 16s
Conan Packaging / Package vulkan-headers/1.4.341.0 (push) Successful in 14s
Conan Packaging / Package spirv-tools/1.4.341.0 (push) Successful in 2m29s
Conan Packaging / Package vulkan-memory-allocator/3.3.0 (push) Successful in 18s
Conan Packaging / Package vulkan-validationlayers/1.4.341.0 (push) Successful in 7m48s
Conan Packaging / Package shaderc/2026.1 (push) Successful in 3m56s
Reviewed-on: #10
Co-authored-by: Romain BOULLARD <romain.boullard@protonmail.com>
Co-committed-by: Romain BOULLARD <romain.boullard@protonmail.com>
2026-04-14 22:28:11 +00:00
b0d44efc79 Sirv-Cross
All checks were successful
Conan Packaging / Package eabase/01082025 (push) Successful in 17s
Conan Packaging / Package flatbuffers/25.12.19 (push) Successful in 1m11s
Conan Packaging / Package lodepng/cci.20260210 (push) Successful in 18s
Conan Packaging / Package stduuid/1.2.3 (push) Successful in 15s
Conan Packaging / Package unordered_dense/4.8.1 (push) Successful in 15s
Conan Packaging / Package vulkan-headers/1.4.341.0 (push) Successful in 14s
Conan Packaging / Package eastl/3.27.01 (push) Successful in 22s
Conan Packaging / Package vulkan-memory-allocator/3.3.0 (push) Successful in 20s
Conan Packaging / Package vulkan-utility-libraries/1.4.341.0 (push) Successful in 27s
Conan Packaging / Package spirv-tools/1.4.341.0 (push) Successful in 2m20s
Conan Packaging / Package glslang/1.4.341.0 (push) Successful in 3m24s
Conan Packaging / Package vulkan-validationlayers/1.4.341.0 (push) Successful in 7m55s
Conan Packaging / Package shaderc/2026.1 (push) Successful in 3m36s
Conan Packaging / Package cli11/2.6.1 (push) Successful in 21s
Conan Packaging / Package meshoptimizer/1.0 (push) Successful in 18s
Conan Packaging / Package assimp/6.0.4 (push) Successful in 2m38s
Conan Packaging / Package mimalloc/3.2.8 (push) Successful in 25s
Conan Packaging / Package pixelmatch-cpp17/1.0.3 (push) Successful in 17s
Conan Packaging / Package rapidhash/3.0 (push) Successful in 13s
Conan Packaging / Package spirv-headers/1.4.341.0 (push) Successful in 16s
Conan Packaging / Package spirv-cross/1.4.341.0 (push) Successful in 53s
Conan Packaging / Package sqlite3/3.51.2 (push) Successful in 36s
Reviewed-on: #9
Co-authored-by: Romain BOULLARD <romain.boullard@protonmail.com>
Co-committed-by: Romain BOULLARD <romain.boullard@protonmail.com>
2026-04-12 22:25:42 +00:00
41 changed files with 937 additions and 126 deletions

View File

@@ -7,7 +7,10 @@ on:
workflow_dispatch:
env:
CCACHE_BASEDIR: ${{ github.workspace }}
CCACHE_DIR: /ccache
CCACHE_MAXSIZE: 10G
CCACHE_BASEDIR: /root/.conan2
CCACHE_COMPILERCHECK: "%compiler% -dumpversion"
jobs:
conan-packages-tier1:
@@ -21,6 +24,8 @@ jobs:
strategy:
matrix:
package: [
{ name: "mold", version: "2.41.0", location: "all" },
{ name: "eabase", version: "01082025", location: "all" },
{ name: "vulkan-headers", version: "1.4.341.0", location: "all" },
@@ -30,15 +35,19 @@ jobs:
{ name: "pixelmatch-cpp17", version: "1.0.3", location: "all" },
{ name: "lodepng", version: "cci.20260210", location: "all" },
{ name: "stduuid", version: "1.2.3", location: "all" },
{ name: "flatbuffers", version: "25.12.19", location: "all" },
{ name: "flatbuffers", version: "25.12.19-2026-02-06-03fffb2-bigfoot", location: "all" },
{ name: "glm", version: "1.0.3", location: "all" },
{ name: "unordered_dense", version: "4.8.1", location: "all" },
{ name: "mimalloc", version: "3.2.8", location: "all" },
{ name: "meshoptimizer", version: "1.0", location: "all" },
{ name: "sqlite3", version: "3.51.2", location: "all" },
{ name: "mimalloc", version: "3.3.2", location: "all" },
{ name: "meshoptimizer", version: "1.1", location: "all" },
{ name: "sqlite3", version: "3.53.1", location: "all" },
{ name: "rapidhash", version: "3.0", location: "all" },
{ name: "cli11", version: "2.6.1", location: "all" },
{ name: "assimp", version: "6.0.4", location: "5.x" },
{ name: "imgui", version: "1.92.7-docking", location: "all" },
]
name: "Package ${{matrix.package.name }}/${{ matrix.package.version }}"
steps:
@@ -53,7 +62,7 @@ jobs:
with:
submodules: recursive
- name: Show ccache stats before
- name: Reset ccache stats
run: ccache --zero-stats
- name: Run Conan packaging
@@ -66,14 +75,14 @@ jobs:
--user=bigfootdev \
--channel=${{ env.BRANCH_NAME }} \
-pr:b=./ConanProfiles/clang -pr:h=./ConanProfiles/clang \
--build=missing --remote=bigfootpackages
--build=* --remote=bigfootpackages
CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \
CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \
conan upload ${{ matrix.package.name }}/${{ matrix.package.version }}@bigfootdev/${{ env.BRANCH_NAME }} \
--only-recipe --remote=bigfootpackages
- name: Show ccache stats after
- name: Show ccache stats
run: ccache --show-stats
conan-packages-tier2:
@@ -108,7 +117,7 @@ jobs:
with:
submodules: recursive
- name: Show ccache stats before
- name: Reset ccache stats
run: ccache --zero-stats
- name: Run Conan packaging
@@ -121,14 +130,14 @@ jobs:
--user=bigfootdev \
--channel=${{ env.BRANCH_NAME }} \
-pr:b=./ConanProfiles/clang -pr:h=./ConanProfiles/clang \
--build=missing --remote=bigfootpackages
--build=* --remote=bigfootpackages
CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \
CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \
conan upload ${{ matrix.package.name }}/${{ matrix.package.version }}@bigfootdev/${{ env.BRANCH_NAME }} \
--only-recipe --remote=bigfootpackages
- name: Show ccache stats after
- name: Show ccache stats
run: ccache --show-stats
conan-packages-tier3:
@@ -159,7 +168,7 @@ jobs:
with:
submodules: recursive
- name: Show ccache stats before
- name: Reset ccache stats
run: ccache --zero-stats
- name: Run Conan packaging
@@ -172,14 +181,14 @@ jobs:
--user=bigfootdev \
--channel=${{ env.BRANCH_NAME }} \
-pr:b=./ConanProfiles/clang -pr:h=./ConanProfiles/clang \
--build=missing --remote=bigfootpackages
--build=* --remote=bigfootpackages
CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \
CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \
conan upload ${{ matrix.package.name }}/${{ matrix.package.version }}@bigfootdev/${{ env.BRANCH_NAME }} \
--only-recipe --remote=bigfootpackages
- name: Show ccache stats after
- name: Show ccache stats
run: ccache --show-stats
conan-packages-tier4:
@@ -209,7 +218,7 @@ jobs:
with:
submodules: recursive
- name: Show ccache stats before
- name: Reset ccache stats
run: ccache --zero-stats
- name: Run Conan packaging
@@ -222,12 +231,12 @@ jobs:
--user=bigfootdev \
--channel=${{ env.BRANCH_NAME }} \
-pr:b=./ConanProfiles/clang -pr:h=./ConanProfiles/clang \
--build=missing --remote=bigfootpackages
--build=* --remote=bigfootpackages
CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \
CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \
conan upload ${{ matrix.package.name }}/${{ matrix.package.version }}@bigfootdev/${{ env.BRANCH_NAME }} \
--only-recipe --remote=bigfootpackages
- name: Show ccache stats after
- name: Show ccache stats
run: ccache --show-stats

View File

@@ -0,0 +1,30 @@
include_guard()
# Find ccache executable
find_program(CCACHE_PROGRAM NAMES ccache)
if(CCACHE_PROGRAM)
message(STATUS "ccache found: ${CCACHE_PROGRAM}, enabling via CMake launcher and environment.")
if (CMAKE_GENERATOR MATCHES "Visual Studio")
# Copy original ccache.exe and rename to cl.exe, this way intermediate cmd file is not needed
file(COPY_FILE ${CCACHE_PROGRAM} ${CMAKE_BINARY_DIR}/cl.exe ONLY_IF_DIFFERENT)
# Set Visual Studio global variables:
# - Use above cl.exe (ccache.exe) as a compiler
# - Enable parallel compilation
list(APPEND CMAKE_VS_GLOBALS
"CLToolExe=cl.exe"
"CLToolPath=${CMAKE_BINARY_DIR}"
"UseMultiToolTask=true"
"UseStructuredOutput=false"
)
elseif(CMAKE_GENERATOR MATCHES "Ninja" OR CMAKE_GENERATOR MATCHES "Unix Makefiles")
message(STATUS "Using ccache as compiler launcher for Ninja or Makefiles.")
set(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE_PROGRAM} CACHE FILEPATH "CXX compiler cache used" FORCE)
set(CMAKE_C_COMPILER_LAUNCHER ${CCACHE_PROGRAM} CACHE FILEPATH "C compiler cache used" FORCE)
else()
message(WARNING "Unsupported generator for ccache integration: ${CMAKE_GENERATOR}. ccache will not be used.")
endif()
else()
message(WARNING "ccache not found. Not enabling ccache integration.")
endif()

View File

@@ -0,0 +1,5 @@
include_guard()
set(CMAKE_POLICY_DEFAULT_CMP0069 NEW)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE)

View File

@@ -0,0 +1,2 @@
[built-in options]
b_lto = true

View File

@@ -2,25 +2,25 @@
os=Linux
arch=x86_64
compiler=clang
compiler.version=20
compiler.version=22
compiler.libcxx=libstdc++11
compiler.cppstd=20
compiler.cstd=17
compiler.runtime=static
build_type=Release
[conf]
tools.cmake.cmaketoolchain:extra_variables={'CMAKE_CXX_COMPILER_LAUNCHER': 'ccache', 'CMAKE_C_COMPILER_LAUNCHER': 'ccache'}
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_CXX_FLAGS': {'value': '-Wall;-Wextra;-Wpedantic;-Werror;-ffast-math;-fno-exceptions;-fno-rtti', 'cache': True, 'type': 'STRING', 'docstring': 'CXX flags for Bigfoot', 'force': True}}
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_C_FLAGS': {'value': '-Wall;-Wextra;-Wpedantic;-Werror;-ffast-math', 'cache': True, 'type': 'STRING', 'docstring': 'C flags for Bigfoot', 'force': True}}
tools.cmake.cmaketoolchain:generator=Ninja
tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ccache.cmake
tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ipo.cmake
tools.meson.mesontoolchain:extra_machine_files+={{profile_dir}}/Toolchains/ipo.ini
tools.system.package_manager:mode=install
tools.system.package_manager:sudo=True
tools.build:compiler_executables={"c": "clang", "cpp": "clang++"}
tools.build:exelinkflags=["-fuse-ld=mold", "-flto"]
tools.build:sharedlinkflags=["-fuse-ld=mold", "-flto"]
tools.build:cflags=["-flto"]
tools.build:cxxflags=["-flto"]
[tool_requires]
!cmake/*: cmake/[>=4.2]
!cmake/*: cmake/[>=4.2]
[buildenv]
CCACHE_NOHASHDIR=1

View File

@@ -1,25 +0,0 @@
[settings]
os=Linux
arch=x86_64
compiler=clang
compiler.version=20
compiler.libcxx=libstdc++11
compiler.cppstd=20
compiler.cstd=17
build_type=Debug
[conf]
tools.cmake.cmaketoolchain:extra_variables={'CMAKE_CXX_COMPILER_LAUNCHER': 'ccache', 'CMAKE_C_COMPILER_LAUNCHER': 'ccache'}
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_CXX_FLAGS': {'value': '-Wall;-Wextra;-Wpedantic;-Werror;-fno-exceptions;-fno-rtti;-fprofile-instr-generate;-fcoverage-mapping', 'cache': True, 'type': 'STRING', 'docstring': 'CXX flags for Bigfoot', 'force': True}}
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_C_FLAGS': {'value': '-Wall;-Wextra;-Wpedantic;-Werror;-fprofile-instr-generate;-fcoverage-mapping', 'cache': True, 'type': 'STRING', 'docstring': 'C flags for Bigfoot', 'force': True}}
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_SHARED_LINK_FLAGS': {'value': '-fprofile-instr-generate', 'cache': True, 'type': 'STRING', 'docstring': 'SHARED link flags for Bigfoot', 'force': True}}
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_EXE_LINK_FLAGS': {'value': '-fprofile-instr-generate', 'cache': True, 'type': 'STRING', 'docstring': 'EXE link flags for Bigfoot', 'force': True}}
tools.cmake.cmaketoolchain:generator=Ninja
tools.system.package_manager:mode=install
tools.system.package_manager:sudo=True
tools.build:compiler_executables={"c": "clang", "cpp": "clang++"}
tools.build:exelinkflags=["-fuse-ld=mold"]
tools.build:sharedlinkflags=["-fuse-ld=mold"]
[tool_requires]
!cmake/*: cmake/[>=4.2]

View File

@@ -1,23 +0,0 @@
[settings]
os=Linux
arch=x86_64
compiler=clang
compiler.version=20
compiler.libcxx=libstdc++11
compiler.cppstd=20
compiler.cstd=17
build_type=Debug
[conf]
tools.cmake.cmaketoolchain:extra_variables={'CMAKE_CXX_COMPILER_LAUNCHER': 'ccache', 'CMAKE_C_COMPILER_LAUNCHER': 'ccache'}
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_CXX_FLAGS': {'value': '-Wall;-Wextra;-Wpedantic;-Werror;-ffast-math;-fno-exceptions;-fno-rtti', 'cache': True, 'type': 'STRING', 'docstring': 'CXX flags for Bigfoot', 'force': True}}
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_C_FLAGS': {'value': '-Wall;-Wextra;-Wpedantic;-Werror;-ffast-math', 'cache': True, 'type': 'STRING', 'docstring': 'C flags for Bigfoot', 'force': True}}
tools.cmake.cmaketoolchain:generator=Ninja
tools.system.package_manager:mode=install
tools.system.package_manager:sudo=True
tools.build:compiler_executables={"c": "clang", "cpp": "clang++"}
tools.build:exelinkflags=["-fuse-ld=mold"]
tools.build:sharedlinkflags=["-fuse-ld=mold"]
[tool_requires]
!cmake/*: cmake/[>=4.2]

View File

@@ -5,18 +5,19 @@ compiler=msvc
compiler.version=195
compiler.cppstd=20
compiler.cstd=17
compiler.runtime=dynamic
compiler.runtime=static
build_type=Release
[conf]
tools.cmake.cmaketoolchain:extra_variables={'BIGFOOT_CXX_FLAGS': {'value': '/W4;/WX;/EHs-;/D_HAS_EXCEPTIONS=0;/GR-;/fp:fast', 'cache': True, 'type': 'STRING', 'docstring': 'CXX flags for Bigfoot', 'force': True}}
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_C_FLAGS': {'value': '/W4;/WX;/fp:fast', 'cache': True, 'type': 'STRING', 'docstring': 'C flags for Bigfoot', 'force': True}}
tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/msvc_ccache.cmake
tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ccache.cmake
tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ipo.cmake
tools.meson.mesontoolchain:extra_machine_files+={{profile_dir}}/Toolchains/ipo.ini
tools.build:exelinkflags=["/LTCG", "/INCREMENTAL:NO"]
tools.build:sharedlinkflags=["/LTCG", "/INCREMENTAL:NO"]
tools.build:cflags=["/Zc:preprocessor", "/Zc:__STDC__", "/D_CRT_DECLARE_NONSTDC_NAMES=1", "/GL"]
tools.build:cxxflags=["/Zc:preprocessor", "/Zc:__cplusplus", "/Zc:enumTypes", "/Zc:templateScope", "/Zc:strictStrings", "/Zc:rvalueCast", "/Zc:hiddenFriend", "/Zc:externConstexpr", "/Zc:ternary", "/GL"]
tools.build:cflags=["/Zc:preprocessor", "/Zc:__STDC__", "/D_CRT_DECLARE_NONSTDC_NAMES=1"]
tools.build:cxxflags=["/Zc:preprocessor", "/permissive-", "/Zc:__cplusplus", "/Zc:enumTypes", "/Zc:templateScope"]
[tool_requires]
!cmake/*: cmake/[>=4.2]
!cmake/*: cmake/[>=4.2]
[buildenv]
CCACHE_NOHASHDIR=1

View File

@@ -1,19 +0,0 @@
# https://github.com/ccache/ccache/wiki/MS-Visual-Studio#usage-with-cmake
find_program(ccache_exe ccache)
if(ccache_exe)
file(COPY_FILE
${ccache_exe} ${CMAKE_BINARY_DIR}/cl.exe
ONLY_IF_DIFFERENT)
# By default Visual Studio generators will use /Zi which is not compatible
# with ccache, so tell Visual Studio to use /Z7 instead.
message(STATUS "Setting MSVC debug information format to 'Embedded'")
set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<$<CONFIG:Debug,RelWithDebInfo>:Embedded>")
set(CMAKE_VS_GLOBALS
"CLToolExe=cl.exe"
"CLToolPath=${CMAKE_BINARY_DIR}"
"UseMultiToolTask=true"
)
endif()

View File

@@ -1,19 +0,0 @@
[settings]
os=Windows
arch=x86_64
compiler=msvc
compiler.version=195
compiler.cppstd=20
compiler.cstd=17
compiler.runtime=dynamic
build_type=Debug
[conf]
tools.cmake.cmaketoolchain:extra_variables={'BIGFOOT_CXX_FLAGS': {'value': '/W4;/WX;/EHs-;/D_HAS_EXCEPTIONS=0;/GR-;/fp:fast', 'cache': True, 'type': 'STRING', 'docstring': 'CXX flags for Bigfoot', 'force': True}}
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_C_FLAGS': {'value': '/W4;/WX;/fp:fast', 'cache': True, 'type': 'STRING', 'docstring': 'C flags for Bigfoot', 'force': True}}
tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/msvc_ccache.cmake
tools.build:cflags=["/Zc:preprocessor", "/Zc:__STDC__", "/D_CRT_DECLARE_NONSTDC_NAMES=1"]
tools.build:cxxflags=["/Zc:preprocessor", "/Zc:__cplusplus", "/Zc:enumTypes", "/Zc:templateScope", "/Zc:strictStrings", "/Zc:rvalueCast", "/Zc:hiddenFriend", "/Zc:externConstexpr", "/Zc:ternary"]
[tool_requires]
!cmake/*: cmake/[>=4.2]

View File

@@ -1,4 +1,7 @@
sources:
"25.12.19-2026-02-06-03fffb2-bigfoot":
url: "https://git.romainboullard.com/BigfootDev/flatbuffers-bigfoot/archive/v25.12.19-2026-02-06-03fffb2-bigfoot.tar.gz"
sha256: "501a1907df28950c50389b5f1c53c40cbb70428c20d9094ae57bb700a80f27c5"
"25.12.19":
url: "https://github.com/google/flatbuffers/archive/v25.12.19.tar.gz"
sha256: "f81c3162b1046fe8b84b9a0dbdd383e24fdbcf88583b9cb6028f90d04d90696a"

View File

@@ -1,4 +1,6 @@
versions:
"25.12.19-2026-02-06-03fffb2-bigfoot":
folder: all
"25.12.19":
folder: all
"25.9.23":

10
glm/all/conandata.yml Normal file
View File

@@ -0,0 +1,10 @@
sources:
"1.0.3":
url: "https://github.com/g-truc/glm/releases/download/1.0.3/glm-1.0.3.zip"
sha256: "1c0a0fced9b0d87c7b7bc94e40be490cff6d4c83c25db8488d8f33754e7fdeb2"
"1.0.1":
url: "https://github.com/g-truc/glm/releases/download/1.0.1/glm-1.0.1-light.zip"
sha256: "9A995DE4DA09723BD33EF194E6B79818950E5A8F2E154792F02E4615277CFB8D"
"0.9.9.8":
url: "https://github.com/g-truc/glm/releases/download/0.9.9.8/glm-0.9.9.8.zip"
sha256: "37e2a3d62ea3322e43593c34bae29f57e3e251ea89f4067506c94043769ade4c"

52
glm/all/conanfile.py Normal file
View File

@@ -0,0 +1,52 @@
from conan import ConanFile
from conan.tools.files import copy, get
from conan.tools.layout import basic_layout
from conan.tools.scm import Version
import os
required_conan_version = ">=1.50.0"
class GlmConan(ConanFile):
name = "glm"
description = "OpenGL Mathematics (GLM)"
topics = ("glm", "opengl", "mathematics")
url = "https://github.com/conan-io/conan-center-index"
homepage = "https://github.com/g-truc/glm"
license = "MIT"
package_type = "header-library"
settings = "os", "arch", "compiler", "build_type"
no_copy_source = True
def layout(self):
basic_layout(self, src_folder="src")
def package_id(self):
self.info.clear()
def source(self):
get(self, **self.conan_data["sources"][self.version], strip_root=self.version < Version("1.0.0"))
def build(self):
pass
def package(self):
if self.version < Version("1.0.0"):
copy(self, "copying.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
else:
copy(self, "copying.txt", src=os.path.join(self.source_folder, "glm"), dst=os.path.join(self.package_folder, "licenses"))
if self.version < Version("1.0.2"):
for headers in ("*.hpp", "*.inl", "*.h", "*.cppm"):
copy(self, headers, src=os.path.join(self.source_folder, "glm"),
dst=os.path.join(self.package_folder, "include", "glm"))
else:
for headers in ("*.hpp", "*.inl", "*.h", "*.cppm"):
copy(self, headers, src=os.path.join(self.source_folder, "glm"),
dst=os.path.join(self.package_folder, "include"))
def package_info(self):
self.cpp_info.set_property("cmake_file_name", "glm")
self.cpp_info.set_property("cmake_target_name", "glm::glm")
self.cpp_info.bindirs = []
self.cpp_info.libdirs = []

View File

@@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 3.15)
project(test_package LANGUAGES CXX)
find_package(glm REQUIRED CONFIG)
add_executable(${PROJECT_NAME} test_package.cpp)
target_link_libraries(${PROJECT_NAME} PRIVATE glm::glm)

View File

@@ -0,0 +1,26 @@
from conan import ConanFile
from conan.tools.build import can_run
from conan.tools.cmake import CMake, cmake_layout
import os
class TestPackageConan(ConanFile):
settings = "os", "arch", "compiler", "build_type"
generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv"
test_type = "explicit"
def layout(self):
cmake_layout(self)
def requirements(self):
self.requires(self.tested_reference_str)
def build(self):
cmake = CMake(self)
cmake.configure()
cmake.build()
def test(self):
if can_run(self):
bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package")
self.run(bin_path, env="conanrun")

View File

@@ -0,0 +1,11 @@
#include <cstdlib>
#include "glm/glm.hpp"
int main (int argc, char * argv[]) {
glm::vec4 position = glm::vec4(glm::vec3(0.0), 1.0);
glm::mat4 model = glm::mat4(1.0);
model[3] = glm::vec4(1.0, 1.0, 0.0, 1.0);
glm::vec4 transformed = model * position;
return EXIT_SUCCESS;
}

7
glm/config.yml Normal file
View File

@@ -0,0 +1,7 @@
versions:
"1.0.3":
folder: all
"1.0.1":
folder: all
"0.9.9.8":
folder: all

74
imgui/all/CMakeLists.txt Normal file
View File

@@ -0,0 +1,74 @@
cmake_minimum_required(VERSION 3.9)
project(imgui LANGUAGES CXX)
set(MISC_DIR ${IMGUI_SRC_DIR}/misc)
set(EXTRA_FONTS_DIR ${MISC_DIR}/fonts)
set(IMGUI_EXPORT_HEADERS imgui_export_headers.h)
file(GLOB SOURCE_FILES ${IMGUI_SRC_DIR}/*.cpp)
file(GLOB HEADER_FILES ${IMGUI_SRC_DIR}/*.h)
if(IMGUI_ENABLE_TEST_ENGINE)
message(STATUS "Building ImGui with test engine")
file(GLOB TEST_ENGINE_FILES ${IMGUI_TEST_ENGINE_DIR}/imgui_test_engine/*.cpp)
list(APPEND SOURCE_FILES ${TEST_ENGINE_FILES})
file(GLOB TEST_ENGINE_HEADER_FILES ${IMGUI_TEST_ENGINE_DIR}/imgui_test_engine/*.h)
list(APPEND HEADER_FILES ${TEST_ENGINE_HEADER_FILES})
else()
message(STATUS "Building ImGui without test engine")
endif()
file(GLOB EXTRA_FONTS_FILES ${EXTRA_FONTS_DIR}/*.ttf)
if (MSVC)
file(GLOB EXTRA_NATVIS_FILES ${MISC_DIR}/natvis/*.natvis)
endif()
set(BINARY_TO_COMPRESSED_BIN binary_to_compressed_c)
add_executable(${BINARY_TO_COMPRESSED_BIN} ${EXTRA_FONTS_DIR}/binary_to_compressed_c.cpp)
target_compile_features(${BINARY_TO_COMPRESSED_BIN} PRIVATE cxx_std_11)
add_library(${PROJECT_NAME} ${SOURCE_FILES})
if(IMGUI_WITH_SDL3_BINDING)
target_sources(${PROJECT_NAME} PRIVATE ${IMGUI_SRC_DIR}/backends/imgui_impl_sdl3.cpp)
list(APPEND HEADER_FILES ${IMGUI_SRC_DIR}/backends/imgui_impl_sdl3.h)
find_package(SDL3 REQUIRED CONFIG)
target_link_libraries(${PROJECT_NAME} PUBLIC SDL3::SDL3)
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES
CXX_VISIBILITY_PRESET hidden
VISIBILITY_INLINES_HIDDEN ON
)
include(GenerateExportHeader)
generate_export_header(${PROJECT_NAME}
EXPORT_MACRO_NAME IMGUI_API
EXPORT_FILE_NAME ${IMGUI_EXPORT_HEADERS}
)
target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${IMGUI_SRC_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
$<INSTALL_INTERFACE:include>
)
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
include(GNUInstallDirs)
install(TARGETS ${PROJECT_NAME}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS ${BINARY_TO_COMPRESSED_BIN}
DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES ${HEADER_FILES} ${CMAKE_CURRENT_BINARY_DIR}/${IMGUI_EXPORT_HEADERS}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
install(FILES ${EXTRA_FONTS_FILES}
DESTINATION ${CMAKE_INSTALL_PREFIX}/res/fonts
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
if (MSVC)
install(FILES ${EXTRA_NATVIS_FILES}
DESTINATION ${CMAKE_INSTALL_PREFIX}/res/natvis
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
endif()

101
imgui/all/conandata.yml Normal file
View File

@@ -0,0 +1,101 @@
# this package's recipe relies on version suffixes to handle imgui's docking branch.
# Suffix: -docking for docking branch sources
sources:
"1.92.7-docking":
core:
url: "https://github.com/ocornut/imgui/archive/v1.92.7-docking.tar.gz"
sha256: "2c58e28c957497eba0ed01c48a0bc5f118ec5f10a1c3721ba9436253a623bd72"
testengine:
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.92.7.tar.gz"
sha256: "3bb2320044854abb479facdde01c38c8af2e0257a630eb4b582b100a4fa60043"
"1.92.6":
core:
url: "https://github.com/ocornut/imgui/archive/v1.92.6.tar.gz"
sha256: "5b17c01f69545bde732b14936d89ce0f508adb83e8b56fa82448371845172bc3"
testengine:
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.92.6.tar.gz"
sha256: "5374ec2318933f9fc663d924529ea80e5fa40866e82fafc3872ae94a16fdbc7f"
"1.92.6-docking":
core:
url: "https://github.com/ocornut/imgui/archive/v1.92.6-docking.tar.gz"
sha256: "5e84cdaa6a6041586a0d11a3071b749734a0439d66fdbdad37ae5b27e37d396c"
testengine:
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.92.6.tar.gz"
sha256: "5374ec2318933f9fc663d924529ea80e5fa40866e82fafc3872ae94a16fdbc7f"
"1.92.2b":
core:
url: "https://github.com/ocornut/imgui/archive/v1.92.2b.tar.gz"
sha256: "da3d453cce74e0fb3d67f8d798a2a8d04fcaf0b33ce0e0131d0695dfc4f64191"
testengine:
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.92.2.tar.gz"
sha256: "5914327269b2dd9ad66bead3be8577f99f5f572d196bbe4028f6812cf0356adb"
"1.92.2b-docking":
core:
url: "https://github.com/ocornut/imgui/archive/v1.92.2b-docking.tar.gz"
sha256: "f6ad86e6f938fdda4d5e362b9a9b39158963dd3257fdc9902efc148c0c0c39f9"
testengine:
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.92.2.tar.gz"
sha256: "5914327269b2dd9ad66bead3be8577f99f5f572d196bbe4028f6812cf0356adb"
"1.91.8":
core:
url: "https://github.com/ocornut/imgui/archive/v1.91.8.tar.gz"
sha256: "db3a2e02bfd6c269adf0968950573053d002f40bdfb9ef2e4a90bce804b0f286"
testengine:
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.91.8.tar.gz"
sha256: "bdfc31cb819bd6e4df2d5da0316edf92b1011d1c4046293aafd9ae14106570e2"
"1.91.8-docking":
core:
url: "https://github.com/ocornut/imgui/archive/v1.91.8-docking.tar.gz"
sha256: "55f5e65abea635f2a8bfa9a92cd966448a363a262cf6dead7cc662fb0ab37612"
testengine:
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.91.8.tar.gz"
sha256: "bdfc31cb819bd6e4df2d5da0316edf92b1011d1c4046293aafd9ae14106570e2"
"1.90.9":
core:
url: "https://github.com/ocornut/imgui/archive/v1.90.9.tar.gz"
sha256: "04943919721e874ac75a2f45e6eb6c0224395034667bf508923388afda5a50bf"
"1.90.9-docking":
core:
url: "https://github.com/ocornut/imgui/archive/v1.90.9-docking.tar.gz"
sha256: "48e7e4e4f154ad98d0946126a84e2375f849f6a67792129a805817dd60a34330"
"1.90.5":
core:
url: "https://github.com/ocornut/imgui/archive/v1.90.5.tar.gz"
sha256: "e94b48dba7311c85ba8e3e6fe7c734d76a0eed21b2b42c5180fd5706d1562241"
testengine:
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.90.5.tar.gz"
sha256: "79339246d8c919c5926df0a7bee99be585ebaf67cdaba89a0ac314b1f7846f92"
"1.90.5-docking":
core:
url: "https://github.com/ocornut/imgui/archive/v1.90.5-docking.tar.gz"
sha256: "8a5e1e594d6c8552e46e4c1ba8dd9deb51262067f04937904babc04384533ccc"
testengine:
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.90.5.tar.gz"
sha256: "79339246d8c919c5926df0a7bee99be585ebaf67cdaba89a0ac314b1f7846f92"
"1.88":
core:
url: "https://github.com/ocornut/imgui/archive/v1.88.tar.gz"
sha256: "9f14c788aee15b777051e48f868c5d4d959bd679fc5050e3d2a29de80d8fd32e"
"1.87":
core:
url: "https://github.com/ocornut/imgui/archive/v1.87.tar.gz"
sha256: "b54ceb35bda38766e36b87c25edf7a1cd8fd2cb8c485b245aedca6fb85645a20"
"1.86":
core:
url: "https://github.com/ocornut/imgui/archive/v1.86.tar.gz"
sha256: "6ba6ae8425a19bc52c5e067702c48b70e4403cd339cba02073a462730a63e825"
"1.85":
core:
url: "https://github.com/ocornut/imgui/archive/v1.85.tar.gz"
sha256: "7ed49d1f4573004fa725a70642aaddd3e06bb57fcfe1c1a49ac6574a3e895a77"
patches:
"1.92.4":
- patch_file: "patches/1.92.4-0001-static-linking-bugfix-backport.patch"
patch_description: "Add missing export for a function needed by the backends"
patch_source: "https://github.com/ocornut/imgui/pull/9016"
patch_type: "backport"
"1.92.4-docking":
- patch_file: "patches/1.92.4-docking-0001-static-linking-bugfix-backport.patch"
patch_description: "Add missing export for a function needed by the backends"
patch_source: "https://github.com/ocornut/imgui/pull/9016"
patch_type: "backport"

127
imgui/all/conanfile.py Normal file
View File

@@ -0,0 +1,127 @@
import os
from conan import ConanFile
from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps
from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file
from conan.tools.scm import Version
required_conan_version = ">=1.53.0"
class IMGUIConan(ConanFile):
name = "imgui"
description = "Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies"
license = "MIT"
url = "https://github.com/conan-io/conan-center-index"
homepage = "https://github.com/ocornut/imgui"
topics = ("gui", "graphical", "bloat-free")
package_type = "library"
settings = "os", "arch", "compiler", "build_type"
options = {
"shared": [True, False],
"fPIC": [True, False],
"enable_test_engine": [True, False],
"with_sdl3_binding": [True, False],
}
default_options = {
"shared": False,
"fPIC": True,
"enable_test_engine": False,
"with_sdl3_binding": False,
}
def requirements(self):
if self.options.get_safe("with_sdl3_binding"):
self.requires("sdl/[>3 <4]", transitive_headers=True)
def export_sources(self):
copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder)
export_conandata_patches(self)
def config_options(self):
if self.settings.os == "Windows":
del self.options.fPIC
if "testengine" not in self.conan_data["sources"][self.version]:
self.output.warning("No test engine found for this version, removing test engine option")
del self.options.enable_test_engine
# sdl3 bindings were introduced with 1.89.3
# 1.91.8 is the oldest version that supports the latest sdl headers
if Version(self.version) < "1.91.8":
del self.options.with_sdl3_binding
def configure(self):
if self.options.shared:
self.options.rm_safe("fPIC")
def layout(self):
cmake_layout(self, src_folder="src")
def source(self):
get(self, **self.conan_data["sources"][self.version]["core"], strip_root=True)
if "testengine" in self.conan_data["sources"][self.version]:
get(self, **self.conan_data["sources"][self.version]["testengine"], strip_root=True, destination="test_engine")
self._patch_sources()
def generate(self):
tc = CMakeToolchain(self)
tc.variables["IMGUI_SRC_DIR"] = self.source_folder.replace("\\", "/")
tc.variables["IMGUI_WITH_SDL3_BINDING"] = self.options.get_safe("with_sdl3_binding", False)
# test engine is not available for all versions
if self.options.get_safe("enable_test_engine"):
tc.preprocessor_definitions["IMGUI_ENABLE_TEST_ENGINE"] = "1"
tc.preprocessor_definitions["IMGUI_TEST_ENGINE_ENABLE_COROUTINE_STDTHREAD_IMPL"] = "1"
tc.variables["IMGUI_ENABLE_TEST_ENGINE"] = "ON"
tc.variables["IMGUI_TEST_ENGINE_DIR"] = os.path.join(self.source_folder, "test_engine").replace("\\", "/")
tc.generate()
deps = CMakeDeps(self)
deps.generate()
def _patch_sources(self):
apply_conandata_patches(self)
# Ensure we take into account export_headers
replace_in_file(self,
os.path.join(self.source_folder, "imgui.h"),
"#ifdef IMGUI_USER_CONFIG",
"#include \"imgui_export_headers.h\"\n\n#ifdef IMGUI_USER_CONFIG"
)
def build(self):
cmake = CMake(self)
cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir))
cmake.build()
def package(self):
copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
backends_folder = os.path.join(self.source_folder, "backends")
copy(self, pattern="imgui_impl_*",
dst=os.path.join(self.package_folder, "res", "bindings"),
src=backends_folder)
copy(self, pattern="imgui*.cpp",
dst=os.path.join(self.package_folder, "res", "src"),
src=os.path.join(self.source_folder))
copy(self, pattern="*.*",
dst=os.path.join(self.package_folder, "res", "misc", "cpp"),
src=os.path.join(self.source_folder, "misc", "cpp"))
copy(self, pattern="*.*",
dst=os.path.join(self.package_folder, "res", "misc", "freetype"),
src=os.path.join(self.source_folder, "misc", "freetype"))
cmake = CMake(self)
cmake.install()
def package_info(self):
_is_docking_branch = "docking" in str(self.version)
self.conf_info.define("user.imgui:with_docking", _is_docking_branch)
self.cpp_info.libs = ["imgui"]
if self.settings.os == "Linux":
self.cpp_info.system_libs.append("m")
if self.settings.os == "Windows":
self.cpp_info.system_libs.append("imm32")
self.cpp_info.srcdirs = [os.path.join("res", "bindings")]
bin_path = os.path.join(self.package_folder, "bin")
self.output.info("Appending PATH env var with : {}".format(bin_path))
self.env_info.PATH.append(bin_path)

View File

@@ -0,0 +1,15 @@
diff --git imgui.h imgui.h
index 0a216b76..baeda39b 100644
--- imgui.h
+++ imgui.h
@@ -3978,8 +3978,8 @@ struct ImGuiPlatformIO
// Functions
//------------------------------------------------------------------
- void ClearPlatformHandlers(); // Clear all Platform_XXX fields. Typically called on Platform Backend shutdown.
- void ClearRendererHandlers(); // Clear all Renderer_XXX fields. Typically called on Renderer Backend shutdown.
+ IMGUI_API void ClearPlatformHandlers(); // Clear all Platform_XXX fields. Typically called on Platform Backend shutdown.
+ IMGUI_API void ClearRendererHandlers(); // Clear all Renderer_XXX fields. Typically called on Renderer Backend shutdown.
};
// (Optional) Support for IME (Input Method Editor) via the platform_io.Platform_SetImeDataFn() function. Handler is called during EndFrame().

View File

@@ -0,0 +1,15 @@
diff --git imgui.h imgui.h
index d0f071d2..8328e9a3 100644
--- imgui.h
+++ imgui.h
@@ -4235,8 +4235,8 @@ struct ImGuiPlatformIO
// Functions
//------------------------------------------------------------------
- void ClearPlatformHandlers(); // Clear all Platform_XXX fields. Typically called on Platform Backend shutdown.
- void ClearRendererHandlers(); // Clear all Renderer_XXX fields. Typically called on Renderer Backend shutdown.
+ IMGUI_API void ClearPlatformHandlers(); // Clear all Platform_XXX fields. Typically called on Platform Backend shutdown.
+ IMGUI_API void ClearRendererHandlers(); // Clear all Renderer_XXX fields. Typically called on Renderer Backend shutdown.
};
// (Optional) This is required when enabling multi-viewport. Represent the bounds of each connected monitor/display and their DPI.

View File

@@ -0,0 +1,20 @@
cmake_minimum_required(VERSION 3.15)
project(test_package LANGUAGES CXX)
find_package(imgui REQUIRED CONFIG)
add_executable(${PROJECT_NAME} test_package.cpp)
target_link_libraries(${PROJECT_NAME} PRIVATE imgui::imgui)
option(DOCKING "Test docking" OFF)
if (DOCKING)
target_compile_definitions(${PROJECT_NAME} PRIVATE -DDOCKING)
endif()
if(ENABLE_TEST_ENGINE)
target_compile_definitions(${PROJECT_NAME} PRIVATE -DENABLE_TEST_ENGINE)
endif()
target_compile_definitions(${PROJECT_NAME} PUBLIC "IMGUI_USER_CONFIG=\"${CMAKE_CURRENT_SOURCE_DIR}/my_imgui_config.h\"")
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)

View File

@@ -0,0 +1,35 @@
from conan import ConanFile
from conan.tools.build import can_run
from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain
import os
import re
class TestPackageConan(ConanFile):
settings = "os", "arch", "compiler", "build_type"
generators = "CMakeDeps", "VirtualRunEnv"
test_type = "explicit"
def requirements(self):
self.requires(self.tested_reference_str)
def layout(self):
cmake_layout(self)
def generate(self):
with_docking = self.dependencies[self.tested_reference_str].conf_info.get("user.imgui:with_docking", False)
with_test_engine = self.dependencies[self.tested_reference_str].options.get_safe("enable_test_engine", False)
tc = CMakeToolchain(self)
tc.variables["DOCKING"] = with_docking
tc.variables["ENABLE_TEST_ENGINE"] = with_test_engine
tc.generate()
def build(self):
cmake = CMake(self)
cmake.configure()
cmake.build()
def test(self):
if can_run(self):
bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package")
self.run(bin_path, env="conanrun")

View File

@@ -0,0 +1,11 @@
#pragma once
#include <stdio.h>
namespace ImGui
{
void MyFunction(const char* name) {
printf(" ImGui::MyFunction(%s)\n", name);
}
}

View File

@@ -0,0 +1,33 @@
#include <imgui.h>
#ifdef DOCKING
#include <imgui_internal.h>
#endif
#ifdef ENABLE_TEST_ENGINE
#include <imgui_te_engine.h>
#endif
#include <stdio.h>
int main(int, char**)
{
printf("IMGUI VERSION: %s\n", IMGUI_VERSION);
ImGui::CreateContext();
#ifdef DOCKING
printf(" with docking\n");
#endif
#ifdef ENABLE_TEST_ENGINE
printf(" with test engine\n");
ImGuiTestEngine *engine = ImGuiTestEngine_CreateContext();
if (engine == NULL) {
printf(" Failed to create test engine context\n");
return -1;
}
ImGui::DestroyContext();
ImGuiTestEngine_DestroyContext(engine);
#else
ImGui::DestroyContext();
#endif
return 0;
}

31
imgui/config.yml Normal file
View File

@@ -0,0 +1,31 @@
versions:
"1.92.7-docking":
folder: all
"1.92.6":
folder: all
"1.92.6-docking":
folder: all
"1.92.2b":
folder: all
"1.92.2b-docking":
folder: all
"1.91.8":
folder: all
"1.91.8-docking":
folder: all
"1.90.9":
folder: all
"1.90.9-docking":
folder: all
"1.90.5":
folder: all
"1.90.5-docking":
folder: all
"1.88":
folder: all
"1.87":
folder: all
"1.86":
folder: all
"1.85":
folder: all

View File

@@ -1,4 +1,7 @@
sources:
"1.1":
url: "https://github.com/zeux/meshoptimizer/archive/refs/tags/v1.1.tar.gz"
sha256: "b787011f81b4b3069c2f9065b7c191efdd4189a49be32ba5282dd5579f05261a"
"1.0":
url: "https://github.com/zeux/meshoptimizer/archive/refs/tags/v1.0.tar.gz"
sha256: "30d1c3651986b2074e847b17223a7269c9612ab7f148b944250f81214fed4993"

View File

@@ -1,4 +1,6 @@
versions:
"1.1":
folder: all
"1.0":
folder: all
"0.25":

View File

@@ -1,4 +1,10 @@
sources:
"3.3.2":
url: "https://github.com/microsoft/mimalloc/archive/v3.3.2.tar.gz"
sha256: "ca02384e007f46950598500dfaebde5ff9948c1d231f5a81b058799afa64bbbb"
"3.3.1":
url: "https://github.com/microsoft/mimalloc/archive/v3.3.1.tar.gz"
sha256: "42c16914168ac6741eeb407e83b93a12b2b7ee25a7e14e6b4807fab8b577a540"
"3.2.8":
url: "https://github.com/microsoft/mimalloc/archive/v3.2.8.tar.gz"
sha256: "68163666575518c213a6593850099adce3863b340ca2751103dbd1f253664e05"

View File

@@ -1,4 +1,8 @@
versions:
"3.3.2":
folder: all
"3.3.1":
folder: all
"3.2.8":
folder: all
"3.1.5":

22
mold/README.md Normal file
View File

@@ -0,0 +1,22 @@
# mold: A Modern Linker
mold is a faster drop-in replacement for existing Unix linkers. It is several
times quicker than the LLVM lld linker, the second-fastest open-source linker.
mold aims to enhance developer productivity by minimizing build time,
particularly in rapid debug-edit-rebuild cycles.
You can configure Conan to download the latest version of `mold` and use it as the linker
when building your dependencies and projects from source. Currently only supported
when targeting Linux as the platform.
To use mold automatically as the linker, you can add the following section to your
_host_ profile that targets Linux. When using gcc, please note that the following
flags require gcc 12.1 or greater.
```
[tool_requires]
*:mold/[*]
[conf]
tools.build:exelinkflags=['-fuse-ld=mold']
tools.build:sharedlinkflags=['-fuse-ld=mold']
```

39
mold/all/conandata.yml Normal file
View File

@@ -0,0 +1,39 @@
sources:
"2.41.0":
url: "https://github.com/rui314/mold/archive/refs/tags/v2.41.0.tar.gz"
sha256: "0a61abac85d818437b425df856822e9d6e9982baeae5a93bcb02fe6c0060c61a"
"2.40.1":
url: "https://github.com/rui314/mold/archive/refs/tags/v2.40.1.tar.gz"
sha256: "d1ce09a69941f8158604c3edcc96c7178231e7dba2da66b20f5ef6e112c443b7"
"2.36.0":
url: "https://github.com/rui314/mold/archive/refs/tags/v2.36.0.tar.gz"
sha256: "3f57fe75535500ecce7a80fa1ba33675830b7d7deb1e5ee9a737e2bc43cdb1c7"
"2.34.1":
url: "https://github.com/rui314/mold/archive/refs/tags/v2.34.1.tar.gz"
sha256: "a8cf638045b4a4b2697d0bcc77fd96eae93d54d57ad3021bf03b0333a727a59d"
"2.33.0":
url: "https://github.com/rui314/mold/archive/refs/tags/v2.33.0.tar.gz"
sha256: "37b3aacbd9b6accf581b92ba1a98ca418672ae330b78fe56ae542c2dcb10a155"
"2.32.1":
url: "https://github.com/rui314/mold/archive/refs/tags/v2.32.1.tar.gz"
sha256: "f3c9a527d884c635834fe7d79b3de959b00783bf9446280ea274d996f0335825"
"2.32.0":
url: "https://github.com/rui314/mold/archive/refs/tags/v2.32.0.tar.gz"
sha256: "4b7e4146ea0f52be9adae8b417399f3676a041e65b55e3f25f088120d30a320b"
"2.31.0":
url: "https://github.com/rui314/mold/archive/refs/tags/v2.31.0.tar.gz"
sha256: "3dc3af83a5d22a4b29971bfad17261851d426961c665480e2ca294e5c74aa1e5"
"2.4.0":
url: "https://github.com/rui314/mold/archive/refs/tags/v2.4.0.tar.gz"
sha256: "be65f3d785d32ece7b3204ecaa57810847fdd25c232cf704cbfff2dafb1ac107"
"2.0.0":
url: "https://github.com/rui314/mold/archive/refs/tags/v2.0.0.tar.gz"
sha256: "2ae8a22db09cbff626df74c945079fa29c1e5f60bbe02502dcf69191cf43527b"
"1.11.0":
url: "https://github.com/rui314/mold/archive/refs/tags/v1.11.0.tar.gz"
sha256: "99318eced81b09a77e4c657011076cc8ec3d4b6867bd324b8677974545bc4d6f"
patches:
"2.40.1":
- patch_file: "patches/2.40.1/0001-patch-enforce-c-11-for-tbb.patch"
patch_description: "Fix bundled oneTBB build by enforcing C++11 standard"
patch_type: "conan"

125
mold/all/conanfile.py Normal file
View File

@@ -0,0 +1,125 @@
import os
from conan import ConanFile
from conan.tools.build import check_min_cppstd
from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps
from conan.tools.files import copy, get, rmdir, apply_conandata_patches, export_conandata_patches
from conan.errors import ConanInvalidConfiguration
from conan.tools.scm import Version
from conan.tools.env import VirtualBuildEnv
required_conan_version = ">2.0"
class MoldConan(ConanFile):
name = "mold"
description = (
"mold is a faster drop-in replacement for existing Unix linkers. "
"It is several times faster than the LLVM lld linker."
)
license = ("AGPL-3.0", "MIT")
url = "https://github.com/conan-io/conan-center-index"
homepage = "https://github.com/rui314/mold/"
topics = ("ld", "linkage", "compilation", "pre-built")
package_type = "application"
settings = "os", "arch", "compiler", "build_type"
options = {
"with_mimalloc": [True, False],
}
default_options = {
"with_mimalloc": False,
}
def configure(self):
if Version(self.version) < "2.0.0":
self.license = "AGPL-3.0"
else:
self.license = "MIT"
def layout(self):
cmake_layout(self, src_folder="src")
def requirements(self):
self.requires("zlib/[>=1.2.11 <2]")
self.requires("xxhash/0.8.2")
if self.options.with_mimalloc:
self.requires("mimalloc/3.3.1@bigfootdev/main")
if Version(self.version) < "2.2.0":
# Newer versions use vendored-in BLAKE3
self.requires("openssl/[>=1.1 <4]")
def package_id(self):
del self.info.settings.compiler
def validate_build(self):
# perform these checks in validate_build() - since the compiler is removed from the package_id,
# this lets the compatibility plugin consider the executable built with other compilers
if Version(self.version) >= "2.34.0":
# mold has required C+20 since 1.4.1. However, C++20 features are used for the first time in 2.34.0.
check_min_cppstd(self, 20)
if self.settings.compiler in ["gcc", "clang", "intel-cc"] and self.settings.compiler.libcxx != "libstdc++11":
raise ConanInvalidConfiguration('Mold can only be built with libstdc++11; specify mold:compiler.libcxx=libstdc++11 in your build profile')
if self.settings.compiler == "msvc":
raise ConanInvalidConfiguration(f'{self.name} can not be built on {self.settings.os}.')
if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "10":
raise ConanInvalidConfiguration("GCC version 10 or higher required")
if self.settings.compiler in ('clang', 'apple-clang') and Version(self.settings.compiler.version) < "12":
raise ConanInvalidConfiguration("Clang version 12 or higher required")
if Version(self.version) >= "2.34.0" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "14":
raise ConanInvalidConfiguration("Apple-Clang version 14 or higher required due to C++20 features")
if self.settings.compiler == "apple-clang" and "armv8" == self.settings.arch :
raise ConanInvalidConfiguration(f'{self.name} is still not supported by Mac M1.')
if Version(self.version) == "2.33.0" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "14":
raise ConanInvalidConfiguration(f'{self.ref} doesn\'t support Apple-Clang < 14.')
def build_requirements(self):
self.tool_requires("cmake/[>=3.18.0 <4]")
def export_sources(self):
export_conandata_patches(self)
def source(self):
get(self, **self.conan_data["sources"][self.version], strip_root=True)
apply_conandata_patches(self)
def generate(self):
tc = CMakeToolchain(self)
tc.variables["MOLD_USE_MIMALLOC"] = self.options.with_mimalloc
tc.variables["MOLD_USE_SYSTEM_MIMALLOC"] = True
tc.variables["MOLD_USE_SYSTEM_TBB"] = False # see https://github.com/conan-io/conan-center-index/pull/23575#issuecomment-2059154281
tc.variables["CMAKE_INSTALL_LIBEXECDIR"] = "libexec"
tc.generate()
cd = CMakeDeps(self)
cd.generate()
vbe = VirtualBuildEnv(self)
vbe.generate()
def build(self):
cmake = CMake(self)
cmake.configure()
cmake.build()
def package(self):
cmake = CMake(self)
cmake.install()
copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
rmdir(self, os.path.join(self.package_folder, "share"))
def package_info(self):
self.cpp_info.includedirs = []
self.cpp_info.libdirs = []
self.cpp_info.frameworkdirs = []
self.cpp_info.resdirs = []
if self.settings.os in ["Linux", "FreeBSD"]:
self.cpp_info.system_libs = ["m", "pthread", "dl"]
bindir = os.path.join(self.package_folder, "bin")
mold_executable = os.path.join(bindir, "mold")
self.conf_info.define("user.mold:path", mold_executable)
self.buildenv_info.define_path("MOLD_ROOT", bindir)
self.buildenv_info.define("LD", mold_executable)

View File

@@ -0,0 +1,28 @@
From 2f29fc752620180d88e82792adb2ff8a1d886bd1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tim=20Friedrich=20Br=C3=BCggemann?=
<tim.brueggemann@dampsoft.de>
Date: Tue, 17 Jun 2025 09:48:43 +0200
Subject: [PATCH] patch: Enforce C++11 for TBB
---
third-party/tbb/CMakeLists.txt | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/third-party/tbb/CMakeLists.txt b/third-party/tbb/CMakeLists.txt
index 12273b3e..21c4e2ef 100644
--- a/third-party/tbb/CMakeLists.txt
+++ b/third-party/tbb/CMakeLists.txt
@@ -77,9 +77,7 @@ include(CMakeDependentOption)
# ---------------------------------------------------------------------------------------------------------
# Handle C++ standard version.
if (NOT MSVC) # no need to cover MSVC as it uses C++14 by default.
- if (NOT CMAKE_CXX_STANDARD)
- set(CMAKE_CXX_STANDARD 11)
- endif()
+ set(CMAKE_CXX_STANDARD 11)
if (CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION) # if standard option was detected by CMake
set(CMAKE_CXX_STANDARD_REQUIRED ON)
--
2.25.1

View File

@@ -0,0 +1,13 @@
from conan import ConanFile
from conan.tools.build import can_run
class MoldTestConan(ConanFile):
settings = "os", "compiler", "build_type", "arch"
def requirements(self):
self.requires(self.tested_reference_str)
def test(self):
if can_run(self):
self.run("mold -v", env="conanrun")

23
mold/config.yml Normal file
View File

@@ -0,0 +1,23 @@
versions:
"2.41.0":
folder: all
"2.40.1":
folder: all
"2.36.0":
folder: all
"2.34.1":
folder: all
"2.33.0":
folder: all
"2.32.1":
folder: all
"2.32.0":
folder: all
"2.31.0":
folder: all
"2.4.0":
folder: all
"2.0.0":
folder: all
"1.11.0":
folder: all

View File

@@ -1,4 +1,7 @@
sources:
"3.53.1":
url: "https://sqlite.org/2026/sqlite-amalgamation-3530100.zip"
sha256: "36ad6e7f38540a3b21a2ac36340833f0a9e426bc1c752751c3ba669466827eae"
"3.51.2":
url: "https://sqlite.org/2026/sqlite-amalgamation-3510200.zip"
sha256: "6e2a845a493026bdbad0618b2b5a0cf48584faab47384480ed9f592d912f23ec"

View File

@@ -1,4 +1,6 @@
versions:
"3.53.1":
folder: all
"3.51.2":
folder: all
"3.51.0":

View File

@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.10)
project(test_package LANGUAGES CXX)
find_package(vulkan-validationlayers REQUIRED CONFIG)