From 9f8a4d25b58141c59e198535e5c0b4ac5cd60150 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 25 Dec 2025 12:21:12 +0500 Subject: [PATCH] cmake export - fix issue finding `zstd` config on Windows --- cmake/CMakeLists.txt | 1 + cmake/IfcOpenShellConfig.cmake.in | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 43b9ba8913..9e88026ac7 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -242,6 +242,7 @@ if(WITH_ROCKSDB) # find it's zstd dependency on Windows. # Only do it on Windows, otherwise it might create problems as # findzstd and zstd-config target names do not match. + # https://github.com/facebook/rocksdb/pull/13975 if(WIN32) set(TEMP CMAKE_FIND_PACKAGE_PREFER_CONFIG) set(CMAKE_FIND_PACKAGE_PREFER_CONFIG TRUE) diff --git a/cmake/IfcOpenShellConfig.cmake.in b/cmake/IfcOpenShellConfig.cmake.in index 414066668d..95df6180f9 100644 --- a/cmake/IfcOpenShellConfig.cmake.in +++ b/cmake/IfcOpenShellConfig.cmake.in @@ -19,7 +19,20 @@ find_dependency(Eigen3 CONFIG) if(IFCOPENSHELL_WITH_ROCKSDB) find_dependency(zstd CONFIG) + + # Temporaily mess with CMAKE_FIND_PACKAGE_PREFER_CONFIG to help RocksDB + # find it's zstd dependency on Windows. + # Only do it on Windows, otherwise it might create problems as + # findzstd and zstd-config target names do not match. + # https://github.com/facebook/rocksdb/pull/13975 + if(WIN32) + set(TEMP CMAKE_FIND_PACKAGE_PREFER_CONFIG) + set(CMAKE_FIND_PACKAGE_PREFER_CONFIG TRUE) + endif() find_dependency(RocksDB CONFIG) + if(WIN32) + set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ${TEMP}) + endif() endif() if(IFCOPENSHELL_IFCXML)