Fixed duskdefs
This commit is contained in:
35
tools/csv_to_enum/CMakeLists.txt
Normal file
35
tools/csv_to_enum/CMakeLists.txt
Normal file
@@ -0,0 +1,35 @@
|
||||
# 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()
|
||||
Reference in New Issue
Block a user