-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Adding runtime_options and add dependencies between rootcling invocations. #877
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
Adding runtime_options and add dependencies between rootcling invocations. #877
Conversation
|
Starting build on |
|
@phsft-bot build just on slc6/clang_gcc62 with flags -Dcxxmodules=ON -Dccache=OFF -Druntime_cxxmodules=On |
|
Starting build on |
Axel-Naumann
left a comment
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.
LGTM! But I am good at C++ not CMake, so either trust your CMake-foo or ask for a review by Pere.
cmake/modules/RootBuildOptions.cmake
Outdated
| ROOT_BUILD_OPTION(root7 OFF "Build the ROOT 7 interface prototype, requires >= cxx14") | ||
| ROOT_BUILD_OPTION(rpath OFF "Set run-time library load path on executables and shared libraries (at installation area)") | ||
| ROOT_BUILD_OPTION(ruby OFF "Ruby ROOT bindings, requires ruby >= 1.8") | ||
| ROOT_BUILD_OPTION(runtime_cxxmodules "Enable runtime support for C++ modules." OFF) |
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.
Hurray! :-)
|
Build failed on slc6/clang_gcc62. Failing tests: |
161aa4e to
a70d6ee
Compare
|
Starting build on |
Now that we have a build option for runtime C++ modules, we can add add the dependencies between the rootcling invocations in case we build with runtime_cxxmodules enabled.
|
Build failed on slc6/clang_gcc62. Failing tests: |
|
LGTM, the failures are probably due to clang/gcc ABI bug. |
As stated in the team meeting a month ago, we need dependencies between rootcling invocations when running with C++ modules because each built module needs to reference any depending C++ modules.
This patch also adds a build option for C++ modules that needs to be set for this setting to get active. This build option should replace the environment variable that we had before in areas where it is more practical to have a fixed CMake setting such as running PRs on Jenkins or when having CMake specific code for C++ modules.