root icon indicating copy to clipboard operation
root copied to clipboard

Allow multiple calls to REFLEX_GENERATE_DICTIONARY

Open Dr15Jones opened this issue 1 year ago • 0 comments

Explain what you would like to see improved and how.

The CMake function REFLEX_GENERATE_DICTIONARY can only be called once for each CMake target as it generates a file based on the target name.

In CMS code, we allow multiple classes_def*.xml files for each library being created. This has sped up compilation and avoids excessing memory use by the compiler. Because of the restriction in REFLEX_GENERATE_DICTIONARY , my experiments to use CMake to generate some CMSSW code was unable to use that function.

It appears that if REFLEX_GENERATE_DICTIONARY used part of the name of the SELECTION argument for the generate class name it could be possible to have multiple calls to the function for the same target.

ROOT version

   ------------------------------------------------------------------
  | Welcome to ROOT 6.33.01                        https://root.cern |
  | (c) 1995-2024, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for linuxx8664gcc on Jul 22 2024, 08:52:38                 |
  | From heads/master@tags/v6-33-01                                  |
  | With g++ (GCC) 12.3.1 20230527                                   |
  | Try '.help'/'.?', '.demo', '.license', '.credits', '.quit'/'.q'  |
   ------------------------------------------------------------------

Installation method

from source

Operating system

Linux alma 8

Additional context

No response

Dr15Jones avatar Aug 16 '24 13:08 Dr15Jones