-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[cmake] Stop searching headers in the default paths #948
[cmake] Stop searching headers in the default paths #948
Conversation
Starting build on |
Build failed on centos7/gcc49. Failing tests: |
Hi Raphael, could you please rebase and push again? The failing test should be fixed now. Thanks! |
c8a507e
to
81af2b5
Compare
Starting build on |
Build failed on slc6/gcc49. Failing tests: |
find_file without NO_DEFAULT_PATH searches pretty much the whole file system for the given file. As we are looking for a root header here that we then turn into a dictionary, copy and install it we should probably limit us to just the ROOT directories here.
81af2b5
to
5e3b0f4
Compare
Starting build on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The second find_file() is only executed if the first one has not succeeded. This change was to fix ROOT-8964. You forgot also that this macro is used by clients of ROOT and therefore are not only ROOT headers that are being searched.
So this fixes https://root-forum.cern.ch/t/f26-v6-10-00-patches-invalid-preprocessing-directive/26197 but if experiments rely on this line, then probably we are stuck on this side. We could at least try to make it less aggressive when searching (so, forbid some of the binary directories and CMake internal directories) to prevent these random configuration failures due to conflicting file names in the future. |
See also #980 |
find_file without NO_DEFAULT_PATH searches pretty much the whole
file system for the given file. As we are looking for a root
header here that we then turn into a dictionary, copy and install
it we should probably limit us to just the ROOT directories here.