TRIBITS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) TRIBITS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) TRIBITS_COPY_FILES_TO_BINARY_DIR( Tacho_UnitTest_SparseMatrixFile SOURCE_FILES test_double.mtx test_dcomplex.mtx SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} DEST_DIR ${CMAKE_CURRENT_BINARY_DIR} ) # # gtest library # # Set some variables controlling the internal googletest package SET(INSTALL_GTEST OFF CACHE BOOL "Install GTest") TRIBITS_INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/googletest") TRIBITS_INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/googletest/include") TRIBITS_ADD_LIBRARY( tacho-gtest SOURCES googletest/src/gtest-all.cc TESTONLY NO_INSTALL_LIB_OR_HEADERS ) TRIBITS_ADD_EXECUTABLE_AND_TEST( Tacho_TestSolver.x NOEXESUFFIX NOEXEPREFIX SOURCES Tacho_TestSolver.cpp TESTONLYLIBS tacho-gtest NUM_MPI_PROCS 1 FAIL_REGULAR_EXPRESSION " FAILED " ) TRIBITS_ADD_EXECUTABLE_AND_TEST( Tacho_Test_Util.x NOEXESUFFIX NOEXEPREFIX SOURCES Tacho_TestUtil.cpp TESTONLYLIBS tacho-gtest ARGS PrintItAll NUM_MPI_PROCS 1 FAIL_REGULAR_EXPRESSION " FAILED " ) SET(TACHO_ETI_FILE "Tacho_Test") SET(TACHO_ETI_DEVICE_NAME "") SET(TACHO_ETI_DEVICE_TYPE "") SET(TACHO_ETI_WITH_TASK "") IF (Kokkos_ENABLE_SERIAL) LIST(APPEND TACHO_ETI_DEVICE_NAME "Serial") LIST(APPEND TACHO_ETI_DEVICE_TYPE "Kokkos::Device") LIST(APPEND TACHO_ETI_WITH_TASK "0") ENDIF() IF (Kokkos_ENABLE_OPENMP) LIST(APPEND TACHO_ETI_DEVICE_NAME "OpenMP") LIST(APPEND TACHO_ETI_DEVICE_TYPE "Kokkos::Device") LIST(APPEND TACHO_ETI_WITH_TASK "1") ENDIF() IF (Kokkos_ENABLE_CUDA) LIST(APPEND TACHO_ETI_DEVICE_NAME "CUDA") LIST(APPEND TACHO_ETI_DEVICE_TYPE "Kokkos::Device") LIST(APPEND TACHO_ETI_WITH_TASK "0") ENDIF() IF (Kokkos_ENABLE_HIP) LIST(APPEND TACHO_ETI_DEVICE_NAME "HIP") LIST(APPEND TACHO_ETI_DEVICE_TYPE "Kokkos::Device") LIST(APPEND TACHO_ETI_WITH_TASK "0") ENDIF() LIST(LENGTH TACHO_ETI_DEVICE_NAME ETI_DEVICE_COUNT) MATH(EXPR ETI_DEVICE_COUNT "${ETI_DEVICE_COUNT}-1") SET(TACHO_ETI_VALUE_NAME "") SET(TACHO_ETI_VALUE_TYPE "") LIST(APPEND TACHO_ETI_VALUE_NAME "double") LIST(APPEND TACHO_ETI_VALUE_TYPE "double") LIST(APPEND TACHO_ETI_VALUE_NAME "float") LIST(APPEND TACHO_ETI_VALUE_TYPE "float") LIST(APPEND TACHO_ETI_VALUE_NAME "complex_double") LIST(APPEND TACHO_ETI_VALUE_TYPE "Kokkos::complex") LIST(APPEND TACHO_ETI_VALUE_NAME "complex_float") LIST(APPEND TACHO_ETI_VALUE_TYPE "Kokkos::complex") LIST(LENGTH TACHO_ETI_VALUE_NAME ETI_VALUE_COUNT) MATH(EXPR ETI_VALUE_COUNT "${ETI_VALUE_COUNT}-1") FOREACH(I RANGE ${ETI_DEVICE_COUNT}) LIST(GET TACHO_ETI_DEVICE_NAME ${I} ETI_DEVICE_NAME) LIST(GET TACHO_ETI_DEVICE_TYPE ${I} ETI_DEVICE_TYPE) LIST(GET TACHO_ETI_WITH_TASK ${I} ETI_WITH_TASK) FOREACH(J RANGE ${ETI_VALUE_COUNT}) LIST(GET TACHO_ETI_VALUE_NAME ${J} ETI_VALUE_NAME) LIST(GET TACHO_ETI_VALUE_TYPE ${J} ETI_VALUE_TYPE) FOREACH(ETI_FILE IN LISTS TACHO_ETI_FILE) SET(ETI_NAME "${ETI_FILE}_ETI_${ETI_VALUE_NAME}_${ETI_DEVICE_NAME}") MESSAGE(STATUS "Generating ETI: ${ETI_NAME}.cpp") CONFIGURE_FILE(eti/${ETI_FILE}_ETI.in eti/${ETI_NAME}.cpp) TRIBITS_ADD_EXECUTABLE_AND_TEST( ${ETI_NAME}.x NOEXESUFFIX NOEXEPREFIX SOURCES eti/${ETI_NAME}.cpp TESTONLYLIBS tacho-gtest ARGS PrintItAll NUM_MPI_PROCS 1 FAIL_REGULAR_EXPRESSION " FAILED " ) ENDFOREACH() ENDFOREACH() ENDFOREACH()