From 3174b320b2a057b614f6c2ded57707b58e59d841 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 2380329e9..1fe132024 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -106,11 +106,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}) @@ -140,11 +141,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 2688ded6d..b2bd57547 100644 --- a/src/classes/CMakeLists.txt +++ b/src/classes/CMakeLists.txt @@ -196,6 +196,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)