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