cmake: Fix some failing example builds, fix gcov

This commit is contained in:
Angus Gratton 2018-09-18 14:23:56 +10:00 committed by Angus Gratton
parent 3850f82259
commit a7372d5828
9 changed files with 19 additions and 9 deletions

View file

@ -24,3 +24,5 @@ register_component()
# disable --coverage for this component, as it is used as transport
# for gcov
component_compile_options("-fno-profile-arcs" "-fno-test-coverage")
target_link_libraries(app_trace gcov)

View file

@ -5,7 +5,6 @@
# BT config
#
CONFIG_BT_ENABLED=y
#
# ESP32-specific config
#

View file

@ -199,7 +199,7 @@ esptool.py v2.1-beta1
)";
const char* flash_output[] = {
R"(Flashing binaries to serial port )" CONFIG_ESPTOOLPY_PORT R"( (app at offset 0x10000)...
R"(Flashing binaries to serial port (*) (app at offset 0x10000)...
esptool.py v2.1-beta1
Connecting....
)",
@ -231,7 +231,7 @@ Hard resetting...
const char* monitor_output =
R"(MONITOR
)" LOG_COLOR_W R"(--- idf_monitor on )" CONFIG_ESPTOOLPY_PORT R"( 115200 ---
)" LOG_COLOR_W R"(--- idf_monitor on (*) 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --
)" LOG_RESET_COLOR;

View file

@ -25,6 +25,9 @@ It will enable coverage info for all source files of your component. If you need
`gcov_example.o: CFLAGS += --coverage`
Replace `gcov_example.o` with path to your file.
For CMake-based build system, use `component_compile_options(--coverage)` or: ` set_source_files_properties(gcov_example.c PROPERTIES COMPILE_FLAGS --coverage`
### Hard-coded Dump Call
This method requires `esp_gcov_dump` to be called from your application's code. Below are additional steps which should be performed after the generic ones to obtain coverage info via hard-coded call. Step 1 is already done for this example project.

View file

@ -3,3 +3,7 @@ set(COMPONENT_SRCS "gcov_example.c"
set(COMPONENT_ADD_INCLUDEDIRS ".")
register_component()
set_source_files_properties(gcov_example.c
PROPERTIES COMPILE_FLAGS
--coverage)

View file

@ -1,10 +1,9 @@
set(COMPONENT_SRCS "native_ota_example.c")
set(COMPONENT_ADD_INCLUDEDIRS ".")
# Embed the server root certificate into the final binary
#
# (If this was a component, we would set COMPONENT_EMBED_TXTFILES here.)
set(COMPONENT_EMBED_TXTFILES ../../server_certs/ca_cert.pem)
set(COMPONENT_EMBED_TXTFILES ${IDF_PATH}/examples/system/ota/server_certs/ca_cert.pem)
register_component()

View file

@ -5,7 +5,6 @@ set(COMPONENT_ADD_INCLUDEDIRS ".")
# Embed the server root certificate into the final binary
#
# (If this was a component, we would set COMPONENT_EMBED_TXTFILES here.)
set(COMPONENT_EMBED_TXTFILES ../../server_certs/ca_cert.pem)
set(COMPONENT_EMBED_TXTFILES ${IDF_PATH}/examples/system/ota/server_certs/ca_cert.pem)
register_component()

View file

@ -0,0 +1,4 @@
set(COMPONENT_SRCS "simple_wifi.c")
set(COMPONENT_ADD_INCLUDEDIRS ".")
register_component()

View file

@ -88,8 +88,8 @@ else
[ -z ${NUM_OF_JOBS} ] && die "NUM_OF_JOBS is bad"
# count number of examples
NUM_OF_EXAMPLES=$(echo ${EXAMPLE_PATHS} | wc -l )
[ -z ${NUM_OF_EXAMPLES} ] && die "NUM_OF_EXAMPLES is bad"
NUM_OF_EXAMPLES=$( echo "${EXAMPLE_PATHS}" | wc -l )
[ ${NUM_OF_EXAMPLES} -lt 80 ] && die "NUM_OF_EXAMPLES is bad"
# separate intervals
#57 / 5 == 12