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