From 283beadb4345abf634282650a4c3ecaffd7a5bfc Mon Sep 17 00:00:00 2001 From: Christian Glusa Date: Tue, 17 Sep 2024 10:38:09 -0600 Subject: [PATCH] Thyra TpetraAdapters: Check that ETI matches Tpetra scalar types Signed-off-by: Christian Glusa --- packages/thyra/adapters/tpetra/CMakeLists.txt | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/packages/thyra/adapters/tpetra/CMakeLists.txt b/packages/thyra/adapters/tpetra/CMakeLists.txt index 7794705c2b88..43016f219f4d 100644 --- a/packages/thyra/adapters/tpetra/CMakeLists.txt +++ b/packages/thyra/adapters/tpetra/CMakeLists.txt @@ -1,6 +1,32 @@ TRIBITS_SUBPACKAGE(TpetraAdapters) +ASSERT_DEFINED( + Thyra_ENABLE_EXPLICIT_INSTANTIATION + Tpetra_INST_FLOAT + Tpetra_INST_COMPLEX_DOUBLE + Tpetra_INST_COMPLEX_FLOAT + Teuchos_INST_FLOAT + Teuchos_INST_COMPLEX_DOUBLE + Teuchos_INST_COMPLEX_FLOAT +) + +IF (Thyra_ENABLE_EXPLICIT_INSTANTIATION) + + IF ((Tpetra_INST_FLOAT AND NOT Teuchos_INST_FLOAT) OR (NOT Tpetra_INST_FLOAT AND Teuchos_INST_FLOAT)) + MESSAGE(FATAL_ERROR "Tpetra_INST_FLOAT=${Tpetra_INST_FLOAT} != Teuchos_INST_FLOAT=${Teuchos_INST_FLOAT}. The two need to match. Consider setting Trilinos_ENABLE_FLOAT instead of setting Tpetra_INST_FLOAT and/or Teuchos_INST_FLOAT individually.") + ENDIF() + + IF ((Tpetra_INST_COMPLEX_FLOAT AND NOT Teuchos_INST_COMPLEX_FLOAT) OR (NOT Tpetra_INST_COMPLEX_FLOAT AND Teuchos_INST_COMPLEX_FLOAT)) + MESSAGE(FATAL_ERROR "Tpetra_INST_COMPLEX_FLOAT=${Tpetra_INST_COMPLEX_FLOAT} != Teuchos_INST_COMPLEX_FLOAT=${Teuchos_INST_COMPLEX_FLOAT}. The two need to match. Consider setting Trilinos_ENABLE_COMPLEX_FLOAT instead of setting Tpetra_INST_COMPLEX_FLOAT and/or Teuchos_INST_COMPLEX_FLOAT individually.") + ENDIF() + + IF ((Tpetra_INST_COMPLEX_DOUBLE AND NOT Teuchos_INST_COMPLEX_DOUBLE) OR (NOT Tpetra_INST_COMPLEX_DOUBLE AND Teuchos_INST_COMPLEX_DOUBLE)) + MESSAGE(FATAL_ERROR "Tpetra_INST_COMPLEX_DOUBLE=${Tpetra_INST_COMPLEX_DOUBLE} != Teuchos_INST_COMPLEX_DOUBLE=${Teuchos_INST_COMPLEX_DOUBLE}. The two need to match. Consider setting Trilinos_ENABLE_COMPLEX_DOUBLE instead of setting Tpetra_INST_COMPLEX_DOUBLE and/or Teuchos_INST_COMPLEX_DOUBLE individually.") + ENDIF() + +ENDIF() + ADD_SUBDIRECTORY(src) TRIBITS_ADD_TEST_DIRECTORIES(test)