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] use only source dirs as include paths when building ROOT #5181
Conversation
Starting build on |
Build failed on ROOT-performance-centos7-multicore/default. Errors: |
Build failed on ROOT-fedora30/cxx14. Errors: |
Build failed on ROOT-fedora27/noimt. Errors: |
Build failed on ROOT-fedora29/python3. Errors: |
Starting build on |
Build failed on ROOT-performance-centos7-multicore/default. Errors: |
Build failed on ROOT-fedora30/cxx14. Errors: |
Build failed on ROOT-fedora29/python3. Errors: |
Build failed on ROOT-fedora27/noimt. Errors: |
Build failed on ROOT-ubuntu16/nortcxxmod. Errors: |
Build failed on windows10/cxx14. Errors: |
Starting build on |
Build failed on ROOT-fedora29/python3. Errors: |
Build failed on ROOT-fedora30/cxx14. Errors: |
Build failed on ROOT-fedora27/noimt. Errors: |
Build failed on ROOT-ubuntu16/nortcxxmod. Errors: |
Build failed on ROOT-performance-centos7-multicore/default. Errors: |
Build failed on windows10/cxx14. Errors: |
Always provide them via target_include_directoris
ginclude/RConfigure.h created during configure and have to be copied into include/ directory. ginclude/RGitCommit.h created in core/CMakeLists.txt and also copied into include/ directory. Files from ginclude/ used for INSTALL
These was happening for G__Smatrix32 and G__GenVector32
It has PUBLIC section, which can be used to extract necessary dependency for all libraries
When rootmap generated, all includes paths are stored in the dictionary. For several very basic dictionaries from clingutils one can reduce them, otherwise it pollute gInterpreter->GetIncludeDirs()
It is used only from TROOT.cxx and was not installed before
While ${CMAKE_BINARY_DIR}/include used for some externals, rootcling facing same includes twice and may fail.
Co-Authored-By: Axel Naumann <Axel.Naumann@cern.ch>
This required because of modules but also while gInterpreter->GetIncludePath() will return all source dirs in output
cdc4a47
to
e5da3ae
Compare
Starting build on |
Issues, mentioned by Guilherme, will be reolved in other PRs
Fully exclude
${CMAKE_BUILD_DIR)/include
from includes paths when buiding ROOT librariesSeveral generated files placed first to
${CMAKE_BUILD_DIR)/ginclude
and then copied toinclude
.Dictionary generation still uses only
${CMAKE_BUILD_DIR)/include
, otherwisecling
complains about similar includes in different places. Once problem withcling
fixed, source dirs can be used for it as well