Short and simple question, hopefully.
I’m using rootcling within a Makefile to build a dictionary for some classes.
I’d like to pass some header directories with -isystem, but such include paths aren’t picked up when passed to rootcling. Google suggests the withsystem option controls this, but I can’t find any way to pass it to rootcling. What’s the proper method to do this?
-Ipath works, but for reasons in the rest of the Makefile i’d like these paths to use -isystem.
I can make a copy that substitues -isystem with -Ipath, but that seemed like a workaround for something that should be possible…
@vvassilev I don’t seem to have that option listed by rootcling --help, but I’m not sure this sounds suitable for what I need. I assume <string> is a path, in which case forming the necessary string of --compilerI=/path/1 --compilerI=/path/2 --compilerI=/path/3 flags to give to rootcling seems essentially the same as just forming -I/path/1 -I/path/2 -I/path/3 and using that. Each of these paths is an independent directory for a set of 3rd party components, so can’t be represented by a single “default include path”.
@Wile_E_Coyote i’m not sure what the relevance of the first link is. I’m not using clangd. The second suggests using -isystem<directory> should be supported, but rootcling doesn’t seem to allow it.
From this post, my understanding was that rootcling calls cling, and cling could potentially recognise -isystem paths (internally converting them to -I paths), if the withSystem flag was set. What I was looking for was a method to get rootcling to call cling with withSystem=true. Perhaps that’s not possible (or perhaps my question was unclear).
In any event, it’s easy enough to make a copy line with -isystem swapped for -I, so it’s probably not worth spending too much effort on.
Thanks for all the replies though.
@vvassilev It should really be possible to use “-isystem/my/absolute/path” and “-isystemmy/relative/path” (note also the “-isystem-after<directory>"” option).