diff options
author | Kshitij Sisodia <kshitij.sisodia@arm.com> | 2022-02-14 11:22:58 +0000 |
---|---|---|
committer | Kshitij Sisodia <kshitij.sisodia@arm.com> | 2022-02-14 12:27:31 +0000 |
commit | e2da7ee5e9732ec0d1962b7d74737b8ef5463a9e (patch) | |
tree | 7aefece1abd1facaed897a376428bdc23a6de33f | |
parent | cb8a987ce714283b66db49d1bc9d5b108caaa707 (diff) | |
download | ml-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.txt | 22 | ||||
-rw-r--r-- | scripts/cmake/platforms/native/build_configuration.cmake | 1 | ||||
-rw-r--r-- | source/profiler/CMakeLists.txt | 40 | ||||
-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 |