diff --git a/CMakeLists.txt b/CMakeLists.txt
index 51e21eb..e61e378 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -98,19 +98,19 @@
 # We include the hal target
 add_subdirectory(${SRC_PATH}/hal ${CMAKE_BINARY_DIR}/hal)
 
+# Add the profiler target
+if (NOT DEFINED PROFILER_DIR)
+    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)
 
-# Profiler
-if (NOT DEFINED PROFILER_DIR)
-    set(PROFILER_DIR ${SRC_PATH}/application/profiler)
-endif ()
-
 # 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 @@
     "${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 @@
         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 @@
     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
similarity index 100%
rename from source/application/profiler/Profiler.cc
rename to source/profiler/Profiler.cc
diff --git a/source/application/profiler/include/Profiler.hpp b/source/profiler/include/Profiler.hpp
similarity index 100%
rename from source/application/profiler/include/Profiler.hpp
rename to source/profiler/include/Profiler.hpp
