Skip to content

Commit 01dfd1f

Browse files
committed
[build] Simplify CMake in ATLAS DataVector test directory
Using the `NO_CXXMODULE` option of `ROOTTEST_GENERATE_DICTIONARY` produces dictionary artifacts that correctly reproduce the ATLAS environment (i.e. there are no C++ module neither modulemap produced in the test build directory).
1 parent 3d01f17 commit 01dfd1f

File tree

1 file changed

+6
-21
lines changed

1 file changed

+6
-21
lines changed

roottest/root/ntuple/atlas-datavector/CMakeLists.txt

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,13 @@ endif()
1515
# the ATLAS Athena build. Contributors
1616
# - It always builds the C++ module from the dictionary (in a module build of ROOT)
1717
# - It changes names of artifacts (e.g. removes the "lib" prefix from the shared library)
18-
set(CMAKE_ROOTTEST_DICT OFF)
19-
set(ATLASLIKEDATAVECTOR_DICTNAME AtlasLikeDataVectorDict)
20-
ROOT_GENERATE_DICTIONARY(
21-
${ATLASLIKEDATAVECTOR_DICTNAME}
22-
${CMAKE_CURRENT_SOURCE_DIR}/AtlasLikeDataVector.hxx
23-
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/selection.xml
18+
ROOTTEST_GENERATE_DICTIONARY(
19+
AtlasLikeDataVectorDict
20+
NO_CXXMODULE
21+
${CMAKE_CURRENT_SOURCE_DIR}/AtlasLikeDataVector.hxx
22+
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/selection.xml
23+
FIXTURES_SETUP atlas_datavector_dict_setup
2424
)
25-
ROOTTEST_TARGETNAME_FROM_FILE(GENERATE_DICTIONARY_TEST ${ATLASLIKEDATAVECTOR_DICTNAME})
26-
set(GENERATE_DICTIONARY_TEST ${GENERATE_DICTIONARY_TEST}-build)
27-
28-
# Generate a shared library from the dictionary sources
29-
set(ATLASLIKEDATAVECTOR_LIB ${ATLASLIKEDATAVECTOR_DICTNAME}libgen)
30-
add_library(${ATLASLIKEDATAVECTOR_LIB} SHARED ${ATLASLIKEDATAVECTOR_DICTNAME}.cxx)
31-
set_target_properties(${ATLASLIKEDATAVECTOR_LIB} PROPERTIES ${ROOT_LIBRARY_PROPERTIES})
32-
set_target_properties(${ATLASLIKEDATAVECTOR_LIB} PROPERTIES OUTPUT_NAME ${ATLASLIKEDATAVECTOR_DICTNAME})
33-
target_link_libraries(${ATLASLIKEDATAVECTOR_LIB} Core RIO ROOTNTuple)
34-
add_dependencies(${ATLASLIKEDATAVECTOR_LIB} ${ATLASLIKEDATAVECTOR_DICTNAME})
35-
36-
add_test(NAME ${GENERATE_DICTIONARY_TEST}
37-
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}
38-
--target ${ATLASLIKEDATAVECTOR_DICTNAME} ${ATLASLIKEDATAVECTOR_LIB})
39-
set_property(TEST ${GENERATE_DICTIONARY_TEST} PROPERTY FIXTURES_SETUP atlas_datavector_dict_setup)
4025

4126
# Generate an executable to write an RNTuple with a field of type
4227
# AtlasLikeDataVector<CustomStruct>. Note that we don't link explicitly

0 commit comments

Comments
 (0)