@@ -27,6 +27,7 @@ WITH_BENCHMARK ?=
2727WITH_ASAN ?=
2828WITH_SVS ?=
2929WITH_CARDINAL ?=
30+ CARDINAL_VERSION_FORCE_CHECKOUT ?=
3031WITH_DEBUG ?=
3132CONAN_PROFILE ?=
3233
@@ -35,7 +36,7 @@ CONAN_PROFILE ?=
3536# variables such as WITH_ASAN to every sub-process, which causes the custom
3637# folly recipe to pick up $ENV{WITH_ASAN} and compile folly itself with
3738# -fsanitize=address — breaking the build on GCC.
38- unexport WITH_GPU WITH_UT WITH_BENCHMARK WITH_ASAN WITH_CARDINAL WITH_DEBUG
39+ unexport WITH_GPU WITH_UT WITH_BENCHMARK WITH_ASAN WITH_CARDINAL CARDINAL_VERSION_FORCE_CHECKOUT WITH_DEBUG
3940
4041# ---------- Derived settings ----------
4142ifdef WITH_DEBUG
@@ -92,6 +93,16 @@ ifdef WITH_CARDINAL
9293 CONAN_SETTINGS += -o \&:with_cardinal=True
9394endif
9495
96+ ifneq ($(CARDINAL_VERSION_FORCE_CHECKOUT ) ,)
97+ ifneq ($(filter True true ON on 1,$(CARDINAL_VERSION_FORCE_CHECKOUT)),)
98+ CONAN_SETTINGS += -o \&:cardinal_version_force_checkout=True
99+ else ifneq ($(filter False false OFF off 0,$(CARDINAL_VERSION_FORCE_CHECKOUT)),)
100+ CONAN_SETTINGS += -o \&:cardinal_version_force_checkout=False
101+ else
102+ $(error CARDINAL_VERSION_FORCE_CHECKOUT must be True/False, ON/OFF, or 1/0)
103+ endif
104+ endif
105+
95106ifdef CONAN_PROFILE
96107 CONAN_SETTINGS += -pr $(CONAN_PROFILE )
97108endif
@@ -160,6 +171,7 @@ help: ## Show available targets
160171 @echo " WITH_ASAN=True Enable AddressSanitizer"
161172 @echo " WITH_SVS=True Enable SVS (Intel Scalable Vector Search, x86 only)"
162173 @echo " WITH_CARDINAL=True Enable Cardinal build"
174+ @echo " CARDINAL_VERSION_FORCE_CHECKOUT=True Force Cardinal checkout to configured version"
163175 @echo " WITH_DEBUG=True Debug build (default: Release)"
164176 @echo " CONAN_PROFILE=<p> Use a custom Conan profile (e.g. clang, gcc-15)"
165177 @echo " LIBCXX=<lib> Override compiler.libcxx (auto-detected from OS)"
0 commit comments