Skip to content

Commit aa60154

Browse files
committed
feat: verification for FileType field
check with valid values defined in SPDX 2.3 spec 8.3
1 parent 25164d6 commit aa60154

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

cmake/sbom.cmake

+13
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,15 @@ function(sbom_finalize)
588588
set_property(GLOBAL PROPERTY sbom_project "")
589589
endfunction()
590590

591+
function(_sbom_verify_filetype FILETYPE)
592+
# https://spdx.github.io/spdx-spec/v2.3/file-information/#83-file-type-field
593+
set(valid_entries "SOURCE" "BINARY" "ARCHIVE" "APPLICATION" "AUDIO" "IMAGE" "TEXT" "VIDEO" "DOCUMENTATION" "SPDX" "OTHER")
594+
list(FIND valid_entries "${FILETYPE}" _index)
595+
if(${_index} EQUAL -1)
596+
message(FATAL_ERROR "Invalid FILETYPE: ${FILETYPE}")
597+
endif()
598+
endfunction()
599+
591600
# Append a file to the SBOM. Use this after calling sbom_generate().
592601
function(_sbom_file)
593602
set(options OPTIONAL)
@@ -607,6 +616,10 @@ function(_sbom_file)
607616
message(FATAL_ERROR "Missing FILETYPE argument")
608617
endif()
609618

619+
foreach(_filetype ${SBOM_FILE_FILETYPE})
620+
_sbom_verify_filetype("${_filetype}")
621+
endforeach()
622+
610623
sbom_spdxid(
611624
VARIABLE SBOM_FILE_SPDXID
612625
CHECK "${SBOM_FILE_SPDXID}"

0 commit comments

Comments
 (0)