Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
15 changes: 0 additions & 15 deletions .github/workflows/per-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,3 @@ jobs:
$GITHUB_WORKSPACE/commonTools/test/utilities/check-commit-signoffs.sh \
origin/${{ github.event.pull_request.base.ref }} \
${{ github.event.pull_request.head.sha }}

no-modifying-deprecated-packages:
runs-on: ubuntu-latest

steps:
- name: Check out code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0

- name: Search for signoff statements in commit messages
run: |
$GITHUB_WORKSPACE/commonTools/test/utilities/check-not-modify-legacy-packages.sh \
origin/${{ github.event.pull_request.base.ref }} \
${{ github.event.pull_request.head.sha }}
31 changes: 0 additions & 31 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,6 @@ PROJECT(${PROJECT_NAME} NONE)
# Set up to use ccache
include("${CMAKE_CURRENT_LIST_DIR}/cmake/UseCCache.cmake")

set(DEPRECATED_PACKAGES Amesos AztecOO Epetra EpetraExt Ifpack Intrepid Isorropia ML NewPackage Pliris PyTrilinos ShyLU_DDCore ThyraEpetraAdapters ThyraEpetraExtAdapters Triutils)
FOREACH(package ${DEPRECATED_PACKAGES})
set(${package}_DISABLE_STRONG_WARNINGS ON CACHE BOOL "Disable strong compile warnings for ${package}" FORCE)
ENDFOREACH()

# Set an env so we know we are in configure
set(ENV{CMAKE_IS_IN_CONFIGURE_MODE} 1)

Expand Down Expand Up @@ -61,30 +56,4 @@ IF(${PROJECT_NAME}_ENABLE_YouCompleteMe)
INCLUDE(CodeCompletion)
ENDIF()

set(enabled_deprecated_packages "")
FOREACH(package ${DEPRECATED_PACKAGES})
IF(Trilinos_ENABLE_${package})
set(enabled_deprecated_packages ${package} ${enabled_deprecated_packages})
ENDIF()
ENDFOREACH()

IF(enabled_deprecated_packages)
message("********************************************************************")
message("******** WARNING WARNING WARNING WARNING WARNING WARNING *********")
message("********************************************************************")
message("* Several Trilinos packages are scheduled for deprecation in 2025.")
message("* The following deprecated packages are enabled (either explicitly")
message("* or implicitly due to a dependency)")
message("*")
string(REPLACE ";" "\n* " p "${enabled_deprecated_packages}")
message("* ${p}")
message("*")
message("********************************************************************")
message("")
message(WARNING "Deprecated packages that are enabled: ${enabled_deprecated_packages}")
IF(Trilinos_HIDE_DEPRECATED_CODE)
message(FATAL_ERROR "Trilinos cannot be built with deprecated code hidden if any deprecated packages are enabled!")
ENDIF()
ENDIF()

message(STATUS "If publishing results using Trilinos, please cite us: https://trilinos.github.io/cite.html")
28 changes: 0 additions & 28 deletions PackagesList.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ TRIBITS_REPOSITORY_DEFINE_PACKAGES(
RTOp packages/rtop PT
Sacado packages/sacado PT
MiniTensor packages/minitensor PT
Epetra packages/epetra ST
SCOREClion SCOREC/lion ST
SCORECpcu SCOREC/pcu ST
SCORECgmi SCOREC/gmi ST
Expand All @@ -24,34 +23,21 @@ TRIBITS_REPOSITORY_DEFINE_PACKAGES(
AvatarT packages/avatart EX
Zoltan packages/zoltan PT
Shards packages/shards PT
Triutils packages/triutils ST
EpetraExt packages/epetraext ST
Tpetra packages/tpetra PT
TrilinosSS packages/common/auxiliarySoftware/SuiteSparse PT # Auxiliary software.
Domi packages/domi PT
Thyra packages/thyra PT
Xpetra packages/xpetra PT
Isorropia packages/isorropia ST
Pliris packages/pliris ST
AztecOO packages/aztecoo ST
Galeri packages/galeri PT
Amesos packages/amesos ST
Pamgen packages/pamgen PT
Zoltan2Core packages/zoltan2/core PT
Ifpack packages/ifpack ST
ML packages/ml ST
Belos packages/belos PT
ShyLU_Node packages/shylu/shylu_node PT
Amesos2 packages/amesos2 PT
SEACAS packages/seacas PT # Depends on netcdf, optionally hdf5, xdmf, pamgen
Komplex packages/komplex ST
Anasazi packages/anasazi PT
Ifpack2 packages/ifpack2 PT
Stratimikos packages/stratimikos PT
FEI packages/fei PT
Teko packages/teko PT
TriKota packages/TriKota ST
Intrepid packages/intrepid ST
Intrepid2 packages/intrepid2 PT
Compadre packages/compadre ST
STK packages/stk PT # Depends on boost
Expand All @@ -64,14 +50,12 @@ TRIBITS_REPOSITORY_DEFINE_PACKAGES(
SCOREC SCOREC ST
Phalanx packages/phalanx PT
NOX packages/nox PT
Moertel packages/moertel ST
MueLu packages/muelu PT
TrilinosLinearSolvers packages/trilinos_linear_solvers PT
Zoltan2Sphynx packages/zoltan2/sphynx PT
Zoltan2 packages/zoltan2 PT
ShyLU_DD packages/shylu/shylu_dd PT
ShyLU packages/shylu PT
Rythmos packages/rythmos PT
Tempus packages/tempus PT
MOOCHO packages/moocho ST
Stokhos packages/stokhos PT
Expand All @@ -81,14 +65,11 @@ TRIBITS_REPOSITORY_DEFINE_PACKAGES(
UMR packages/umr ST
Panzer packages/panzer PT
CTrilinos packages/CTrilinos ST # Switched to ST to speed up checkin testing
PyTrilinos packages/PyTrilinos ST
PyTrilinos2 packages/PyTrilinos2 EX
WebTrilinos packages/WebTrilinos EX # Should be ST
NewPackage packages/new_package EX # Should be ST
Optika packages/optika EX
Adelus packages/adelus PT
TrilinosCouplings packages/trilinoscouplings PT
Pike packages/pike PT
xSDKTrilinos packages/xSDKTrilinos ST
TrilinosBuildStats commonTools/build_stats PT
TrilinosInstallTests packages/TrilinosInstallTests PT
Expand Down Expand Up @@ -122,15 +103,6 @@ TRIBITS_ALLOW_MISSING_EXTERNAL_PACKAGES(SGM)
TRIBITS_ALLOW_MISSING_EXTERNAL_PACKAGES(UMR)
TRIBITS_ALLOW_MISSING_EXTERNAL_PACKAGES(TrilinosLinearSolvers)

# TRILFRAME-500
TRIBITS_ALLOW_MISSING_EXTERNAL_PACKAGES(Rythmos) # 27115 targets
TRIBITS_ALLOW_MISSING_EXTERNAL_PACKAGES(Pike) # 27048 targets
TRIBITS_ALLOW_MISSING_EXTERNAL_PACKAGES(Komplex) # 27030 targets
TRIBITS_ALLOW_MISSING_EXTERNAL_PACKAGES(Moertel) # 26995 targets
TRIBITS_ALLOW_MISSING_EXTERNAL_PACKAGES(TriKota) # 26995 targets
TRIBITS_ALLOW_MISSING_EXTERNAL_PACKAGES(Domi) # 26946 targets
TRIBITS_ALLOW_MISSING_EXTERNAL_PACKAGES(FEI)

#
# Disable certain packages on certain platforms.
#
Expand Down
50 changes: 50 additions & 0 deletions cmake-dependencies-scrubber.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import os
import re

def remove_words_from_sets(text, words_to_remove):
# Create a regex pattern to match the SET commands
pattern = r'SET\(([^)]+)\)'

def replace_function(match):
# Extract the current list of packages
current_packages = match.group(1)
# Split the packages into a list and remove unwanted words
packages = current_packages.split()
filtered_packages = [pkg for pkg in packages if pkg not in words_to_remove]
# Join the filtered packages back into a string
return f'SET({" ".join(filtered_packages)})'

# Use re.sub to replace all SET commands with the filtered lists
modified_text = re.sub(pattern, replace_function, text)
return modified_text

def process_file(file_path, words_to_remove):
# Read the content of the file
with open(file_path, 'r') as file:
content = file.read()

# Remove specified words from the SET commands
modified_content = remove_words_from_sets(content, words_to_remove)

# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)

def find_and_process_files(directory, words_to_remove):
# Walk through the directory to find all Dependencies.cmake files
for root, dirs, files in os.walk(directory):
for file in files:
if file == 'Dependencies.cmake':
file_path = os.path.join(root, file)
print(f"Processing file: {file_path}")
process_file(file_path, words_to_remove)


if __name__ == "__main__":
# Specify the directory to search
target_directory = os.getcwd()
# Define the list of words to remove
words_to_remove = ['Amesos', 'AztecOO', 'Epetra', 'EpetraExt', 'Ifpack', 'Intrepid', 'Isorropia', 'ML', 'NewPackage', 'Pliris', 'PyTrilinos', 'ShyLU_DDCore', 'ThyraEpetraAdapters', 'ThyraEpetraExtAdapters', 'Triutils']

# Find and process all Dependencies.cmake files
find_and_process_files(target_directory, words_to_remove)
25 changes: 15 additions & 10 deletions cmake/ProjectCompilerPostConfig.cmake
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
tribits_get_package_enable_status(Kokkos KokkosEnable "")


macro(disable_warnings_for_deprecated_packages)
message(STATUS "Disabling all warnings/errors for deprecated packages")
foreach(package ${DEPRECATED_PACKAGES})
set(${package}_CXX_FLAGS "-w ${${package}_CXX_FLAGS}")
endforeach()
endmacro()


macro(enable_warnings warnings)
message(STATUS "Trilinos warnings enabled: ${warnings}")
foreach(warning ${warnings})
Expand Down Expand Up @@ -211,14 +203,27 @@ if("${Trilinos_WARNINGS_MODE}" STREQUAL "WARN")
enable_warnings("${upcoming_warnings}")
filter_valid_warnings_as_errors("${promoted_warnings}" promoted_warnings)
enable_errors("${promoted_warnings}")
disable_warnings_for_deprecated_packages()
elseif("${Trilinos_WARNINGS_MODE}" STREQUAL "ERROR")
filter_valid_warnings_as_errors("${promoted_warnings}" promoted_warnings)
filter_valid_warnings_as_errors("${upcoming_warnings}" upcoming_warnings)
enable_errors("${promoted_warnings};${upcoming_warnings}")
disable_warnings_for_deprecated_packages()
endif()

if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
disable_warnings("${explicitly_disabled_warnings}")
endif()


# Make sure that all deprecated packages are forcefully disabled (and that the variables controlling enablement are defined)
macro(force_disable_package packageName)
tribits_filter_package_list_from_var(Trilinos_DEFINED_PACKAGES INTERNAL ON NONEMPTY packageSublist)
set(Trilinos_ENABLE_${packageName} OFF CACHE BOOL "Enable ${packageName} (special setting for force-disable, should ALWAYS be `OFF`)")
foreach(package ${packageSublist})
set(${package}_ENABLE_${packageName} OFF CACHE BOOL "Enable ${packageName} support in ${package} (special setting for force-disable, should ALWAYS be `OFF`)")
endforeach()
endmacro()

set(DEPRECATED_PACKAGES Amesos AztecOO Epetra EpetraExt Ifpack Intrepid Isorropia ML NewPackage Pliris PyTrilinos ShyLU_DDCore ThyraEpetraAdapters ThyraEpetraExtAdapters Triutils)
FOREACH(package ${DEPRECATED_PACKAGES})
force_disable_package(${package})
ENDFOREACH()
28 changes: 14 additions & 14 deletions commonTools/framework/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ ENDFUNCTION()


set(ALL_TOPLEVEL_PACKAGES_REGEX
"TrilinosFrameworkTests TrilinosATDMConfigTests .*Kokkos Teuchos KokkosKernels .*EpetraExt Tpetra .*Thyra .*SEACAS .*Teko Intrepid .*MueLu .*ShyLU_DD ShyLU .*Tempus Stokhos ROL Piro Panzer Adelus TrilinosCouplings TrilinosBuildStats TrilinosInstallTests")
"TrilinosFrameworkTests TrilinosATDMConfigTests .*Kokkos Teuchos KokkosKernels .*Tpetra .*Thyra .*SEACAS .*Teko .*MueLu .*ShyLU_DD ShyLU .*Tempus Stokhos ROL .*Panzer Adelus TrilinosCouplings TrilinosBuildStats TrilinosInstallTests")

create_get_changed_trilinos_packages_test(ProjectsList_TeuchosCore
"ProjectsList.cmake\npackages/teuchos/core/CMakeLists.txt"
Expand All @@ -153,27 +153,27 @@ create_get_changed_trilinos_packages_test(ProjectsList_TeuchosCore
# want to list too many packages above in the regex.


create_get_changed_trilinos_packages_test(cmake_std_atdm_TeuchosCore_PyTrilinos_Pliris
"cmake/std/atdm/anything\npackages/teuchos/core/CMakeLists.txt\npackages/PyTrilinos/anything\npackages/pliris/CMakeLists.txt"
"TrilinosATDMConfigTests,TeuchosCore,PyTrilinos,Pliris"
"TrilinosATDMConfigTests,TeuchosCore,Pliris"
"Setting Trilinos_ENABLE_TrilinosATDMConfigTests = ON;Setting Trilinos_ENABLE_TeuchosCore = ON;Setting Trilinos_ENABLE_Pliris = ON"
create_get_changed_trilinos_packages_test(cmake_std_atdm_TeuchosCore_PyTrilinos_Compadre
"cmake/std/atdm/anything\npackages/teuchos/core/CMakeLists.txt\npackages/PyTrilinos/anything\npackages/compadre/CMakeLists.txt"
"TrilinosATDMConfigTests,TeuchosCore,Compadre"
"TrilinosATDMConfigTests,TeuchosCore,Compadre"
"Setting Trilinos_ENABLE_TrilinosATDMConfigTests = ON;Setting Trilinos_ENABLE_TeuchosCore = ON;Setting Trilinos_ENABLE_Compadre = ON"
"${ALL_TOPLEVEL_PACKAGES_REGEX}"
)
# The above test ensures that cmake/std/atdm/ changes don't trigger global
# builds and it makes sure that PT (TeuchosCore) and ST packages (Pliris) do
# builds and it makes sure that PT (TeuchosCore) and ST packages (Compadre) do
# get enabled (but excluded ST package PyTrilinos does not get included).


create_get_changed_trilinos_packages_test(TeuchosCore_NewPackage_Pliris
"packages/teuchos/core/CMakeLists.txt\npackages/new_package/anything\npackages/pliris/a.txt"
"TeuchosCore,NewPackage,Pliris"
"TeuchosCore,Pliris"
"Setting Trilinos_ENABLE_TeuchosCore = ON;Setting Trilinos_ENABLE_Pliris = ON"
create_get_changed_trilinos_packages_test(TeuchosCore_PyTrilinos2_Compadre
"packages/teuchos/core/CMakeLists.txt\npackages/PyTrilinos2/anything\npackages/compadre/a.txt"
"TeuchosCore,PyTrilinos2,Compadre"
"TeuchosCore,Compadre"
"Setting Trilinos_ENABLE_TeuchosCore = ON;Setting Trilinos_ENABLE_Compadre = ON"
"${ALL_TOPLEVEL_PACKAGES_REGEX}"
)
# The above test ensures PT (TeuchosCore) and ST packages (Piro) do get
# enabled but EX packages (NewPackage) don't.
# The above test ensures PT (TeuchosCore) and ST packages (Compadre) do get
# enabled but EX packages (PyTrilinos2) don't.


create_get_changed_trilinos_packages_test(cmake_std_atdm
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,8 +139,7 @@ test_trilinos_filter_packages_to_test() {
assertContains "${all_toplevel_packages}" ",TrilinosATDMConfigTests,"
assertContains "${all_toplevel_packages}" ",Teuchos,"
assertContains "${all_toplevel_packages}" ",Tpetra,"
assertContains "${all_toplevel_packages}" ",PyTrilinos,"
assertContains "${all_toplevel_packages}" ",NewPackage,"
assertContains "${all_toplevel_packages}" ",PyTrilinos2,"
assertContains "${all_toplevel_packages}" ",Panzer,"

}
Expand Down
9 changes: 0 additions & 9 deletions packages/PyTrilinos/.gitignore

This file was deleted.

Loading
Loading