Draft: Fix compilation
[alexxy/gromacs.git] / src / testutils / TestMacros.cmake
index a9fb476a567abcb23ddfc4419308a66f82190f29..6e7586654a699f11590ab9be7532ca8ce45e7792 100644 (file)
@@ -73,8 +73,10 @@ endfunction ()
 #     All the normal CUDA .cu source files
 #   OPENCL_CPP_SOURCE_FILES   file1.cpp file2.cpp ...
 #     All the other C++ .cpp source files needed only with OpenCL
+#   SYCL_CPP_SOURCE_FILES   file1.cpp file2.cpp ...
+#     All the C++ .cpp source files needed only with SYCL
 #   NON_GPU_CPP_SOURCE_FILES  file1.cpp file2.cpp ...
-#     All the other C++ .cpp source files needed only with neither OpenCL nor CUDA
+#     All the other C++ .cpp source files needed only with neither OpenCL nor CUDA nor SYCL
 function (gmx_add_gtest_executable EXENAME)
     if (GMX_BUILD_UNITTESTS AND BUILD_TESTING)
         set(_options MPI HARDWARE_DETECTION)
@@ -83,6 +85,7 @@ function (gmx_add_gtest_executable EXENAME)
             CUDA_CU_SOURCE_FILES
             GPU_CPP_SOURCE_FILES
             OPENCL_CPP_SOURCE_FILES
+            SYCL_CPP_SOURCE_FILES
             NON_GPU_CPP_SOURCE_FILES
             )
         cmake_parse_arguments(ARG "${_options}" "" "${_multi_value_keywords}" ${ARGN})
@@ -140,6 +143,13 @@ function (gmx_add_gtest_executable EXENAME)
             if(ARG_OPENCL_CPP_SOURCE_FILES OR ARG_GPU_CPP_SOURCE_FILES)
                 target_link_libraries(${EXENAME} PRIVATE ${OpenCL_LIBRARIES})
             endif()
+        elseif (GMX_GPU_SYCL)
+            target_sources(${EXENAME} PRIVATE ${ARG_SYCL_CPP_SOURCE_FILES} ${ARG_GPU_CPP_SOURCE_FILES})
+            set_source_files_properties(${ARG_GPU_CPP_SOURCE_FILES} PROPERTIES COMPILE_FLAGS "${SYCL_CXX_FLAGS}")
+            set_source_files_properties(${ARG_SYCL_CPP_SOURCE_FILES} PROPERTIES COMPILE_FLAGS "${SYCL_CXX_FLAGS}")
+            if(ARG_SYCL_CPP_SOURCE_FILES OR ARG_GPU_CPP_SOURCE_FILES)
+                target_link_libraries(${EXENAME} PRIVATE ${SYCL_CXX_FLAGS})
+            endif()
         else()
             target_sources(${EXENAME} PRIVATE ${ARG_NON_GPU_CPP_SOURCE_FILES} ${ARG_GPU_CPP_SOURCE_FILES})
         endif()