diff --git a/applications/message_handler/CMakeLists.txt b/applications/message_handler/CMakeLists.txt
new file mode 100644
index 0000000..0cb95cc
--- /dev/null
+++ b/applications/message_handler/CMakeLists.txt
@@ -0,0 +1,42 @@
+#
+# Copyright (c) 2020-2021 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
+#
+# 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.
+#
+
+if (NOT TARGET freertos_kernel)
+    message("Not building ethosu_message_dispatcher, required freertos not built.")
+    return()
+endif()
+
+set(MESSAGE_HANDLER_ARENA_SIZE 2000000 CACHE STRING "Size of message handler tensor arena")
+
+ethosu_add_executable(message_handler
+    SOURCES
+        main.cpp
+        message_handler.cpp
+        message_queue.cpp
+    LIBRARIES
+        cmsis_device
+        $<$<TARGET_EXISTS:ethosu_core_driver>:ethosu_core_driver>
+        ethosu_mailbox
+        freertos_kernel
+        inference_process)
+
+target_include_directories(message_handler PRIVATE
+    ${LINUX_DRIVER_STACK_PATH}/kernel)
+
+target_compile_definitions(message_handler PRIVATE
+    TENSOR_ARENA_SIZE=${MESSAGE_HANDLER_ARENA_SIZE})
