From f46467aa75a11c714a54a9a392faf13143480645 Mon Sep 17 00:00:00 2001 From: Heidi Thornquist Date: Wed, 30 Aug 2023 12:54:01 -0600 Subject: [PATCH] Ifpack2: Adds missing cmake logic to address test dependency on Xpetra The Ifpack2_UnitTestSingleProcessILUT.cpp test has a required dependency on Xpetra. There is an optional dependency on Xpetra for the library, but if someone uses a configuration like this: cmake \ -DCMAKE_C_COMPILER=mpicc \ -DCMAKE_CXX_COMPILER=mpicxx \ -DCMAKE_Fortran_COMPILER=mpif77 \ -DCMAKE_CXX_FLAGS="-O3 -fPIC" \ -DCMAKE_C_FLAGS="-O3 -fPIC" \ -D Trilinos_ENABLE_Tpetra:BOOL=ON \ -D Trilinos_ENABLE_Belos:BOOL=ON \ -D Trilinos_ENABLE_Ifpack2:BOOL=ON \ -D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=OFF \ -D Teuchos_ENABLE_COMPLEX:BOOL=OFF \ -D Trilinos_ENABLE_COMPLEX:BOOL=OFF \ -D Trilinos_ENABLE_OpenMP:BOOL=OFF \ -D CMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -D Trilinos_ENABLE_EXAMPLES:BOOL=ON \ -D Trilinos_ENABLE_TESTS:BOOL=ON \ -DTPL_ENABLE_MPI:BOOL=ON \ -DTPL_ENABLE_BLAS=ON \ -DTPL_ENABLE_LAPACK=ON \ ../../ Then Xpetra will not be enabled since optional dependencies are off, yet the test will fail to build due to the absence of Xpetra. This commit adds logic to the CMakeLists file to conditionally build the Ifpack2_UnitTestSingleProcessILUT test if Xpetra and Galeri are enabled. Furthermore, it removes the inclusion of Xpetra and Galeri headers in the Ifpack2_UnitTestILUT.cpp file, as they are not used. --- packages/ifpack2/test/unit_tests/CMakeLists.txt | 4 ++++ .../test/unit_tests/Ifpack2_UnitTestILUT.cpp | 17 ----------------- .../Ifpack2_UnitTestSingleProcessILUT.cpp | 2 -- 3 files changed, 4 insertions(+), 19 deletions(-) diff --git a/packages/ifpack2/test/unit_tests/CMakeLists.txt b/packages/ifpack2/test/unit_tests/CMakeLists.txt index c79935604c6c..df75ca434372 100644 --- a/packages/ifpack2/test/unit_tests/CMakeLists.txt +++ b/packages/ifpack2/test/unit_tests/CMakeLists.txt @@ -152,6 +152,9 @@ TRIBITS_ADD_EXECUTABLE_AND_TEST( STANDARD_PASS_OUTPUT ) +ASSERT_DEFINED (${PACKAGE_NAME}_ENABLE_Xpetra) +ASSERT_DEFINED (${PACKAGE_NAME}_ENABLE_Galeri) +IF(${PACKAGE_NAME}_ENABLE_Xpetra AND ${PACKAGE_NAME}_ENABLE_Galeri) TRIBITS_ADD_EXECUTABLE_AND_TEST( ILUTSingleProcessUnitTests SOURCES @@ -162,6 +165,7 @@ TRIBITS_ADD_EXECUTABLE_AND_TEST( NUM_MPI_PROCS 1 STANDARD_PASS_OUTPUT ) +ENDIF () IF(Tpetra_INST_DOUBLE AND ${PACKAGE_NAME}_ENABLE_Experimental_KokkosKernels_Features) TRIBITS_ADD_EXECUTABLE_AND_TEST( diff --git a/packages/ifpack2/test/unit_tests/Ifpack2_UnitTestILUT.cpp b/packages/ifpack2/test/unit_tests/Ifpack2_UnitTestILUT.cpp index ae31013e5dba..0023bbfa3216 100644 --- a/packages/ifpack2/test/unit_tests/Ifpack2_UnitTestILUT.cpp +++ b/packages/ifpack2/test/unit_tests/Ifpack2_UnitTestILUT.cpp @@ -53,23 +53,6 @@ #include #include #include - -// Xpetra / Galeri -#ifdef HAVE_IFPACK2_XPETRA -#include "Xpetra_ConfigDefs.hpp" -#include "Xpetra_DefaultPlatform.hpp" -#include "Xpetra_Parameters.hpp" -#include "Xpetra_MapFactory.hpp" -#include "Xpetra_TpetraMap.hpp" -#include "Xpetra_CrsMatrix.hpp" -#include "Xpetra_TpetraCrsMatrix.hpp" -#include "Galeri_XpetraProblemFactory.hpp" -#include "Galeri_XpetraMatrixTypes.hpp" -#include "Galeri_XpetraParameters.hpp" -#include "Galeri_XpetraUtils.hpp" -#include "Galeri_XpetraMaps.hpp" -#endif // HAVE_IFPACK2_XPETRA - #include #include diff --git a/packages/ifpack2/test/unit_tests/Ifpack2_UnitTestSingleProcessILUT.cpp b/packages/ifpack2/test/unit_tests/Ifpack2_UnitTestSingleProcessILUT.cpp index 292d32d53f2f..5bf482c3a83a 100644 --- a/packages/ifpack2/test/unit_tests/Ifpack2_UnitTestSingleProcessILUT.cpp +++ b/packages/ifpack2/test/unit_tests/Ifpack2_UnitTestSingleProcessILUT.cpp @@ -55,7 +55,6 @@ #include // Xpetra / Galeri -#ifdef HAVE_IFPACK2_XPETRA #include "Xpetra_ConfigDefs.hpp" #include "Xpetra_DefaultPlatform.hpp" #include "Xpetra_Parameters.hpp" @@ -68,7 +67,6 @@ #include "Galeri_XpetraParameters.hpp" #include "Galeri_XpetraUtils.hpp" #include "Galeri_XpetraMaps.hpp" -#endif // HAVE_IFPACK2_XPETRA #include