Fix backward compatibility for `TRACE` option & Fix missing C++ regeneration when Verilog files are updated (#5934)

This commit is contained in:
Zhouyi Shen 2025-04-13 05:49:41 +08:00 committed by GitHub
parent 9367e85c88
commit 3694d153ae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 1 deletions

View File

@ -249,6 +249,7 @@ Yutetsu TAKATSUKASA
Yves Mathieu
Zhanglei Wang
Zhou Shen
Zhouyi Shen
Zixi Li
أحمد المحمودي
404allen404

View File

@ -227,11 +227,19 @@ endfunction()
function(verilate TARGET)
cmake_parse_arguments(
VERILATE
"COVERAGE;SYSTEMC;TRACE_FST;TRACE_SAIF;TRACE_VCD;TRACE_STRUCTS"
"COVERAGE;SYSTEMC;TRACE_FST;TRACE_SAIF;TRACE_VCD;TRACE;TRACE_STRUCTS"
"PREFIX;TOP_MODULE;THREADS;TRACE_THREADS;DIRECTORY"
"SOURCES;VERILATOR_ARGS;INCLUDE_DIRS;OPT_SLOW;OPT_FAST;OPT_GLOBAL"
${ARGN}
)
if (VERILATE_TRACE)
if (NOT VERILATE_TRACE_VCD)
set(VERILATE_TRACE_VCD TRUE)
endif()
message(DEPRECATION "The `TRACE` argument is deprecated. Please use `TRACE_VCD` instead.")
endif()
if(NOT VERILATE_SOURCES)
message(FATAL_ERROR "Need at least one source")
endif()
@ -434,6 +442,7 @@ function(verilate TARGET)
json_get_list(JSOURCES_SUPPORT_SLOW "${MANIFEST}" sources support_slow)
json_get_list(JSOURCES_SUPPORT_FAST "${MANIFEST}" sources support_fast)
json_get_list(JSOURCES_USER_CLASSES "${MANIFEST}" sources user_classes)
json_get_list(JSOURCES_DEPS "${MANIFEST}" sources deps)
file(WRITE ${VDIR}/${VERILATE_PREFIX}.cmake
"# Verilated -*- CMake -*-\n"