1 cmake_minimum_required(VERSION 3.22.1)
2 project(backends)
3 set(CMAKE_CXX_STANDARD 14)
4 if ("${HAT_TARGET}EMPTY" STREQUAL "EMPTY")
5 message("HAT_TARGET is empty")
6 else ()
7 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${HAT_TARGET})
8 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${HAT_TARGET})
9 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${HAT_TARGET})
10 message("Binaries in ${HAT_TARGET} HAT_TARGET")
11 endif ()
12
13 if ("${SHARED_BACKEND}EMPTY" STREQUAL "EMPTY")
14 set (SHARED_BACKEND "${CMAKE_SOURCE_DIR}/shared")
15 message("SHARED_BACKEND=${SHARED_BACKEND}")
16 endif()
17 add_subdirectory(shared)
18
19 include_directories(
20 ${SHARED_BACKEND}/include
21 )
22
23 if ("${OPENCL_BACKEND}EMPTY" STREQUAL "EMPTY")
24 set (OPENCL_BACKEND "${CMAKE_SOURCE_DIR}/opencl")
25 message("OPENCL_BACKEND=${OPENCL_BACKEND}")
26 endif()
27 add_subdirectory(opencl)
28
29 if ("${CUDA_BACKEND}EMPTY" STREQUAL "EMPTY")
30 set (CUDA_BACKEND "${CMAKE_SOURCE_DIR}/cuda")
31 message("CUDA_BACKEND=${CUDA_BACKEND}")
32 endif()
33 add_subdirectory(cuda)
34
35 #if ("${SPIRV_BACKEND}EMPTY" STREQUAL "EMPTY")
36 # set (SPIRV_BACKEND "${CMAKE_SOURCE_DIR}/spirv")
37 # message("SPIRV_BACKEND=${SPIRV_BACKEND}")
38 #endif()
39 #add_subdirectory(spirv)
40
41 #if ("${HIP_BACKEND}EMPTY" STREQUAL "EMPTY")
42 # set (HIP_BACKEND "${CMAKE_SOURCE_DIR}/hip")
43 # message("HIP_BACKEND=${HIP_BACKEND}")
44 #endif()
45 #add_subdirectory(hip)
46
47 if ("${MOCK_BACKEND}EMPTY" STREQUAL "EMPTY")
48 set (MOCK_BACKEND "${CMAKE_SOURCE_DIR}/mock")
49 message("MOCK_BACKEND=${MOCK_BACKEND}")
50 endif()
51 add_subdirectory(mock)
52
53
54