-
Notifications
You must be signed in to change notification settings - Fork 572
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
Framework: Relocate CXX standard setup #12442
Conversation
Need to process CXX standard after a potential CONFIGURE_OPTIONS_FILE has been processed. This manifested a small bug where the configure message about which CXX standard was being used showed 17 even though the entry in the Trilinos_CONFIGURE_OPTIONS_FILE read 20 (and in fact it did use 20).
# Set up C++ language standard selection | ||
include(SetTrilinosCxxStandard) |
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.
This should do it but I am not sure why stuff got placed outside of the macro TRIBITS_REPOSITORY_SETUP_EXTRA_OPTIONS()
that gets defined in this file and called by TriBITS. Semantically, there is not a big difference in behavior except that this code outside of the macro TRIBITS_REPOSITORY_SETUP_EXTRA_OPTIONS()
in that file actually gets called before the code inside of the macro as you can see in:
Trilinos/cmake/tribits/core/package_arch/TribitsPackagingSupport.cmake
Lines 312 to 314 in 3ff154a
include(${CALLBACK_SETUP_EXTRA_OPTIONS_FILE}) | |
# Call the callback macros to inject repository-specific behavir | |
tribits_repository_setup_extra_options() |
But I see that I was the one who set the precedent for this by adding the build_stats stuff there in commit 3ea9417 with no explanation for why that was done.
SIDENOTE: I don't remember why I decided to put things in a macro in these files because just including CMake code in a file is largely equivalent to calling a macro.
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.
I'll do whichever you think is best. I noticed that too, but decided to put it in (IMO) the simpler spot
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.
We can do this in a separate PR now that PR testing has already started.
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.
This should work. Just please carefully check the configure output on CDash for confirmation before merging.
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection is Not Necessary for this Pull Request. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: Trilinos_PR_gcc-8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-8.3.0-serial
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-8.3.0-debug
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_clang-11.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-11.4.2-uvm-off
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_intel-2021.3
Jenkins Parameters
Using Repos:
Pull Request Author: sebrowne |
Configure output indicates all is still well, C++17 is being used in the PR builds. |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 2 Hrs 30 Mins. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run. Pull Request Auto Testing has FAILED (click to expand)Build InformationTest Name: Trilinos_PR_gcc-8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-8.3.0-serial
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-8.3.0-debug
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_clang-11.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-11.4.2-uvm-off
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_intel-2021.3
Jenkins Parameters
|
FYI: Last PR testing iteration got taken out by random build errors in two configurations and a random test timeout reported in #12391 (comment). The build errors showed:
and
|
Yes, almost certainly a load issue on the machine. RETESTing. |
Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: Trilinos_PR_gcc-8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-8.3.0-serial
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-8.3.0-debug
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_clang-11.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-11.4.2-uvm-off
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_intel-2021.3
Jenkins Parameters
Using Repos:
Pull Request Author: sebrowne |
A rebuild would likely make most of these errors go away: But you need metrics to know for sure. |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED Pull Request Auto Testing has PASSED (click to expand)Build InformationTest Name: Trilinos_PR_gcc-8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-8.3.0-serial
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-8.3.0-debug
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_clang-11.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-11.4.2-uvm-off
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_intel-2021.3
Jenkins Parameters
|
Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ bartlettroscoe ]! |
Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged |
Merge on Pull Request# 12442: IS A SUCCESS - Pull Request successfully merged |
Need to process CXX standard after a potential CONFIGURE_OPTIONS_FILE has been processed. This manifested a small bug where the configure message about which CXX standard was being used showed 17 even though the entry in the Trilinos_CONFIGURE_OPTIONS_FILE read 20 (and in fact it did use 20).
Motivation
Want diagnostic messages to align with the actual behavior.
Testing
Tested using
-DTrilinos_CONFIGURE_OPTIONS_FILE
and it now behaves correctly.