Commit ccb08278 authored by Simon Spannagel's avatar Simon Spannagel
Browse files

ROOT dictionary: also headers passed to macro need to obey order

(cherry picked from commit 55e3dcc5)
parent d7f202ce
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -34,18 +34,20 @@ TARGET_LINK_LIBRARIES(AllpixObjects PUBLIC ${ALLPIX_DEPS_LIBRARIES})
TARGET_INCLUDE_DIRECTORIES(AllpixObjects PUBLIC $<INSTALL_INTERFACE:include>)

# Generate the ROOT dictionary
# NOTE these headers will be inlined in the generated dictionary. Therefore their order needs to reflect dependencies
# between them such that at the time of reference, all classes are defined already.
ROOT_GENERATE_DICTIONARY(
    AllpixObjectsDictionary
    ${CMAKE_CURRENT_SOURCE_DIR}/Object.hpp
    ${CMAKE_CURRENT_SOURCE_DIR}/MCTrack.hpp
    ${CMAKE_CURRENT_SOURCE_DIR}/MCParticle.hpp
    ${CMAKE_CURRENT_SOURCE_DIR}/SensorCharge.hpp
    ${CMAKE_CURRENT_SOURCE_DIR}/PropagatedCharge.hpp
    ${CMAKE_CURRENT_SOURCE_DIR}/DepositedCharge.hpp
    ${CMAKE_CURRENT_SOURCE_DIR}/PixelCharge.hpp
    ${CMAKE_CURRENT_SOURCE_DIR}/Pulse.hpp
    ${CMAKE_CURRENT_SOURCE_DIR}/Pixel.hpp
    ${CMAKE_CURRENT_SOURCE_DIR}/PropagatedCharge.hpp
    ${CMAKE_CURRENT_SOURCE_DIR}/PixelCharge.hpp
    ${CMAKE_CURRENT_SOURCE_DIR}/PixelHit.hpp
    ${CMAKE_CURRENT_SOURCE_DIR}/Pulse.hpp
    ${CMAKE_CURRENT_SOURCE_DIR}/MCParticle.hpp
    ${CMAKE_CURRENT_SOURCE_DIR}/MCTrack.hpp
    MODULE
    AllpixObjects
    LINKDEF
+1 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
// NOTE: The order here is important - classes that are used or included in other classes need to be placed first such that
// all dependencies can be resolved also when inlining these headers for dictionary generation.
#pragma link C++ class allpix::Object + ;

#pragma link C++ class allpix::MCTrack + ;
#pragma link C++ class allpix::Object::PointerWrapper < allpix::MCTrack> + ;
#pragma link C++ class allpix::Object::BaseWrapper < allpix::MCTrack> + ;