Unity builds for Minuit2 and libzmq, shallow dependency clones

Minuit2's ~60 small files took 45 s of summed compile time in a Release
build (32 s in Debug); batched into unity sources that drops to 9 s (5 s)
with all [fit] tests passing. libzmq gets the same treatment on its
"objects" OBJECT library for when AARE_ZMQ is on: 37 s -> 7 s of CPU,
same warnings, identical exported symbols apart from one implicitly
defined destructor that is now inlined at its single use.

All git-fetched dependencies are shallow clones like Catch2 already was.
A fresh configure with network access went from 13.4 s to 10.5 s here and
the checkouts shrink from 19 MB to 3.7 MB (fmt) and 15 MB to 3.7 MB
(pybind11).
This commit is contained in:
Erik Fröjdh committed 2026-10-06 21:38:42 +02:00
1 parent 62e6c8fe13
commit 425133de3f
4 files changed
+21 -2

No files matched your search

+2 -1
View File
@@ -11,7 +11,8 @@ if(AARE_FETCH_PYBIND11)
FetchContent_Declare(
pybind11
GIT_REPOSITORY https://github.com/pybind/pybind11
GIT_TAG v3.0.3)
GIT_TAG v3.0.3
GIT_SHALLOW TRUE)
FetchContent_MakeAvailable(pybind11)
else()
find_package(pybind11 3.0.3 REQUIRED)