Generic container#142
Merged
Merged
Conversation
Contributor
Author
|
After replacement the include_directories() with target_include_directories() the test at |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.