Fix path for cuda-memcheck tests
* Use generator expression instead of CMAKE_RUNTIME_OUTPUT_DIRECTORY
to get the path of compiled CUDA test targets when running
cuda-memcheck tests.
* Only add cuda-memcheck targets if testing is enabled.
Change-Id: Idea498dd9008b7e5075d4af9775f9f43716e22f1
diff --git a/internal/ceres/CMakeLists.txt b/internal/ceres/CMakeLists.txt
index 8bea234..0e33263 100644
--- a/internal/ceres/CMakeLists.txt
+++ b/internal/ceres/CMakeLists.txt
@@ -137,14 +137,16 @@
${CUDA_cublas_LIBRARY}
${CUDA_cusolver_LIBRARY}
${CUDA_cusparse_LIBRARY})
- add_test(
- NAME cuda_memcheck_dense_qr_test
- COMMAND cuda-memcheck --leak-check full
- ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cuda_dense_qr_test)
- add_test(
- NAME cuda_memcheck_dense_cholesky_test
- COMMAND cuda-memcheck --leak-check full
- ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cuda_dense_cholesky_test)
+ if (BUILD_TESTING)
+ add_test(
+ NAME cuda_memcheck_dense_qr_test
+ COMMAND cuda-memcheck --leak-check full
+ $<TARGET_FILE:cuda_dense_qr_test>)
+ add_test(
+ NAME cuda_memcheck_dense_cholesky_test
+ COMMAND cuda-memcheck --leak-check full
+ $<TARGET_FILE:cuda_dense_cholesky_test>)
+ endif (BUILD_TESTING)
endif (CUDA_FOUND)
if (LAPACK_FOUND)