blob: 0005c8178b54de96fd6bd46ca1b91f729c965882 [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 Monahane4a41dc2021-04-14 16:55:36 +010035 ClImportTensorHandle.hpp
Colm Donelanc74b1752021-03-12 15:58:48 +000036 ClImportTensorHandleFactory.cpp
37 ClImportTensorHandleFactory.hpp
David Beck9efb57d2018-11-05 13:40:33 +000038 ClLayerSupport.cpp
39 ClLayerSupport.hpp
Matteo Martincighe67edb22019-08-14 14:05:46 +010040 ClRegistryInitializer.cpp
Aron Virginas-Tar9c5db112018-10-25 11:10:49 +010041 ClTensorHandle.hpp
Jan Eilerse9f0f0f2019-08-16 10:28:37 +010042 ClTensorHandleFactory.cpp
43 ClTensorHandleFactory.hpp
David Beck9efb57d2018-11-05 13:40:33 +000044 ClWorkloadFactory.cpp
45 ClWorkloadFactory.hpp
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010046 OpenClTimer.cpp
47 OpenClTimer.hpp
48 )
49
arovir0143095f32018-10-09 18:04:24 +010050 add_subdirectory(workloads)
David Beck39fedf02018-10-16 12:58:49 +010051
52 if(BUILD_UNIT_TESTS)
53 add_subdirectory(test)
54 endif()
David Beck9efb57d2018-11-05 13:40:33 +000055
Matthew Sloyanfc3efb32021-01-13 14:30:19 +000056 include_directories(SYSTEM "${FLATBUFFERS_INCLUDE_PATH}")
57
David Beck9efb57d2018-11-05 13:40:33 +000058else()
59 list(APPEND armnnClBackend_sources
60 ClBackendId.hpp
David Beck9efb57d2018-11-05 13:40:33 +000061 ClLayerSupport.cpp
62 ClLayerSupport.hpp
David Beck9efb57d2018-11-05 13:40:33 +000063 )
David Beckac42efd2018-09-26 17:41:13 +010064endif()
65
David Beck3cc9a622018-10-12 10:38:31 +010066add_library(armnnClBackend OBJECT ${armnnClBackend_sources})
David Beckac42efd2018-09-26 17:41:13 +010067target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
68target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +000069target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +000070target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +010071target_include_directories(armnnClBackend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)