Internals/CI: Format cmakefiles using mbake
This commit is contained in:
parent
2c5e9a785a
commit
993f65f3b4
|
@ -28,6 +28,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
bash ci/ci-install.bash &&
|
bash ci/ci-install.bash &&
|
||||||
sudo apt-get install clang-format-14 yapf3 &&
|
sudo apt-get install clang-format-14 yapf3 &&
|
||||||
|
sudo pip3 install gersemi mbake &&
|
||||||
git config --global user.email "action@example.com" &&
|
git config --global user.email "action@example.com" &&
|
||||||
git config --global user.name "github action"
|
git config --global user.name "github action"
|
||||||
- name: Format code
|
- name: Format code
|
||||||
|
|
|
@ -461,7 +461,7 @@ analyzer-include:
|
||||||
scan-build $(MAKE) -k examples
|
scan-build $(MAKE) -k examples
|
||||||
|
|
||||||
format:
|
format:
|
||||||
$(MAKE) -j 4 format-c format-py format-exec
|
$(MAKE) -j 5 format-c format-cmake format-exec format-py
|
||||||
|
|
||||||
CLANGFORMAT = clang-format-14
|
CLANGFORMAT = clang-format-14
|
||||||
CLANGFORMAT_FLAGS = -i
|
CLANGFORMAT_FLAGS = -i
|
||||||
|
@ -539,7 +539,7 @@ format-py yapf:
|
||||||
$(YAPF) $(YAPF_FLAGS) $(PY_FILES)
|
$(YAPF) $(YAPF_FLAGS) $(PY_FILES)
|
||||||
|
|
||||||
GERSEMI = gersemi
|
GERSEMI = gersemi
|
||||||
GERSEMI_FLAGS = -i
|
GERSEMI_FLAGS = -i --no-warn-about-unknown-commands
|
||||||
|
|
||||||
format-cmake:
|
format-cmake:
|
||||||
$(GERSEMI) $(GERSEMI_FLAGS) $(CMAKE_FILES)
|
$(GERSEMI) $(GERSEMI_FLAGS) $(CMAKE_FILES)
|
||||||
|
|
|
@ -159,7 +159,7 @@ Those developing Verilator itself may also want these (see internals.rst):
|
||||||
|
|
||||||
sudo apt-get install clang clang-format-14 cmake gdb gprof graphviz lcov
|
sudo apt-get install clang clang-format-14 cmake gdb gprof graphviz lcov
|
||||||
sudo apt-get install python3-clang python3-distro yapf3 bear jq
|
sudo apt-get install python3-clang python3-distro yapf3 bear jq
|
||||||
sudo pip3 install sphinx sphinx_rtd_theme sphinxcontrib-spelling breathe ruff sarif-tools
|
sudo pip3 install sphinx sphinx_rtd_theme sphinxcontrib-spelling breathe gersemi mbake ruff sarif-tools
|
||||||
sudo pip3 install git+https://github.com/antmicro/astsee.git
|
sudo pip3 install git+https://github.com/antmicro/astsee.git
|
||||||
cpan install Pod::Perldoc
|
cpan install Pod::Perldoc
|
||||||
|
|
||||||
|
|
|
@ -237,7 +237,10 @@ function(verilate TARGET)
|
||||||
if(NOT VERILATE_TRACE_VCD)
|
if(NOT VERILATE_TRACE_VCD)
|
||||||
set(VERILATE_TRACE_VCD TRUE)
|
set(VERILATE_TRACE_VCD TRUE)
|
||||||
endif()
|
endif()
|
||||||
message(DEPRECATION "The `TRACE` argument is deprecated. Please use `TRACE_VCD` instead.")
|
message(
|
||||||
|
DEPRECATION
|
||||||
|
"The `TRACE` argument is deprecated. Please use `TRACE_VCD` instead."
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT VERILATE_SOURCES)
|
if(NOT VERILATE_SOURCES)
|
||||||
|
@ -444,7 +447,9 @@ function(verilate TARGET)
|
||||||
json_get_list(JSOURCES_USER_CLASSES "${MANIFEST}" sources user_classes)
|
json_get_list(JSOURCES_USER_CLASSES "${MANIFEST}" sources user_classes)
|
||||||
json_get_list(JSOURCES_DEPS "${MANIFEST}" sources deps)
|
json_get_list(JSOURCES_DEPS "${MANIFEST}" sources deps)
|
||||||
|
|
||||||
file(WRITE ${VDIR}/${VERILATE_PREFIX}.cmake
|
file(
|
||||||
|
WRITE
|
||||||
|
${VDIR}/${VERILATE_PREFIX}.cmake
|
||||||
"# Verilated -*- CMake -*-\n"
|
"# Verilated -*- CMake -*-\n"
|
||||||
"# DESCRIPTION: Verilator output: CMake include script with class lists\n"
|
"# DESCRIPTION: Verilator output: CMake include script with class lists\n"
|
||||||
"#\n"
|
"#\n"
|
||||||
|
@ -496,7 +501,9 @@ function(verilate TARGET)
|
||||||
json_get_submodules(JSUBMODULES JNSUBMODULES "${MANIFEST}")
|
json_get_submodules(JSUBMODULES JNSUBMODULES "${MANIFEST}")
|
||||||
|
|
||||||
if(JNSUBMODULES)
|
if(JNSUBMODULES)
|
||||||
file(APPEND ${VDIR}/${VERILATE_PREFIX}.cmake
|
file(
|
||||||
|
APPEND
|
||||||
|
${VDIR}/${VERILATE_PREFIX}.cmake
|
||||||
"# Verilate hierarchical blocks\n"
|
"# Verilate hierarchical blocks\n"
|
||||||
"get_target_property(TOP_TARGET_NAME \"\${TARGET}\" NAME)\n"
|
"get_target_property(TOP_TARGET_NAME \"\${TARGET}\" NAME)\n"
|
||||||
)
|
)
|
||||||
|
@ -514,30 +521,58 @@ function(verilate TARGET)
|
||||||
set(SUBMODULE_VERILATE_ARGS "")
|
set(SUBMODULE_VERILATE_ARGS "")
|
||||||
|
|
||||||
if(NOT ${I} STREQUAL ${JNSUBMODULES})
|
if(NOT ${I} STREQUAL ${JNSUBMODULES})
|
||||||
string(APPEND SUBMODULE_CMAKE
|
string(
|
||||||
|
APPEND
|
||||||
|
SUBMODULE_CMAKE
|
||||||
"add_library(${JSUBMODULE_PREFIX} STATIC)\n"
|
"add_library(${JSUBMODULE_PREFIX} STATIC)\n"
|
||||||
"target_link_libraries(\${TOP_TARGET_NAME} PRIVATE ${JSUBMODULE_PREFIX})\n"
|
"target_link_libraries(\${TOP_TARGET_NAME} PRIVATE ${JSUBMODULE_PREFIX})\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
if(JSUBMODULE_DEPS)
|
if(JSUBMODULE_DEPS)
|
||||||
string(APPEND SUBMODULE_CMAKE "target_link_libraries(${JSUBMODULE_PREFIX} INTERFACE ${JSUBMODULE_DEPS})\n")
|
string(
|
||||||
|
APPEND
|
||||||
|
SUBMODULE_CMAKE
|
||||||
|
"target_link_libraries(${JSUBMODULE_PREFIX} INTERFACE ${JSUBMODULE_DEPS})\n"
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
string(APPEND SUBMODULE_VERILATE_ARGS "${JSUBMODULE_PREFIX} PREFIX ${JSUBMODULE_PREFIX} TOP_MODULE ${JSUBMODULE_TOP} DIRECTORY ${JSUBMODULE_DIRECTORY} SOURCES ${JSUBMODULE_SOURCES}")
|
string(
|
||||||
|
APPEND
|
||||||
|
SUBMODULE_VERILATE_ARGS
|
||||||
|
"${JSUBMODULE_PREFIX} PREFIX ${JSUBMODULE_PREFIX} TOP_MODULE ${JSUBMODULE_TOP} DIRECTORY ${JSUBMODULE_DIRECTORY} SOURCES ${JSUBMODULE_SOURCES}"
|
||||||
|
)
|
||||||
else()
|
else()
|
||||||
string(APPEND SUBMODULE_CMAKE "# Verilate the top module that refers to lib-create wrappers of above\n")
|
string(
|
||||||
string(APPEND SUBMODULE_VERILATE_ARGS "\${TOP_TARGET_NAME} PREFIX ${JSUBMODULE_PREFIX} TOP_MODULE ${JSUBMODULE_TOP} DIRECTORY ${JSUBMODULE_DIRECTORY} SOURCES ${JSUBMODULE_SOURCES}")
|
APPEND
|
||||||
|
SUBMODULE_CMAKE
|
||||||
|
"# Verilate the top module that refers to lib-create wrappers of above\n"
|
||||||
|
)
|
||||||
|
string(
|
||||||
|
APPEND
|
||||||
|
SUBMODULE_VERILATE_ARGS
|
||||||
|
"\${TOP_TARGET_NAME} PREFIX ${JSUBMODULE_PREFIX} TOP_MODULE ${JSUBMODULE_TOP} DIRECTORY ${JSUBMODULE_DIRECTORY} SOURCES ${JSUBMODULE_SOURCES}"
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(JSUBMODILE_VERILATOR_ARGS)
|
if(JSUBMODILE_VERILATOR_ARGS)
|
||||||
string(APPEND SUBMODULE_VERILATE_ARGS " VERILATOR_ARGS -f ${JSUBMODILE_VERILATOR_ARGS}")
|
string(
|
||||||
|
APPEND
|
||||||
|
SUBMODULE_VERILATE_ARGS
|
||||||
|
" VERILATOR_ARGS -f ${JSUBMODILE_VERILATOR_ARGS}"
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(JSUBMODULE_CFLAGS)
|
if(JSUBMODULE_CFLAGS)
|
||||||
string(APPEND SUBMODULE_VERILATE_ARGS " -CFLAGS ${JSUBMODULE_CFLAGS}")
|
string(
|
||||||
|
APPEND
|
||||||
|
SUBMODULE_VERILATE_ARGS
|
||||||
|
" -CFLAGS ${JSUBMODULE_CFLAGS}"
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
file(APPEND ${VDIR}/${VERILATE_PREFIX}.cmake
|
file(
|
||||||
|
APPEND
|
||||||
|
${VDIR}/${VERILATE_PREFIX}.cmake
|
||||||
"${SUBMODULE_CMAKE}"
|
"${SUBMODULE_CMAKE}"
|
||||||
"verilate(${SUBMODULE_VERILATE_ARGS})\n"
|
"verilate(${SUBMODULE_VERILATE_ARGS})\n"
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue