1 cmake_minimum_required(VERSION 3.22.1)
2 project(backends)
3 set(CMAKE_CXX_STANDARD 17)
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
36 if ("${MOCK_BACKEND}EMPTY" STREQUAL "EMPTY")
37 set (MOCK_BACKEND "${CMAKE_SOURCE_DIR}/mock")
38 message("MOCK_BACKEND=${MOCK_BACKEND}")
39 endif()
40 add_subdirectory(mock)
41
42
43