Files
dusk/tools/csv_to_enum/CMakeLists.txt
Dominic Masters 2c9d0c6cff
Some checks failed
Build Dusk / build-linux (push) Has been cancelled
Build Dusk / build-psp (push) Has been cancelled
Build Dusk / run-tests (push) Has been cancelled
Fixed duskdefs
2026-01-26 00:18:43 -06:00

35 lines
1.1 KiB
CMake

# Copyright (c) 2026 Dominic Masters
#
# This software is released under the MIT License.
# https://opensource.org/licenses/MIT
function(dusk_csv_to_enum INPUT_PATH OUTPUT_NAME_RELATIVE TYPEDEF PREFIX TAKE_COLUMN)
set(NULL_ENTRY TRUE)
set(COUNT_ENTRY TRUE)
# Take NULL_ENTRY and COUNT_ENTRY from ARGN
foreach(ARG IN LISTS ARGN)
if(ARG STREQUAL "NO_NULL_ENTRY")
set(NULL_ENTRY FALSE)
elseif(ARG STREQUAL "NO_COUNT_ENTRY")
set(COUNT_ENTRY FALSE)
endif()
endforeach()
set(DUSK_DEFS_TARGET_NAME "DUSK_DEFS_${OUTPUT_NAME_RELATIVE}")
string(REPLACE "." "_" DUSK_DEFS_TARGET_NAME ${DUSK_DEFS_TARGET_NAME})
string(REPLACE "/" "_" DUSK_DEFS_TARGET_NAME ${DUSK_DEFS_TARGET_NAME})
dusk_run_python(
${DUSK_DEFS_TARGET_NAME}
tools.csv_to_enum
--csv ${INPUT_PATH}
--output ${DUSK_GENERATED_HEADERS_DIR}/${OUTPUT_NAME_RELATIVE}
--typedef ${TYPEDEF}
--prefix ${PREFIX}
--take-column ${TAKE_COLUMN}
--null-entry ${NULL_ENTRY}
--count-entry ${COUNT_ENTRY}
)
add_dependencies(${DUSK_LIBRARY_TARGET_NAME} ${DUSK_DEFS_TARGET_NAME})
endfunction()