From: Markus Blatt <markus@dr-blatt.de>
Date: Tue, 29 Apr 2025 12:35:18 +0200
Subject: Prevent pybind11 from stripping-debug-symbols

---
 CMakeLists.txt | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index a4ec4e5..5412d66 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -703,7 +703,15 @@ if(BUILD_FLOW_FLOAT_VARIANTS)
 endif()
 
 if (OPM_ENABLE_PYTHON)
+  # pybind11 will always strip debug symbols if CMAKE_BUILD_TYPE is empty
+  # We simply reset here to Debug to prevent stripping.
+  set(OLD_CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}")
+  set(OLD_DEBUG_FLAGS "${CMAKE_CXX_FLAGS_DEBUG}")
+  set(CMAKE_BUILD_TYPE Debug)
+  set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS}")
   add_subdirectory(python)
+  set(CMAKE_BUILD_TYPE "${OLD_CMAKE_BUILD_TYPE}")
+  set(CMAKE_CXX_FLAGS_DEBUG "${OLD_DEBUG_FLAGS}")
 endif()
 
 add_custom_target(extra_test ${CMAKE_CTEST_COMMAND} -C ExtraTests)
