1# Copyright (c) 2024 Basalte bv 2# SPDX-License-Identifier: Apache-2.0 3 4cmake_minimum_required(VERSION 3.20.0) 5find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) 6 7project(sbom_spdx) 8target_sources(app PRIVATE ${ZEPHYR_BASE}/misc/empty_file.c) 9 10enable_testing() 11include(CTest) 12 13set( 14 SPDX_FILES 15 app.spdx 16 zephyr.spdx 17 build.spdx 18 modules-deps.spdx 19) 20 21set(SPDX_VERSIONS_TO_TEST "2.2" "2.3") 22 23foreach(spdx_version ${SPDX_VERSIONS_TO_TEST}) 24 string(REPLACE "." "_" version_suffix ${spdx_version}) 25 26 add_test( 27 NAME spdx_gen_${version_suffix} 28 COMMAND west spdx -d ${CMAKE_BINARY_DIR} --spdx-version ${spdx_version} 29 ) 30 31 foreach(spdx_file ${SPDX_FILES}) 32 get_filename_component(basename ${spdx_file} NAME_WE) 33 34 add_test( 35 NAME spdx_validate_${basename}_${version_suffix} 36 COMMAND pyspdxtools -i ${CMAKE_BINARY_DIR}/spdx/${spdx_file} 37 ) 38 39 set_tests_properties( 40 spdx_validate_${basename}_${version_suffix} 41 PROPERTIES DEPENDS spdx_gen_${version_suffix} 42 ) 43 endforeach() 44endforeach() 45