blob: 78771a027e3dae91064f30f36f98996be7704e7c [file] [log] [blame]
David Beckac42efd2018-09-26 17:41:13 +01001#
2# Copyright © 2017 Arm Ltd. All rights reserved.
3# 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 Beck9efb57d2018-11-05 13:40:33 +000026 ClBackendId.hpp
Sadik Armagan045f6be2020-09-10 13:37:32 +010027 ClBackendModelContext.cpp
28 ClBackendModelContext.hpp
Aron Virginas-Tar9c5db112018-10-25 11:10:49 +010029 ClContextControl.cpp
30 ClContextControl.hpp
Matthew Sloyan80fbcd52021-01-07 13:28:47 +000031 ClContextDeserializer.hpp
32 ClContextDeserializer.cpp
33 ClContextSerializer.hpp
34 ClContextSerializer.cpp
David Beck9efb57d2018-11-05 13:40:33 +000035 ClLayerSupport.cpp
36 ClLayerSupport.hpp
Matteo Martincighe67edb22019-08-14 14:05:46 +010037 ClRegistryInitializer.cpp
Aron Virginas-Tar9c5db112018-10-25 11:10:49 +010038 ClTensorHandle.hpp
Jan Eilerse9f0f0f2019-08-16 10:28:37 +010039 ClTensorHandleFactory.cpp
40 ClTensorHandleFactory.hpp
David Beck9efb57d2018-11-05 13:40:33 +000041 ClWorkloadFactory.cpp
42 ClWorkloadFactory.hpp
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010043 OpenClTimer.cpp
44 OpenClTimer.hpp
45 )
46
arovir0143095f32018-10-09 18:04:24 +010047 add_subdirectory(workloads)
David Beck39fedf02018-10-16 12:58:49 +010048
49 if(BUILD_UNIT_TESTS)
50 add_subdirectory(test)
51 endif()
David Beck9efb57d2018-11-05 13:40:33 +000052
Matthew Sloyanfc3efb32021-01-13 14:30:19 +000053 include_directories(SYSTEM "${FLATBUFFERS_INCLUDE_PATH}")
54
David Beck9efb57d2018-11-05 13:40:33 +000055else()
56 list(APPEND armnnClBackend_sources
57 ClBackendId.hpp
David Beck9efb57d2018-11-05 13:40:33 +000058 ClLayerSupport.cpp
59 ClLayerSupport.hpp
David Beck9efb57d2018-11-05 13:40:33 +000060 )
David Beckac42efd2018-09-26 17:41:13 +010061endif()
62
David Beck3cc9a622018-10-12 10:38:31 +010063add_library(armnnClBackend OBJECT ${armnnClBackend_sources})
David Beckac42efd2018-09-26 17:41:13 +010064target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
65target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +000066target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +000067target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +010068target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)