From: Christian Kastner <ckk@debian.org>
Date: Mon, 7 Jul 2025 16:55:32 +0200
Subject: Enable changing directory for test data

On Debian, we install to a versioned directory based on the library
name.

Forwarded: not-needed
---
 clients/gtest/CMakeLists.txt         |  5 +++++
 clients/gtest/rocblas_gtest_main.cpp | 10 +++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/clients/gtest/CMakeLists.txt b/clients/gtest/CMakeLists.txt
index 790b904..1bab604 100644
--- a/clients/gtest/CMakeLists.txt
+++ b/clients/gtest/CMakeLists.txt
@@ -140,6 +140,11 @@ target_compile_options(rocblas-test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${COMMON_C
 
 target_compile_definitions( rocblas-test PRIVATE ROCM_USE_FLOAT16 ROCBLAS_INTERNAL_API ROCBLAS_NO_DEPRECATED_WARNINGS )
 
+# Debian
+if (DEFINED INSTALL_TEST_DATA_DIR)
+    target_compile_definitions( rocblas-test PRIVATE INSTALL_TEST_DATA_DIR="${INSTALL_TEST_DATA_DIR}")
+endif()
+
 if ( WARN_NOT_ILP64_PREFERRED )
   target_compile_definitions( rocblas-test PRIVATE ROCBLAS_REFERENCE_LIB=${BLAS_LIBRARY} )
 endif()
diff --git a/clients/gtest/rocblas_gtest_main.cpp b/clients/gtest/rocblas_gtest_main.cpp
index 20202e7..0553aac 100644
--- a/clients/gtest/rocblas_gtest_main.cpp
+++ b/clients/gtest/rocblas_gtest_main.cpp
@@ -350,7 +350,15 @@ int main(int argc, char** argv)
     rocblas_print_usage_warning();
 
     // Set data file path
-    rocblas_parse_data(argc, argv, rocblas_exepath() + "rocblas_gtest.data");
+#ifdef INSTALL_TEST_DATA_DIR
+    std::string exe_path = INSTALL_TEST_DATA_DIR;
+    if (exe_path.back() != '/') {
+        exe_path += '/';
+    }
+#else
+    std::string exe_path = rocblas_exepath();
+#endif
+    rocblas_parse_data(argc, argv, exe_path + "rocblas_gtest.data");
 
     // Initialize Google Tests
     testing::InitGoogleTest(&argc, argv);
