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 
18 include_directories(
19     ${SHARED_BACKEND}/include
20 )
21 
22 if ("${OPENCL_BACKEND}EMPTY" STREQUAL "EMPTY")
23     set (OPENCL_BACKEND "${CMAKE_SOURCE_DIR}/opencl")
24     message("OPENCL_BACKEND=${OPENCL_BACKEND}")
25 endif()
26 add_subdirectory(opencl)
27 
28 if ("${CUDA_BACKEND}EMPTY" STREQUAL "EMPTY")
29     set (CUDA_BACKEND "${CMAKE_SOURCE_DIR}/cuda")
30     message("CUDA_BACKEND=${CUDA_BACKEND}")
31 endif()
32 add_subdirectory(cuda)
33 
34 if ("${SPIRV_BACKEND}EMPTY" STREQUAL "EMPTY")
35     set (SPIRV_BACKEND "${CMAKE_SOURCE_DIR}/spirv")
36     message("SPIRV_BACKEND=${SPIRV_BACKEND}")
37 endif()
38 add_subdirectory(spirv)
39 
40 if ("${HIP_BACKEND}EMPTY" STREQUAL "EMPTY")
41     set (HIP_BACKEND "${CMAKE_SOURCE_DIR}/hip")
42     message("HIP_BACKEND=${HIP_BACKEND}")
43 endif()
44 add_subdirectory(hip)
45 
46 if ("${MOCK_BACKEND}EMPTY" STREQUAL "EMPTY")
47     set (MOCK_BACKEND "${CMAKE_SOURCE_DIR}/mock")
48     message("MOCK_BACKEND=${MOCK_BACKEND}")
49 endif()
50 add_subdirectory(mock)
51 
52 add_executable(schemadump
53         ${SHARED_BACKEND}/cpp/schema.cpp
54         ${SHARED_BACKEND}/cpp/schemadump.cpp
55         ${SHARED_BACKEND}/cpp/schema_cursor.cpp
56         ${SHARED_BACKEND}/include/schema_cursor.h
57         ${SHARED_BACKEND}/include/schema.h
58 )
59