-
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
TriBITS Snapshot update as of 2021-09-03 #9663
TriBITS Snapshot update as of 2021-09-03 #9663
Conversation
Origin repo remote tracking branch: 'github/master' Origin repo remote repo URL: 'github = git@github.com:TriBITSPub/TriBITS.git' At commit: commit 74f61da9a7a97742e941585166025e849c6dcfaf Author: Roscoe A. Bartlett <rabartl@sandia.gov> Date: Wed May 26 16:56:22 2021 -0600 Summary: Add link back to function call graph (trilinos#63)
Origin repo remote tracking branch: 'github/master' Origin repo remote repo URL: 'github = git@github.com:TriBITSPub/TriBITS.git' At commit: commit aeb746cc4499d9364807cb1b40fc366429bad06c Author: Roscoe A. Bartlett <rabartl@sandia.gov> Date: Thu Aug 26 06:40:10 2021 -0600 Summary: Change internal TriBITS target_link_libraries() to PUBLIC (trilinos#299)
Brings in numerous refactorings to TriBITS over the last 3 months, but there should be no breaks in backward compatibility. Almost every file in TriBITS is changed due to the lower-casing of command, macro and function names in PR TriBITSPub/TriBITS#379. But the main driver for this snapshot is to bring in the change in PR TriBITSPub/TriBITS#413 that should make it so that Kokkos INTERFACE_COMPILE_OPTIONS get propagated to downstream targets in TriBITS and therefore to external customers through installed <Package>Config.cmake files and IMPORTED targets. I should have done several snapshots in the last few months and not done a big snapshot like this (but I have been testing with Trilinos locally along the way). Overall, this merge brings in changes from a bunch of TriBITS PRs including (from most recent): * TriBITSPub/TriBITS#413: Change internal TriBITS target_link_libraries() to PUBLIC (TriBITSPub/TriBITS#299) component: core type: enhancement * TriBITSPub/TriBITS#410: Upgrade from cmake 3.21.0 to 3.21.2 (TriBITSPub/TriBITS#363, TriBITSPub/TriBITS#394) * TriBITSPub/TriBITS#394: DO NOT MERGE: Show TriBITS test failures with CMake 3.21.0 that don't occur with CMake 3.17.5 (TriBITSPub/TriBITS#363) * TriBITSPub/TriBITS#409: Add getTestDictStatusField() to handle empty 'status' field (SESW-383) component: ci_support type: enhancement * TriBITSPub/TriBITS#408: Deal with spaces in CDash url parts (SESW-383) component: ci_support type: enhancement * TriBITSPub/TriBITS#403: Spelling fixes * TriBITSPub/TriBITS#407: Move tribits_get_build_url_and_write_to_file() to stand-alone module (TriBITSPub/TriBITS#154) component: ctest_driver type: enhancement * TriBITSPub/TriBITS#388: Fixing typos (TriBITSPub/TriBITS#377) * TriBITSPub/TriBITS#406: Fix tribits_ctest_driver() package-by-package mode for CMake 3.19+ (TriBITSPub/TriBITS#363, TriBITSPub/TriBITS#394) component: ctest_driver type: bug * TriBITSPub/TriBITS#401: Improve GitHub Actions and CDash integration (TriBITSPub/TriBITS#154) type: enhancement * TriBITSPub/TriBITS#366: CI: draft action yaml * TriBITSPub/TriBITS#402: Revert some incorrect uppercase->lowercase changes * TriBITSPub/TriBITS#387: Build and deploy TriBITS documentation with Sphinx (TriBITSPub/TriBITS#386) component: documentation type: enhancement * TriBITSPub/TriBITS#398: Deal with pr null in not preprending build name (TriBITSPub/TriBITS#363) type: bug * TriBITSPub/TriBITS#396: Send PR results to 'Pull Request' CDash group and add PR ID to build names (TriBITSPub/TriBITS#363) type: enhancement * TriBITSPub/TriBITS#397: Print the ninja path and version (TriBITSPub/TriBITS#363) * TriBITSPub/TriBITS#393: GitHub Actions based testing for TriBITS (TriBITSPub/TriBITS#363) type: enhancement * TriBITSPub/TriBITS#389: TriBITS CI testing with GitHub Actions (TriBITSPub/TriBITS#363) type: enhancement * TriBITSPub/TriBITS#392: Fix broken tests for non-Fortran and CMake 3.21 builds (TriBITSPub/TriBITS#363) component: core * TriBITSPub/TriBITS#391: Fix up build_docs.sh for Sphinx doc generation (TriBITSPub/TriBITS#386) component: documentation type: enhancement * TriBITSPub/TriBITS#390: Add test for doc generation and fix usage of Python3 component: documentation type: bug * TriBITSPub/TriBITS#385: Replace last few references to TribitsDevelopersGuide.html (TriBITSPub/TriBITS#381) component: documentation type: enhancement * TriBITSPub/TriBITS#384: Split TribitsDevelopersGuide.* into TribitsUsersGuide.* and TribitsMaintainersGuide.* (TriBITSPub/TriBITS#381) component: documentation type: enhancement * TriBITSPub/TriBITS#383: Remove endfunction(<string>) and endmacro(<string>) (TriBITSPub/TriBITS#274, TriBITSPub/TriBITS#382) component: common_tpls type: bug * TriBITSPub/TriBITS#380: More package-arch data-structure documentation updates (TriBITSPub/TriBITS#63) component: documentation type: enhancement * TriBITSPub/TriBITS#379: Convert TriBITS to lower-case CMake command, macro, and function names (TriBITSPub/TriBITS#274) The following files were conflicting where I went with what is on the Trilinos 'develop' branch: * cmake/tribits/common_tpls/FindTPLBLAS.cmake * cmake/tribits/common_tpls/FindTPLLAPACK.cmake * cmake/tribits/common_tpls/FindTPLNetcdf.cmake (It looks like the above changes never made it back into TriBITS proper. The conflicts were due to the case changes in cmake command calls in these files due to TriBITSPub/TriBITS#379.) There was also a conflict in the file: * cmake/tribits/core/installation/TribitsProjectConfigTemplate.cmake.in I looked at that one carefully and I think that may have been due to fixes on both sides and then the case changes from TriBITSPub/TriBITS#379.
I noticed this while looking at another issue.
CMake 3.17 warns this is converted, implicity, to type 'STRING'. There is no such thing as an 'INTEGER' CMake cache var type. No reason to pretend there is.
Now that TriBITS uses explicit PUBLIC by default for target_link_libraries(), CMake 3.17.1 generates an error if you don't add a visibility specifier for this linkage. Private seems like the correct linkage.
Trilinos now requires GCC 7.2.0 as the minimum GCC version. In fact, there is a Sacado file that cashes GCC 5.3.0 so you can't use that compiler with Sacado anymore.
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_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_serial
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_debug
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_10.1.105
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_10.1.105_uvm_off
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_10.0.0
Jenkins Parameters
Build InformationTest Name: python-3
Jenkins Parameters
Using Repos:
Pull Request Author: bartlettroscoe |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED Pull Request Auto Testing has PASSED (click to expand)Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_serial
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_debug
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_10.1.105
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_10.1.105_uvm_off
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_10.0.0
Jenkins Parameters
Build InformationTest Name: python-3
Jenkins Parameters
|
Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
2 similar comments
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
@keitat, can you see about getting this reviewed to update the TriBITS snapshot into Trilinos? We need to test that adding PUBLIC to |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
2 similar comments
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
@trilinos/framework, can I get someone to approve this PR? It is better to get these TriBITS updates merged incrementally into Trilinos and avoid a big bomb update later. |
Thanks @keitat! I will now merge and we will see if anyone has any issues with this. |
Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ keitat ]! |
Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged |
Merge on Pull Request# 9663: IS A SUCCESS - Pull Request successfully merged |
This PR mostly brings numerous refactorings to TriBITS over the last 3 months, but there should be no major breaks in backward compatibility (and no breaks that would impact downstream customers of Trilinos, hopefully). These refactorings are working towards TriBITSPub/TriBITS#299 and TriBITSPub/TriBITS#63 (see epic TriBITSPub/TriBITS#367).
Also part of this TriBITS snapshot are the changes from PR TriBITSPub/TriBITS#379 where almost every file in TriBITS is changed due to the lower-casing of command, macro and function names. But the main driver for this snapshot is to bring in the change in PR TriBITSPub/TriBITS#413 that should make it so that Kokkos INTERFACE_COMPILE_OPTIONS get propagated to downstream targets in TriBITS and therefore to external customers through installed
<Package>Config.cmake
files and IMPORTED targets. I should have done several snapshots in the last few months and not done a big snapshot like this (but I have been testing with Trilinos locally along the way).Overall, this merge brings in changes from a bunch of TriBITS PRs including (most recent TriBITS PRs listed first):
Change internal TriBITS target_link_libraries() to PUBLIC (#299) TriBITSPub/TriBITS#413: Change internal TriBITS target_link_libraries() to PUBLIC (Move to modern CMake target-based propagation of build information TriBITSPub/TriBITS#299) component: core type: enhancement
Upgrade from cmake 3.21.0 to 3.21.2 (#363, #394) TriBITSPub/TriBITS#410: Upgrade from cmake 3.21.0 to 3.21.2 (Set up TriBITS testing using GitHub Actions TriBITSPub/TriBITS#363, DO NOT MERGE: Show TriBITS test failures with CMake 3.21.0 that don't occur with CMake 3.17.5 (#363) TriBITSPub/TriBITS#394)
DO NOT MERGE: Show TriBITS test failures with CMake 3.21.0 that don't occur with CMake 3.17.5 (#363) TriBITSPub/TriBITS#394: DO NOT MERGE: Show TriBITS test failures with CMake 3.21.0 that don't occur with CMake 3.17.5 (Set up TriBITS testing using GitHub Actions TriBITSPub/TriBITS#363)
Add getTestDictStatusField() to handle empty 'status' field (SESW-383) TriBITSPub/TriBITS#409: Add getTestDictStatusField() to handle empty 'status' field (SESW-383) component: ci_support type: enhancement
Deal with spaces in CDash url parts (SESW-383) TriBITSPub/TriBITS#408: Deal with spaces in CDash url parts (SESW-383) component: ci_support type: enhancement
Spelling fixes TriBITSPub/TriBITS#403: Spelling fixes
Move tribits_get_build_url_and_write_to_file() to stand-alone module (#154) TriBITSPub/TriBITS#407: Move tribits_get_build_url_and_write_to_file() to stand-alone module (Improve TribitsCTestDriverCore.cmake for integration with GitHub CI drivers TriBITSPub/TriBITS#154) component: ctest_driver type: enhancement
#377: Fixing typos TriBITSPub/TriBITS#388: Fixing typos (Provide feedback on TriBITS package dependencies data-structures TriBITSPub/TriBITS#377)
Fix tribits_ctest_driver() package-by-package mode for CMake 3.19+ (#363, #394) TriBITSPub/TriBITS#406: Fix tribits_ctest_driver() package-by-package mode for CMake 3.19+ (Set up TriBITS testing using GitHub Actions TriBITSPub/TriBITS#363, DO NOT MERGE: Show TriBITS test failures with CMake 3.21.0 that don't occur with CMake 3.17.5 (#363) TriBITSPub/TriBITS#394) component: ctest_driver type: bug
Improve GitHub Actions and CDash integration (#154) TriBITSPub/TriBITS#401: Improve GitHub Actions and CDash integration (Improve TribitsCTestDriverCore.cmake for integration with GitHub CI drivers TriBITSPub/TriBITS#154) type: enhancement
CI: draft action yaml TriBITSPub/TriBITS#366: CI: draft action yaml
Revert some incorrect uppercase->lowercase changes TriBITSPub/TriBITS#402: Revert some incorrect uppercase->lowercase changes
Build and deploy TriBITS documentation with Sphinx (#386) TriBITSPub/TriBITS#387: Build and deploy TriBITS documentation with Sphinx (Build TriBITS Documentation with Sphinx and deploy to the web TriBITSPub/TriBITS#386) component: documentation type: enhancement
Deal with pr null in not preprending build name (#363) TriBITSPub/TriBITS#398: Deal with pr null in not preprending build name (Set up TriBITS testing using GitHub Actions TriBITSPub/TriBITS#363) type: bug
Send PR results to 'Pull Request' CDash group and add PR ID to build names (#363) TriBITSPub/TriBITS#396: Send PR results to 'Pull Request' CDash group and add PR ID to build names (Set up TriBITS testing using GitHub Actions TriBITSPub/TriBITS#363) type: enhancement
Print the ninja path and version (#363) TriBITSPub/TriBITS#397: Print the ninja path and version (Set up TriBITS testing using GitHub Actions TriBITSPub/TriBITS#363)
GitHub Actions based testing for TriBITS (#363) TriBITSPub/TriBITS#393: GitHub Actions based testing for TriBITS (Set up TriBITS testing using GitHub Actions TriBITSPub/TriBITS#363) type: enhancement
TriBITS CI testing with GitHub Actions (#363) TriBITSPub/TriBITS#389: TriBITS CI testing with GitHub Actions (Set up TriBITS testing using GitHub Actions TriBITSPub/TriBITS#363) type: enhancement
Fix broken tests for non-Fortran and CMake 3.21 builds (#363) TriBITSPub/TriBITS#392: Fix broken tests for non-Fortran and CMake 3.21 builds (Set up TriBITS testing using GitHub Actions TriBITSPub/TriBITS#363) component: core
Fix up build_docs.sh for Sphinx doc generation (#386) TriBITSPub/TriBITS#391: Fix up build_docs.sh for Sphinx doc generation (Build TriBITS Documentation with Sphinx and deploy to the web TriBITSPub/TriBITS#386) component: documentation type: enhancement
Add test for doc generation and fix usage of Python3 TriBITSPub/TriBITS#390: Add test for doc generation and fix usage of Python3 component: documentation type: bug
Replace last few references to TribitsDevelopersGuide.html (#381) TriBITSPub/TriBITS#385: Replace last few references to TribitsDevelopersGuide.html (Split TribitsDevelopersGuide.* into TribitsUsersGuide.* and TribitsMaintainersGuide.* TriBITSPub/TriBITS#381) component:
documentation type: enhancement
Split TribitsDevelopersGuide.* into TribitsUsersGuide.* and TribitsMaintainersGuide.* (#381) TriBITSPub/TriBITS#384: Split TribitsDevelopersGuide.* into TribitsUsersGuide.* and TribitsMaintainersGuide.* (Split TribitsDevelopersGuide.* into TribitsUsersGuide.* and TribitsMaintainersGuide.* TriBITSPub/TriBITS#381)
component: documentation type: enhancement
Remove endfunction(<string>) and endmacro(<string>) (#274, #382) TriBITSPub/TriBITS#383: Remove
endfunction(<string>)
andendmacro(<string>)
(Change from upper-case SOME_FUNCTION_NAME() to lower-cases some_function_name() TriBITSPub/TriBITS#274, new warnings during charon configuration TriBITSPub/TriBITS#382) component: common_tpls type: bugMore package-arch data-structure documentation updates (#63) TriBITSPub/TriBITS#380: More package-arch data-structure documentation updates (EPIC: Merge TriBITS concepts and implementation of Packages and TPLs TriBITSPub/TriBITS#63) component: documentation type: enhancement
Convert TriBITS to lower-case CMake command, macro, and function names (#274) TriBITSPub/TriBITS#379: Convert TriBITS to lower-case CMake command, macro, and function names (Change from upper-case SOME_FUNCTION_NAME() to lower-cases some_function_name() TriBITSPub/TriBITS#274)
Treat compiler flags verbatim for installation TriBITSPub/TriBITS#376: Treat compiler flags verbatim for installation
Second refactoring cleaning up to get ready for #63 TriBITSPub/TriBITS#374: Second refactoring cleaning up to get ready for TriBITSPub/TriBITS:Tpetra::Distributor: Inheriting from VerboseObject<Distributor> causes crash in Import ctor w/ various Intel compiler versions #63
The change in TriBITS to use PUBLIC in
target_link_libraries()
triggered a configure error in Sacado with CMake 3.17.1 that I fixed in the commit 0e4c611.The commits 6d9580a and 5088b69 remove warnings about incorrect CACHE var types that are implicitly converted to 'STRING'.
Finally, the commit bdc56f5 updates the SEMS dev env load env script to load GCC 7.2.0 instead of GCC 5.3.0 to match the Trilinos PR GCC 7.2.0 build. (You can't build Trilinos with GCC 5.3.0 anymore.)