From 8619865dde1c474e00be4b19d029310bfc68df7e Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Sun, 1 Mar 2026 11:21:01 +0100 Subject: [PATCH] fix linker errors: add HDF5 C++ lib and FFTW3 include paths - Add ${HDF5_LIBRARIES} to PMusr link dependencies so HDF5 C++ symbols (H5::DataType, H5::PredType, etc.) used in PRunDataHandler.cpp resolve. - Add ${FFTW3_INCLUDE} to musrRootValidation and write_musrRoot_runHeader include paths; both pull in PMusr.h which transitively includes fftw3.h. Co-Authored-By: Claude Sonnet 4.6 --- src/CMakeLists.txt | 6 ++++-- src/classes/CMakeLists.txt | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f47fc441c..69ba03e24 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -107,11 +107,12 @@ target_link_libraries(musrFT FFTW3::FFTW3 ${ROOT_LIBRARIES} ${MUSRFIT_LIBS}) add_executable(musrRootValidation musrRootValidation.cpp) target_compile_options(musrRootValidation BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}") -target_include_directories(musrRootValidation +target_include_directories(musrRootValidation BEFORE PRIVATE $ $ $ + $ $ ) target_link_libraries(musrRootValidation ${ROOT_LIBRARIES} ${MUSRFIT_LIBS} ${LIBXML2_LIBRARIES}) @@ -141,11 +142,12 @@ target_link_libraries(musrview FFTW3::FFTW3 ${ROOT_LIBRARIES} ${MUSRFIT_LIBS}) add_executable(write_musrRoot_runHeader write_musrRoot_runHeader.cpp) target_compile_options(write_musrRoot_runHeader BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}") -target_include_directories(write_musrRoot_runHeader +target_include_directories(write_musrRoot_runHeader BEFORE PRIVATE $ $ $ + $ $ $ ) diff --git a/src/classes/CMakeLists.txt b/src/classes/CMakeLists.txt index 3b1c99c80..decafc101 100644 --- a/src/classes/CMakeLists.txt +++ b/src/classes/CMakeLists.txt @@ -206,6 +206,7 @@ set(DependOnLibs ${DependOnLibs} Class_MuSR_PSI) if (nexus) set(DependOnLibs ${DependOnLibs} ${LIBNEXUS_LIBRARY}) set(DependOnLibs ${DependOnLibs} PNeXus) + set(DependOnLibs ${DependOnLibs} ${HDF5_LIBRARIES}) endif (nexus) if (OpenMP_FOUND) set(DependOnLibs ${DependOnLibs} OpenMP::OpenMP_CXX)