Dávid Vincze | 92d3f89 | 2023-01-05 23:54:22 +0100 | [diff] [blame] | 1 | #------------------------------------------------------------------------------- |
| 2 | # Copyright (c) 2022-2023, Arm Limited. All rights reserved. |
Laurence Lundblade | 721b56e | 2024-10-22 03:02:04 -0700 | [diff] [blame] | 3 | # Copyright (c) 2024, Laurence Lundblade. All rights reserved. |
Dávid Vincze | 92d3f89 | 2023-01-05 23:54:22 +0100 | [diff] [blame] | 4 | # |
| 5 | # SPDX-License-Identifier: BSD-3-Clause |
| 6 | # |
| 7 | # See BSD-3-Clause license in README.md |
| 8 | #------------------------------------------------------------------------------- |
| 9 | |
Dávid Vincze | 306cfc2 | 2022-12-19 20:02:39 +0100 | [diff] [blame] | 10 | cmake_minimum_required(VERSION 3.15) |
| 11 | |
| 12 | # Validate value of BUILD_QCBOR_TEST config option |
| 13 | if ((NOT BUILD_QCBOR_TEST STREQUAL "LIB") AND (NOT BUILD_QCBOR_TEST STREQUAL "APP")) |
| 14 | message(FATAL_ERROR "QCBOR | Invalid Config: BUILD_QCBOR_TEST=${BUILD_QCBOR_TEST}") |
| 15 | endif() |
| 16 | |
| 17 | add_library(qcbor_test STATIC) |
| 18 | |
| 19 | target_sources(qcbor_test |
| 20 | PRIVATE |
| 21 | float_tests.c |
| 22 | half_to_double_from_rfc7049.c |
| 23 | qcbor_decode_tests.c |
| 24 | qcbor_encode_tests.c |
| 25 | run_tests.c |
| 26 | UsefulBuf_Tests.c |
| 27 | ) |
| 28 | |
| 29 | target_include_directories(qcbor_test |
| 30 | PUBLIC |
| 31 | . |
| 32 | PRIVATE |
| 33 | ../inc |
| 34 | ) |
| 35 | |
Dávid Vincze | 92d3f89 | 2023-01-05 23:54:22 +0100 | [diff] [blame] | 36 | target_compile_definitions(qcbor_test |
| 37 | PUBLIC |
| 38 | $<$<BOOL:${QCBOR_OPT_DISABLE_FLOAT_HW_USE}>:QCBOR_DISABLE_FLOAT_HW_USE> |
| 39 | $<$<BOOL:${QCBOR_OPT_DISABLE_FLOAT_PREFERRED}>:QCBOR_DISABLE_PREFERRED_FLOAT> |
| 40 | $<$<BOOL:${QCBOR_OPT_DISABLE_FLOAT_ALL}>:USEFULBUF_DISABLE_ALL_FLOAT> |
| 41 | ) |
| 42 | |
Dávid Vincze | 306cfc2 | 2022-12-19 20:02:39 +0100 | [diff] [blame] | 43 | target_link_libraries(qcbor_test |
| 44 | PRIVATE |
| 45 | qcbor |
| 46 | # The math library is needed for floating-point support. |
| 47 | # To avoid need for it #define QCBOR_DISABLE_FLOAT_HW_USE |
Dávid Vincze | 92d3f89 | 2023-01-05 23:54:22 +0100 | [diff] [blame] | 48 | # Using GCC |
| 49 | $<$<AND:$<STREQUAL:${CMAKE_C_COMPILER_ID},"GNU">,$<NOT:$<BOOL:${QCBOR_OPT_DISABLE_FLOAT_HW_USE}>>>:m> |
Dávid Vincze | 306cfc2 | 2022-12-19 20:02:39 +0100 | [diff] [blame] | 50 | ) |
| 51 | |
| 52 | if (BUILD_QCBOR_TEST STREQUAL "APP") |
| 53 | add_executable(qcbortest) |
| 54 | |
| 55 | target_sources(qcbortest |
| 56 | PRIVATE |
| 57 | ../cmd_line_main.c |
| 58 | ../example.c |
Laurence Lundblade | 721b56e | 2024-10-22 03:02:04 -0700 | [diff] [blame] | 59 | ../tag-examples.c |
Dávid Vincze | 306cfc2 | 2022-12-19 20:02:39 +0100 | [diff] [blame] | 60 | ../ub-example.c |
| 61 | ) |
| 62 | |
| 63 | target_include_directories(qcbortest |
| 64 | PRIVATE |
| 65 | ../ |
| 66 | ) |
| 67 | |
| 68 | target_link_libraries(qcbortest |
| 69 | PRIVATE |
| 70 | qcbor |
| 71 | qcbor_test |
| 72 | ) |
Brian Sipos | 3bc24ae | 2025-01-03 23:54:07 -0500 | [diff] [blame] | 73 | |
| 74 | message(STATUS "Adding test qcbortest") |
| 75 | add_test( |
| 76 | NAME qcbortest |
| 77 | COMMAND qcbortest |
| 78 | ) |
Dávid Vincze | 306cfc2 | 2022-12-19 20:02:39 +0100 | [diff] [blame] | 79 | endif() |