Reflex_generate_dictionary

For my project, I usually rely on the latest ROOT from dev3 LCG nightly builds.

Starting this week I can not build my project anymore, due to CMAKE error message for dictionary generation:

CMake Error at /cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev3/Wed/ROOT/HEAD/x86_64-centos7-gcc12-opt/cmake/RootMacros.cmake:188 (add_custom_command):
  Error evaluating generator expression:

    $<TARGET_PROPERTY:,COMPILE_DEFINITIONS>

  $<TARGET_PROPERTY:tgt,prop> expression requires a non-empty target name.
Call Stack (most recent call first):
  source/CMakeROOT_6_23.cmake:179 (REFLEX_GENERATE_DICTIONARY)
  source/CMakeLists.txt:14 (include)

The error is caused by the following line in my cmake file:

REFLEX_GENERATE_DICTIONARY( ostap     ${CMAKE_CURRENT_SOURCE_DIR}/src/dict/Ostap.hh 
                            SELECTION ${CMAKE_CURRENT_SOURCE_DIR}/src/dict/Ostap.xml )

It looks like that something changes in ROOT-CMAKE build system for generation of disctionaries.
How should I update my cmake code?


ROOT Version: 6/27 from dev3 nightly LCG slot
Platform: x86_64-centos7-gcc12-opt
Compiler: x86_64-centos7-gcc12-opt


May be @bellenot has an idea.

I don’t see anything obvious… Could it be due to this commit by @pcanal ?

Likely it is a reason - since it matches in time.
But what is the solution ?
Shoulld I update my code somehow?

Let’s see what @pcanal says

Yes, that commit is faulty. It is corrected at: [cmake] Correct typo in REFLEX_GENERATE_DICTIONARY. by pcanal · Pull Request #11462 · root-project/root · GitHub

1 Like

Thank you!
I’ll make a test as soon as it propagates to dev3/LCG nightly slot

@pcanal
Today it works with dev3/LCG nightly slot.
Thank you for the quick fix!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.