summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKshitij Sisodia <kshitij.sisodia@arm.com>2022-02-14 11:22:58 +0000
committerKshitij Sisodia <kshitij.sisodia@arm.com>2022-02-14 12:27:31 +0000
commite2da7ee5e9732ec0d1962b7d74737b8ef5463a9e (patch)
tree7aefece1abd1facaed897a376428bdc23a6de33f
parentcb8a987ce714283b66db49d1bc9d5b108caaa707 (diff)
downloadml-embedded-evaluation-kit-e2da7ee5e9732ec0d1962b7d74737b8ef5463a9e.tar.gz
MLECO-2970: Moving Profiler out as a CMake target.
Profiler is a stand alone static lib that will depend on log and hal targets. Change-Id: Ibbff289c6760982f54ae278d95a054e73db018c8
-rw-r--r--CMakeLists.txt22
-rw-r--r--scripts/cmake/platforms/native/build_configuration.cmake1
-rw-r--r--source/profiler/CMakeLists.txt40
-rw-r--r--source/profiler/Profiler.cc (renamed from source/application/profiler/Profiler.cc)0
-rw-r--r--source/profiler/include/Profiler.hpp (renamed from source/application/profiler/include/Profiler.hpp)0
5 files changed, 50 insertions, 13 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 51e21eb..e61e378 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -98,19 +98,19 @@ add_subdirectory(${SRC_PATH}/math ${CMAKE_BINARY_DIR}/math)
# We include the hal target
add_subdirectory(${SRC_PATH}/hal ${CMAKE_BINARY_DIR}/hal)
-# Include the tensorflow build target
-include(${CMAKE_SCRIPTS_DIR}/tensorflow.cmake)
-
-# Profiler
+# Add the profiler target
if (NOT DEFINED PROFILER_DIR)
- set(PROFILER_DIR ${SRC_PATH}/application/profiler)
+ set(PROFILER_DIR ${SRC_PATH}/profiler)
endif ()
+add_subdirectory(${PROFILER_DIR} ${CMAKE_BINARY_DIR}/profiler)
+
+# Include the tensorflow build target
+include(${CMAKE_SCRIPTS_DIR}/tensorflow.cmake)
# Include directories for application module:
set(APPLICATION_INCLUDE_DIRS
${SRC_PATH}/application/tensorflow-lite-micro/include
- ${SRC_PATH}/application/main/include
- ${PROFILER_DIR}/include)
+ ${SRC_PATH}/application/main/include)
# Source files for application module:
file(GLOB_RECURSE SRC_APPLICATION
@@ -122,9 +122,6 @@ file(GLOB_RECURSE SRC_APPLICATION
"${SRC_PATH}/application/main/**/*.c"
"${SRC_PATH}/application/tensorflow-lite-micro/**/*.cc"
"${SRC_PATH}/application/tensorflow-lite-micro/*.cc"
- "${PROFILER_DIR}/*.cc"
- "${PROFILER_DIR}/*.cpp"
- "${PROFILER_DIR}/*.c"
)
list(FILTER SRC_APPLICATION EXCLUDE REGEX ".*main\\.c.*$")
set(SRC_MAIN "${SRC_PATH}/application/main/Main.cc")
@@ -228,9 +225,8 @@ foreach(use_case ${USE_CASES})
log
arm_math
hal
- tensorflow-lite-micro
- $<$<BOOL:${APPLICATION_EXTRA_LIBS}>:${APPLICATION_EXTRA_LIBS}>
- )
+ profiler
+ tensorflow-lite-micro)
add_executable(${TARGET_NAME} ${SRC_MAIN})
diff --git a/scripts/cmake/platforms/native/build_configuration.cmake b/scripts/cmake/platforms/native/build_configuration.cmake
index bf6f980..bc91804 100644
--- a/scripts/cmake/platforms/native/build_configuration.cmake
+++ b/scripts/cmake/platforms/native/build_configuration.cmake
@@ -39,6 +39,7 @@ function(set_platform_global_defaults)
target_include_directories(catch2
INTERFACE
${TEST_TPIP_INCLUDE})
+ add_dependencies(catch2 catch2-headers)
endfunction()
diff --git a/source/profiler/CMakeLists.txt b/source/profiler/CMakeLists.txt
new file mode 100644
index 0000000..f70e86d
--- /dev/null
+++ b/source/profiler/CMakeLists.txt
@@ -0,0 +1,40 @@
+#----------------------------------------------------------------------------
+# Copyright (c) 2022 Arm Limited. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#----------------------------------------------------------------------------
+
+#######################################################
+# Profiling library #
+#######################################################
+
+project(profiler
+ DESCRIPTION "Profiling API for applications."
+ LANGUAGES C CXX)
+
+add_library(profiler STATIC)
+
+target_sources(profiler
+ PRIVATE
+ Profiler.cc)
+
+target_include_directories(profiler PUBLIC include)
+
+# Profiling API depends on the logging interface and the HAL library.
+target_link_libraries(profiler PRIVATE log hal)
+
+message(STATUS "*******************************************************")
+message(STATUS "Library : " profiler)
+message(STATUS "CMAKE_SYSTEM_PROCESSOR : " ${CMAKE_SYSTEM_PROCESSOR})
+message(STATUS "*******************************************************")
diff --git a/source/application/profiler/Profiler.cc b/source/profiler/Profiler.cc
index efbc64d..efbc64d 100644
--- a/source/application/profiler/Profiler.cc
+++ b/source/profiler/Profiler.cc
diff --git a/source/application/profiler/include/Profiler.hpp b/source/profiler/include/Profiler.hpp
index 503d805..503d805 100644
--- a/source/application/profiler/include/Profiler.hpp
+++ b/source/profiler/include/Profiler.hpp