Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
GenericContainer- the channelized object likeHit,Track,Particle, but without default fields (this opportunity was previously envisioned but not taken to its logical conclusion).GenericContainerFillerclass - with functionality complementary toPlainTreeFiller.*) There was a linker warning after compilation of the
examplesdirectory:Warning: Unused class rule: UserTaskWrite. It's worth noting that the linker error was related only to the first .cpp (and .hpp) entry in the CMakeLists.txt, e.g.UserTaskReaddid not produce such an error. In the newly generatedG__AnalysisTreeUser.cxxfile among "Header files passed as explicit arguments" theUserTaskWrite.hppwas missing. It turned out, that therootclingcommand called by ROOT_GENERATE_DICTIONARY() function, by mistake prepended the list of headers with a key-I, however this key should be used only with directories, not files. Therefore the first header was wrongly considered as a directory, that produced the described above behavior.This problem was addressed by replacing the include_directories() function with the target_include_directories().
P.S. The same function, include_directories(), was used in the CMakeLists.txt of the
infradirectory, however there was no such a linker error there. The point is that although the first header,SimpleCut.hpp, was missing in theG__AnalysisTreeInfra.cxx, it was present in other headers, which were included further (e.g. inCuts.hpp).P.P.S. If for any reasons you cannot refrain from using the include_directories(), the mentioned linker error can be addressed in a different way: (1) remove
G__AnalysisTreeUser.cxxfrom the add_library() function; (2) addMODULE AnalysisTreeUserin the ROOT_GENERATE_DICTIONARY() function.But in general, include_directories() usage is deprecated and should be avoided where possible.