diff --git a/tree/tree/test/CMakeLists.txt b/tree/tree/test/CMakeLists.txt
index c4847a4fe97ea0ed06a23ab245025edfa68b581a..d85c1621dbea11e5578958902fb708ce9011f2f6 100644
--- a/tree/tree/test/CMakeLists.txt
+++ b/tree/tree/test/CMakeLists.txt
@@ -1,11 +1,10 @@
 
-ROOT_STANDARD_LIBRARY_PACKAGE(ElementStruct NO_INSTALL_HEADERS HEADERS ElementStruct.h SOURCES ElementStruct.cxx LINKDEF ElementStructLinkDef.h DEPENDENCIES RIO)
-if(MSVC)
-  add_custom_command(TARGET ElementStruct POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/libElementStruct.dll
-                                     ${CMAKE_CURRENT_BINARY_DIR}/libElementStruct.dll)
-endif()
-ROOT_ADD_GTEST(testTOffsetGeneration TOffsetGeneration.cxx LIBRARIES RIO Tree MathCore ElementStruct)
+ROOT_GENERATE_DICTIONARY(ElementStructDict ElementStruct.h LINKDEF ElementStructLinkDef.h OPTIONS -inlineInputHeader)
+ROOT_ADD_GTEST(testTOffsetGeneration TOffsetGeneration.cxx ElementStruct.cxx ElementStructDict.cxx
+  COPY_TO_BUILDDIR ElementStruct.h
+  LIBRARIES RIO Tree MathCore
+)
+target_include_directories(testTOffsetGeneration PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
 ROOT_ADD_GTEST(testTBasket TBasket.cxx LIBRARIES RIO Tree)
 ROOT_ADD_GTEST(testTBranch TBranch.cxx LIBRARIES RIO Tree MathCore)
 ROOT_ADD_GTEST(testTIOFeatures TIOFeatures.cxx LIBRARIES RIO Tree)