blob: bfb99dde96f3fe6b8ff532c94fe4784b00f0d38b [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)
11 message(SEND_ERROR "flatc not found. Specify the full path of the flatc executable with -DFLATC=<flatc path>")
12 endif()
13
14 add_custom_command(
15 # Generate an ClContextSchema_generated.h file if it doesn't exist, or update it when necessary otherwise
16 OUTPUT ClContextSchema_generated.h DEPENDS ClContextSchema.fbs
17 COMMAND ${FLATC} -o ${CMAKE_CURRENT_BINARY_DIR} --cpp ${CMAKE_CURRENT_SOURCE_DIR}/ClContextSchema.fbs
18 #COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/ClContextSchema_generated.h
19 # ${CMAKE_CURRENT_SOURCE_DIR}/ClContextSchema_generated.h
20 )
21
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010022 list(APPEND armnnClBackend_sources
Matthew Sloyan80fbcd52021-01-07 13:28:47 +000023 ClContextSchema_generated.h
Aron Virginas-Tar9c5db112018-10-25 11:10:49 +010024 ClBackend.cpp
25 ClBackend.hpp
David Beck1b61be52018-11-08 09:19:14 +000026 ClBackendContext.cpp
27 ClBackendContext.hpp
David Beck9efb57d2018-11-05 13:40:33 +000028 ClBackendId.hpp
Sadik Armagan045f6be2020-09-10 13:37:32 +010029 ClBackendModelContext.cpp
30 ClBackendModelContext.hpp
Aron Virginas-Tar9c5db112018-10-25 11:10:49 +010031 ClContextControl.cpp
32 ClContextControl.hpp
Matthew Sloyan80fbcd52021-01-07 13:28:47 +000033 ClContextDeserializer.hpp
34 ClContextDeserializer.cpp
35 ClContextSerializer.hpp
36 ClContextSerializer.cpp
David Beck9efb57d2018-11-05 13:40:33 +000037 ClLayerSupport.cpp
38 ClLayerSupport.hpp
Matteo Martincighe67edb22019-08-14 14:05:46 +010039 ClRegistryInitializer.cpp
Aron Virginas-Tar9c5db112018-10-25 11:10:49 +010040 ClTensorHandle.hpp
Jan Eilerse9f0f0f2019-08-16 10:28:37 +010041 ClTensorHandleFactory.cpp
42 ClTensorHandleFactory.hpp
David Beck9efb57d2018-11-05 13:40:33 +000043 ClWorkloadFactory.cpp
44 ClWorkloadFactory.hpp
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010045 OpenClTimer.cpp
46 OpenClTimer.hpp
47 )
48
arovir0143095f32018-10-09 18:04:24 +010049 add_subdirectory(workloads)
David Beck39fedf02018-10-16 12:58:49 +010050
51 if(BUILD_UNIT_TESTS)
52 add_subdirectory(test)
53 endif()
David Beck9efb57d2018-11-05 13:40:33 +000054
55else()
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)