# Copyright Advanced Micro Devices, Inc., or its affiliates. # SPDX-License-Identifier: MIT add_subdirectory(src) set(HIPBLASLT_TEST_DATA "${CMAKE_CURRENT_BINARY_DIR}/../hipblaslt_gtest.data") add_custom_command( OUTPUT "${HIPBLASLT_TEST_DATA}" COMMAND ${HIPBLASLT_PYTHON_COMMAND} "${CMAKE_CURRENT_SOURCE_DIR}/hipblaslt_gentest.py" -I "${CMAKE_CURRENT_SOURCE_DIR}/../common/include" "${CMAKE_CURRENT_SOURCE_DIR}/data/hipblaslt_gtest.yaml" -o ${HIPBLASLT_TEST_DATA} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/hipblaslt_gentest.py ${CMAKE_CURRENT_SOURCE_DIR}/data/hipblaslt_common.yaml ${CMAKE_CURRENT_SOURCE_DIR}/data/matmul_common.yaml ${CMAKE_CURRENT_SOURCE_DIR}/data/matmul_gtest.yaml ${CMAKE_CURRENT_SOURCE_DIR}/data/auxiliary_gtest.yaml ${CMAKE_CURRENT_SOURCE_DIR}/data/smoke_gtest.yaml ${CMAKE_CURRENT_SOURCE_DIR}/data/rocroller_gtest.yaml ${CMAKE_CURRENT_SOURCE_DIR}/data/known_bugs.yaml ) add_custom_target(hipblaslt-test-data DEPENDS ${HIPBLASLT_TEST_DATA}) add_dependencies(hipblaslt-test hipblaslt-test-data) # Optional: CTest test categorization when building in rocm-libraries with shared/ctest. # Skipped when shared/ is not present (e.g. standalone hipblaslt or sparse checkout in CI). set(HIPBLASLT_CTEST_INSTALL_FILE "") if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test_categories.yaml") if(DEFINED ROCM_LIBRARIES_ROOT AND EXISTS "${ROCM_LIBRARIES_ROOT}/shared/ctest/TestCategories.cmake") include("${ROCM_LIBRARIES_ROOT}/shared/ctest/TestCategories.cmake") set(HIPBLASLT_HAS_CTEST_CATEGORIES ON) enable_testing() message(STATUS "hipBLASLt: YAML-based test categorization") file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/staging") # Install-time CTestTestfile for TheRock: relative paths so ctest can run from installed location set(HIPBLASLT_CTEST_INSTALL_FILE "${CMAKE_CURRENT_BINARY_DIR}/install_CTestTestfile.cmake") file(WRITE "${HIPBLASLT_CTEST_INSTALL_FILE}" [=[ # This is a test file generated by hipBLASLt for install time. # Tests are defined with relative paths to work in the installed location. ]=] ) apply_test_category_labels( hipblaslt-test "${CMAKE_CURRENT_SOURCE_DIR}/test_categories.yaml" "${PROJECT_BINARY_DIR}/staging" "${HIPBLASLT_CTEST_INSTALL_FILE}" ) # Install CTestTestfile.cmake to bin/hipblaslt/ for TheRock (relocatable tests; run ctest from that dir) install( FILES "${HIPBLASLT_CTEST_INSTALL_FILE}" DESTINATION "${CMAKE_INSTALL_BINDIR}/hipblaslt" COMPONENT tests RENAME "CTestTestfile.cmake" ) else() message(STATUS "hipBLASLt: shared/ctest not found (e.g. standalone checkout), skipping CTest categories") endif() else() message(STATUS "hipBLASLt: No test_categories.yaml (CTest categories not used)") endif()