QCBOR: Switch tests over to upstream QCBOR

Note: this patch also disables the usage
of floating point operations in the test code.

Change-Id: Ie87af2a8e05f03337e7188d0f8c6150fd11c0c7a
Signed-off-by: David Vincze <david.vincze@arm.com>
diff --git a/test/secure_fw/suites/attestation/ext/qcbor_util/qcbor_util.h b/test/secure_fw/suites/attestation/ext/qcbor_util/qcbor_util.h
index 1ea05b4..1b5a034 100644
--- a/test/secure_fw/suites/attestation/ext/qcbor_util/qcbor_util.h
+++ b/test/secure_fw/suites/attestation/ext/qcbor_util/qcbor_util.h
@@ -12,7 +12,7 @@
 #define __QCBOR_UTILS_H__
 
 
-#include "qcbor.h"
+#include "qcbor/qcbor.h"
 #include "q_useful_buf.h"
 #include "attest_token.h" /* For error codes */
 
diff --git a/test/secure_fw/suites/qcbor/CMakeLists.txt b/test/secure_fw/suites/qcbor/CMakeLists.txt
index 7a67e46..b33e36e 100644
--- a/test/secure_fw/suites/qcbor/CMakeLists.txt
+++ b/test/secure_fw/suites/qcbor/CMakeLists.txt
@@ -6,23 +6,23 @@
 #-------------------------------------------------------------------------------
 cmake_policy(SET CMP0079 NEW)
 
-######################### qcbor ns ############################
-
-set(QCBOR_SRC_DIR ${CMAKE_SOURCE_DIR}/lib/ext/qcbor)
+####################### qcbor ns ###############################################
 
 add_library(tfm_qcbor_ns STATIC EXCLUDE_FROM_ALL)
 
 target_sources(tfm_qcbor_ns
     PRIVATE
-        ${QCBOR_SRC_DIR}/src/ieee754.c
-        ${QCBOR_SRC_DIR}/src/qcbor_encode.c
-        ${QCBOR_SRC_DIR}/src/qcbor_decode.c
-        ${QCBOR_SRC_DIR}/src/UsefulBuf.c
+        ${QCBOR_PATH}/src/ieee754.c
+        ${QCBOR_PATH}/src/qcbor_encode.c
+        ${QCBOR_PATH}/src/qcbor_decode.c
+        ${QCBOR_PATH}/src/UsefulBuf.c
 )
 
 target_include_directories(tfm_qcbor_ns
     PUBLIC
-        $<BUILD_INTERFACE:${QCBOR_SRC_DIR}/inc>
+        $<BUILD_INTERFACE:${QCBOR_PATH}/inc>
+    INTERFACE
+        $<BUILD_INTERFACE:${QCBOR_PATH}/inc/qcbor>
 )
 
 target_link_libraries(tfm_qcbor_ns
@@ -35,7 +35,38 @@
         ${COMPILER_CP_FLAG}
 )
 
-####################### Non Secure Test #############################################
+target_compile_definitions(tfm_qcbor_ns
+    PUBLIC
+        QCBOR_DISABLE_FLOAT_HW_USE
+        USEFULBUF_DISABLE_ALL_FLOAT
+        QCBOR_DISABLE_PREFERRED_FLOAT
+)
+
+####################### qcbor test #############################################
+
+add_library(tfm_qcbor_test STATIC EXCLUDE_FROM_ALL)
+
+target_sources(tfm_qcbor_test
+    PRIVATE
+        ${QCBOR_PATH}/test/qcbor_decode_tests.c
+        ${QCBOR_PATH}/test/qcbor_encode_tests.c
+        ${QCBOR_PATH}/test/run_tests.c
+        ${QCBOR_PATH}/test/UsefulBuf_Tests.c
+)
+
+target_include_directories(tfm_qcbor_test
+    PUBLIC
+        $<BUILD_INTERFACE:${QCBOR_PATH}/test>
+    PRIVATE
+        $<BUILD_INTERFACE:${QCBOR_PATH}/inc>
+)
+
+target_link_libraries(tfm_qcbor_test
+    PRIVATE
+        tfm_qcbor_ns
+)
+
+####################### Non Secure test ########################################
 
 if (NOT TEST_NS_QCBOR)
     return()
@@ -51,7 +82,7 @@
 target_include_directories(tfm_test_suite_qcbor_ns
     PUBLIC
         non_secure
-        ${QCBOR_SRC_DIR}/test/
+        $<BUILD_INTERFACE:${QCBOR_PATH}/test>
 )
 
 target_compile_definitions(tfm_test_suite_qcbor_ns
@@ -71,29 +102,3 @@
     INTERFACE
         tfm_test_suite_qcbor_ns
 )
-
-############################ qcbor test ########################################
-
-add_library(tfm_qcbor_test STATIC EXCLUDE_FROM_ALL)
-
-target_sources(tfm_qcbor_test
-    PRIVATE
-        ${QCBOR_SRC_DIR}/test/float_tests.c
-        ${QCBOR_SRC_DIR}/test/half_to_double_from_rfc7049.c
-        ${QCBOR_SRC_DIR}/test/qcbor_decode_tests.c
-        ${QCBOR_SRC_DIR}/test/qcbor_encode_tests.c
-        ${QCBOR_SRC_DIR}/test/run_tests.c
-        ${QCBOR_SRC_DIR}/test/UsefulBuf_Tests.c
-)
-
-target_include_directories(tfm_qcbor_test
-    PUBLIC
-        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/test>
-    PRIVATE
-        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/inc>
-)
-
-target_link_libraries(tfm_qcbor_test
-    PRIVATE
-        tfm_qcbor_ns
-)