diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..86029e0
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,86 @@
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+cmake_minimum_required(VERSION 3.11...3.15) # TODO: test with ubuntu
+project(tf-a-unit-tests)
+
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake)
+
+include(CTest)
+include(ExternalProject)
+include(FetchContent)
+
+# Configuration variables
+set(TF_A_PATH "" CACHE PATH "Path of the Trusted Firmware A directory")
+set(TF_A_UNIT_TESTS_PATH ${CMAKE_CURRENT_LIST_DIR} CACHE PATH "Path of root directory of the unit test repository")
+set(CPPUTEST_URL "https://github.com/cpputest/cpputest.git" CACHE STRING "CppUTest repository URL")
+set(CPPUTEST_REFSPEC "v3.8" CACHE STRING "CppUTest git refspec")
+set(CPPUTEST_INSTALL_PATH ${CMAKE_CURRENT_BINARY_DIR}/CppUTest_install CACHE PATH "CppUTest installation directory")
+set(CPPUTEST_PACKAGE_PATH ${CPPUTEST_INSTALL_PATH}/lib/CppUTest/cmake CACHE PATH "CppUTest CMake package directory")
+set(CPICKER_CACHE_PATH ${CMAKE_CURRENT_BINARY_DIR}/cpicker_cache CACHE PATH "Directory of c-picker generated file")
+set(UNIT_TEST_COMMON_SOURCES ${CMAKE_CURRENT_LIST_DIR}/common/main.cpp)
+set(CMAKE_CXX_STANDARD 11)
+
+# Checking TF-A
+if (NOT TF_A_PATH)
+	message(FATAL_ERROR "TF_A_PATH is not set")
+endif()
+
+# Checking c-picker
+find_program(CPICKER_COMMAND "c-picker")
+if (NOT CPICKER_COMMAND)
+	message(FATAL_ERROR "Please install c-picker using pip")
+endif()
+
+# Checking git
+find_program(GIT_COMMAND "git")
+if (NOT GIT_COMMAND)
+	message(FATAL_ERROR "Please install git")
+endif()
+
+# Fetching CppUTest
+FetchContent_Declare(
+	cpputest
+	GIT_REPOSITORY ${CPPUTEST_URL}
+	GIT_TAG ${CPPUTEST_REFSPEC}
+	GIT_SHALLOW TRUE
+	PATCH_COMMAND git apply ${CMAKE_CURRENT_LIST_DIR}/common/cpputest-cmake-fix.patch
+)
+
+# FetchContent_GetProperties exports cpputest_SOURCE_DIR and cpputest_BINARY_DIR variables
+FetchContent_GetProperties(cpputest)
+if(NOT cpputest_POPULATED)
+	message(STATUS "Fetching CppUTest")
+	FetchContent_Populate(cpputest)
+endif()
+
+# Build and install CppUTest in CMake time. This makes us able to use CppUTest as a CMake package later.
+# Memory leak detection is turned off to avoid conflict with memcheck.
+execute_process(COMMAND
+	${CMAKE_COMMAND}
+		-DMEMORY_LEAK_DETECTION=OFF
+		-DLONGLONG=ON
+		-DC++11=ON
+		-DCMAKE_INSTALL_PREFIX=${CPPUTEST_INSTALL_PATH}
+		-GUnix\ Makefiles
+		${cpputest_SOURCE_DIR}
+	WORKING_DIRECTORY
+		${cpputest_BINARY_DIR}
+)
+execute_process(COMMAND ${CMAKE_COMMAND} --build ${cpputest_BINARY_DIR} -- install -j)
+
+# Finding CppUTest package. CMake will check [package name]_DIR variable.
+set(CppUTest_DIR ${CPPUTEST_PACKAGE_PATH} CACHE PATH "Path of CppUTestConfig.cmake")
+find_package(CppUTest CONFIG REQUIRED)
+
+# find_package sets the CppUTest_INCLUDE_DIRS and CppUTest_LIBRARIES variables
+include_directories(${CppUTest_INCLUDE_DIRS})
+link_libraries(${CppUTest_LIBRARIES})
+
+# Project level include directory
+include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
+
+include(tests/lib/libc/test_libc.cmake)
diff --git a/cmake/UnitTest.cmake b/cmake/UnitTest.cmake
new file mode 100644
index 0000000..d2255df
--- /dev/null
+++ b/cmake/UnitTest.cmake
@@ -0,0 +1,66 @@
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+include_guard(DIRECTORY)
+
+# Global dependencies:
+#   Variables
+#     CPICKER_COMMAND: command of the c-picker
+#     CPICKER_CACHE_PATH: root directory of the c-picker generate files
+#     UNIT_TEST_COMMON_SOURCES: common source files for every test build
+#   Modules
+#     CTest module should be included in the root CMakeLists.txt before calling this function
+
+function(add_unit_test_suite)
+	set(_OPTIONS_ARGS args1)
+	set(_ONE_VALUE_ARGS TEST_NAME)
+	set(_MULTI_VALUE_ARGS TEST_SOURCES TEST_INCLUDES TEST_DEFINES)
+	cmake_parse_arguments(_MY_PARAMS "${_OPTIONS_ARGS}" "${_ONE_VALUE_ARGS}" "${_MULTI_VALUE_ARGS}" ${ARGN})
+	# TODO: check_args(add_unit_test_suite args1 args2 args3)
+
+	set(TEST_NAME ${_MY_PARAMS_TEST_NAME})
+	set(TEST_INCLUDES ${_MY_PARAMS_TEST_INCLUDES})
+	set(TEST_DEFINES ${_MY_PARAMS_TEST_DEFINES})
+
+	add_executable(${TEST_NAME} ${UNIT_TEST_COMMON_SOURCES})
+
+	foreach(TEST_SOURCE ${_MY_PARAMS_TEST_SOURCES})
+		get_filename_component(TEST_SOURCE_EXTENSION ${TEST_SOURCE} EXT)
+
+		if (${TEST_SOURCE_EXTENSION} STREQUAL ".yml")
+			# Building output file name: tests/a/b/test.yml -> ${CPICKER_CACHE_PATH}/a/b/test.c
+			get_filename_component(TEST_SOURCE_DIR ${TEST_SOURCE} DIRECTORY)
+			file(RELATIVE_PATH CPICKER_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tests ${TEST_SOURCE_DIR})
+			get_filename_component(TEST_SOURCE_NAME ${TEST_SOURCE} NAME_WE)
+			set(CPICKER_OUTPUT ${CPICKER_CACHE_PATH}/${TEST_NAME}/${CPICKER_SOURCE_DIR}/${TEST_SOURCE_NAME}.c)
+
+			# Creating output directory
+			get_filename_component(OUTPUT_DIRECTORY ${CPICKER_OUTPUT} DIRECTORY)
+			file(MAKE_DIRECTORY ${OUTPUT_DIRECTORY})
+
+			# Fetching referenced source files as the dependencies of the generated file
+			execute_process(
+				COMMAND ${CPICKER_COMMAND} --config ${TEST_SOURCE} --root ${TF_A_PATH} --print-dependencies
+				OUTPUT_VARIABLE CPICKER_DEPENDENCIES
+			)
+
+			# Adding custom command for invoking c-picker
+			add_custom_command(
+				OUTPUT ${CPICKER_OUTPUT}
+				COMMAND ${CPICKER_COMMAND} --config ${TEST_SOURCE} --root ${TF_A_PATH} > ${CPICKER_OUTPUT}
+				DEPENDS ${TEST_SOURCE} ${CPICKER_DEPENDENCIES}
+				COMMENT "Generating c-picker output ${CPICKER_OUTPUT}"
+			)
+			set(TEST_SOURCE ${CPICKER_OUTPUT})
+		endif()
+
+		target_sources(${TEST_NAME} PRIVATE ${TEST_SOURCE})
+	endforeach()
+
+	target_include_directories(${TEST_NAME} PRIVATE ${TEST_INCLUDES})
+	target_compile_definitions(${TEST_NAME} PRIVATE ${TEST_DEFINES})
+	add_test(${TEST_NAME} ${TEST_NAME})
+endfunction()
diff --git a/common/cpputest-cmake-fix.patch b/common/cpputest-cmake-fix.patch
new file mode 100644
index 0000000..3b4ce17
--- /dev/null
+++ b/common/cpputest-cmake-fix.patch
@@ -0,0 +1,13 @@
+diff --git a/src/CppUTest/CMakeLists.txt b/src/CppUTest/CMakeLists.txt
+index 736777f5..d9a592f2 100644
+--- a/src/CppUTest/CMakeLists.txt
++++ b/src/CppUTest/CMakeLists.txt
+@@ -50,7 +50,7 @@ set(CppUTest_headers
+ 
+ add_library(CppUTest STATIC ${CppUTest_src} ${CppUTest_headers})
+ if (WIN32)
+-    target_link_libraries(CppUTest winmm.lib)
++    target_link_libraries(CppUTest winmm)
+ endif (WIN32)
+ install(FILES ${CppUTest_headers} DESTINATION include/CppUTest)
+ install(TARGETS CppUTest
diff --git a/common/main.cpp b/common/main.cpp
new file mode 100644
index 0000000..f93a866
--- /dev/null
+++ b/common/main.cpp
@@ -0,0 +1,11 @@
+/*
+ * Copyright (c) 2019, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include "CppUTest/CommandLineTestRunner.h"
+
+int main(int argc, char *argv[]) {
+	return RUN_ALL_TESTS(argc, argv);
+}
diff --git a/tests/lib/libc/memcmp.yml b/tests/lib/libc/memcmp.yml
new file mode 100644
index 0000000..ce76156
--- /dev/null
+++ b/tests/lib/libc/memcmp.yml
@@ -0,0 +1,12 @@
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+elements:
+- file: lib/libc/memcmp.c
+  type: include
+- file: lib/libc/memcmp.c
+  type: function
+  name: memcmp
diff --git a/tests/lib/libc/memcpy.yml b/tests/lib/libc/memcpy.yml
new file mode 100644
index 0000000..f03c736
--- /dev/null
+++ b/tests/lib/libc/memcpy.yml
@@ -0,0 +1,12 @@
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+elements:
+- file: lib/libc/memcpy.c
+  type: include
+- file: lib/libc/memcpy.c
+  type: function
+  name: memcpy
diff --git a/tests/lib/libc/test_libc.cmake b/tests/lib/libc/test_libc.cmake
new file mode 100644
index 0000000..2dbf66f
--- /dev/null
+++ b/tests/lib/libc/test_libc.cmake
@@ -0,0 +1,27 @@
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+include(UnitTest)
+
+add_unit_test_suite(
+	TEST_NAME memcmp
+	TEST_SOURCES
+		${CMAKE_CURRENT_LIST_DIR}/test_memcmp.cpp
+		${CMAKE_CURRENT_LIST_DIR}/memcmp.yml
+	TEST_INCLUDES
+		${TF_A_PATH}/include
+		${TF_A_PATH}/include/lib/libc/aarch64/
+)
+
+add_unit_test_suite(
+	TEST_NAME memcpy
+	TEST_SOURCES
+		${CMAKE_CURRENT_LIST_DIR}/test_memcpy.cpp
+		${CMAKE_CURRENT_LIST_DIR}/memcpy.yml
+	TEST_INCLUDES
+		${TF_A_PATH}/include
+		${TF_A_PATH}/include/lib/libc/aarch64/
+)
diff --git a/tests/lib/libc/test_memcmp.cpp b/tests/lib/libc/test_memcmp.cpp
new file mode 100644
index 0000000..b4eb293
--- /dev/null
+++ b/tests/lib/libc/test_memcmp.cpp
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2019, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include "CppUTest/TestHarness.h"
+extern "C" {
+#include "lib/libc/string.h"
+}
+
+TEST_GROUP(memcmp) {
+
+};
+
+TEST(memcmp, empty) {
+	LONGS_EQUAL(0, memcmp(NULL, NULL, 0))
+}
diff --git a/tests/lib/libc/test_memcpy.cpp b/tests/lib/libc/test_memcpy.cpp
new file mode 100644
index 0000000..64f02c2
--- /dev/null
+++ b/tests/lib/libc/test_memcpy.cpp
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2019, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include "CppUTest/TestHarness.h"
+extern "C" {
+#include "lib/libc/string.h"
+}
+
+TEST_GROUP(memcpy) {
+
+};
+
+TEST(memcpy, empty) {
+	LONGS_EQUAL(0, memcpy(NULL, NULL, 0))
+}
