blob: cc710699109ceff97a8171e618c48724a18380e7 [file] [log] [blame]
David Beckac42efd2018-09-26 17:41:13 +01001#
Cathal Corbettd9e55f02023-01-11 13:03:21 +00002# Copyright © 2017-2023 Arm Ltd and Contributors. All rights reserved.
David Beckac42efd2018-09-26 17:41:13 +01003# SPDX-License-Identifier: MIT
4#
5
David Beckac42efd2018-09-26 17:41:13 +01006if(ARMCOMPUTECL)
Matthew Sloyan80fbcd52021-01-07 13:28:47 +00007 find_program(FLATC flatc
8 HINTS ${FLATC_DIR}
9 DOC "Path to 'flatc', the flatbuffers compiler")
10 if (NOT FLATC)
Matthew Sloyan29fde272021-02-09 16:46:14 +000011 message(WARNING "flatc not found. Specify the full path of the flatc executable with -DFLATC=<flatc path>")
12 else()
13 add_custom_command(
14 # Updates ClContextSchema_generated.h if changes are made.
15 OUTPUT ClContextSchema_generated.h DEPENDS ClContextSchema.fbs
16 COMMAND ${FLATC} -o ${CMAKE_CURRENT_BINARY_DIR} --cpp ${CMAKE_CURRENT_SOURCE_DIR}/ClContextSchema.fbs
17 )
Matthew Sloyan80fbcd52021-01-07 13:28:47 +000018 endif()
19
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010020 list(APPEND armnnClBackend_sources
Matthew Sloyan80fbcd52021-01-07 13:28:47 +000021 ClContextSchema_generated.h
Aron Virginas-Tar9c5db112018-10-25 11:10:49 +010022 ClBackend.cpp
23 ClBackend.hpp
David Beck1b61be52018-11-08 09:19:14 +000024 ClBackendContext.cpp
25 ClBackendContext.hpp
David Monahan6642b8a2021-11-04 16:31:46 +000026 ClBackendDefaultAllocator.hpp
David Beck9efb57d2018-11-05 13:40:33 +000027 ClBackendId.hpp
Sadik Armagan045f6be2020-09-10 13:37:32 +010028 ClBackendModelContext.cpp
29 ClBackendModelContext.hpp
Aron Virginas-Tar9c5db112018-10-25 11:10:49 +010030 ClContextControl.cpp
31 ClContextControl.hpp
Matthew Sloyan80fbcd52021-01-07 13:28:47 +000032 ClContextDeserializer.hpp
33 ClContextDeserializer.cpp
34 ClContextSerializer.hpp
35 ClContextSerializer.cpp
David Monahane4a41dc2021-04-14 16:55:36 +010036 ClImportTensorHandle.hpp
Colm Donelanc74b1752021-03-12 15:58:48 +000037 ClImportTensorHandleFactory.cpp
38 ClImportTensorHandleFactory.hpp
David Beck9efb57d2018-11-05 13:40:33 +000039 ClLayerSupport.cpp
40 ClLayerSupport.hpp
Matteo Martincighe67edb22019-08-14 14:05:46 +010041 ClRegistryInitializer.cpp
Mike Kelly4cc341c2023-07-07 15:43:06 +010042 ClTensorHandle.cpp
Aron Virginas-Tar9c5db112018-10-25 11:10:49 +010043 ClTensorHandle.hpp
Jan Eilerse9f0f0f2019-08-16 10:28:37 +010044 ClTensorHandleFactory.cpp
45 ClTensorHandleFactory.hpp
David Beck9efb57d2018-11-05 13:40:33 +000046 ClWorkloadFactory.cpp
47 ClWorkloadFactory.hpp
Narumol Prangnawarat9ef36142022-01-25 15:15:34 +000048 ICLTensorProxy.hpp
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010049 OpenClTimer.cpp
50 OpenClTimer.hpp
51 )
52
arovir0143095f32018-10-09 18:04:24 +010053 add_subdirectory(workloads)
David Beck39fedf02018-10-16 12:58:49 +010054
55 if(BUILD_UNIT_TESTS)
56 add_subdirectory(test)
57 endif()
David Beck9efb57d2018-11-05 13:40:33 +000058
Matthew Sloyanfc3efb32021-01-13 14:30:19 +000059 include_directories(SYSTEM "${FLATBUFFERS_INCLUDE_PATH}")
60
David Beck9efb57d2018-11-05 13:40:33 +000061else()
62 list(APPEND armnnClBackend_sources
63 ClBackendId.hpp
David Beck9efb57d2018-11-05 13:40:33 +000064 ClLayerSupport.cpp
65 ClLayerSupport.hpp
David Beck9efb57d2018-11-05 13:40:33 +000066 )
David Beckac42efd2018-09-26 17:41:13 +010067endif()
68
David Beck3cc9a622018-10-12 10:38:31 +010069add_library(armnnClBackend OBJECT ${armnnClBackend_sources})
David Beckac42efd2018-09-26 17:41:13 +010070target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
71target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +000072target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +000073target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +010074target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Jim Flynn27761832022-03-20 21:52:17 +000075target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include)