examples: aws_iot: fix cmake build issue which used to pick dummy certificates

For CI build now `sdkconfig.ci` file is used which builds examples assuming certificate
stored on SDCard.
This commit is contained in:
Mahavir Jain 2019-01-25 15:37:44 +05:30
parent 05ba4f15d6
commit ed4d83af8e
6 changed files with 8 additions and 54 deletions

View file

@ -6,23 +6,6 @@ register_component()
if(CONFIG_EXAMPLE_EMBEDDED_CERTS)
target_add_binary_data(${COMPONENT_NAME} "certs/aws-root-ca.pem" TEXT)
if(NOT IDF_CI_BUILD)
add_custom_command(OUTPUT certs/certificate.pem.crt certs/private.pem.key
COMMAND echo "Dummy certificate data for continuous integration" >
certs/certificate.pem.crt
COMMAND echo "Dummy certificate data for continuous integration" >
certs/private.pem.key
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
VERBATIM)
add_custom_target(example_certificates DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/certs/certificate.pem.crt ${CMAKE_CURRENT_BINARY_DIR}/certs/private.pem.key)
add_dependencies(${COMPONENT_NAME} example_certificates)
target_add_binary_data(${COMPONENT_NAME} "${CMAKE_CURRENT_BINARY_DIR}/certs/certificate.pem.crt" TEXT)
target_add_binary_data(${COMPONENT_NAME} "${CMAKE_CURRENT_BINARY_DIR}/certs/private.pem.key" TEXT)
else()
target_add_binary_data(${COMPONENT_NAME} "certs/certificate.pem.crt" TEXT)
target_add_binary_data(${COMPONENT_NAME} "certs/private.pem.key" TEXT)
target_add_binary_data(${COMPONENT_NAME} "certs/certificate.pem.crt" TEXT)
target_add_binary_data(${COMPONENT_NAME} "certs/private.pem.key" TEXT)
endif()
endif()

View file

@ -7,16 +7,8 @@ ifdef CONFIG_EXAMPLE_EMBEDDED_CERTS
# from AWS, see README for details.
COMPONENT_EMBED_TXTFILES := certs/aws-root-ca.pem certs/certificate.pem.crt certs/private.pem.key
ifndef IDF_CI_BUILD
# Print an error if the certificate/key files are missing
$(COMPONENT_PATH)/certs/certificate.pem.crt $(COMPONENT_PATH)/certs/private.pem.key:
@echo "Missing PEM file $@. This file identifies the ESP32 to AWS for the example, see README for details."
exit 1
else # IDF_CI_BUILD
# this case is for the internal Continuous Integration build which
# compiles all examples. Add some dummy certs so the example can
# compile (even though it won't work)
$(COMPONENT_PATH)/certs/certificate.pem.crt $(COMPONENT_PATH)/certs/private.pem.key:
echo "Dummy certificate data for continuous integration" > $@
endif
endif

View file

@ -0,0 +1,2 @@
# For CI build example assuming certificates stored on sdcard
CONFIG_EXAMPLE_SDCARD_CERTS=y

View file

@ -6,23 +6,6 @@ register_component()
if(CONFIG_EXAMPLE_EMBEDDED_CERTS)
target_add_binary_data(${COMPONENT_NAME} "certs/aws-root-ca.pem" TEXT)
if(NOT IDF_CI_BUILD)
add_custom_command(OUTPUT certs/certificate.pem.crt certs/private.pem.key
COMMAND echo "Dummy certificate data for continuous integration" >
certs/certificate.pem.crt
COMMAND echo "Dummy certificate data for continuous integration" >
certs/private.pem.key
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
VERBATIM)
add_custom_target(example_certificates DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/certs/certificate.pem.crt ${CMAKE_CURRENT_BINARY_DIR}/certs/private.pem.key)
add_dependencies(${COMPONENT_NAME} example_certificates)
target_add_binary_data(${COMPONENT_NAME} "${CMAKE_CURRENT_BINARY_DIR}/certs/certificate.pem.crt" TEXT)
target_add_binary_data(${COMPONENT_NAME} "${CMAKE_CURRENT_BINARY_DIR}/certs/private.pem.key" TEXT)
else()
target_add_binary_data(${COMPONENT_NAME} "certs/certificate.pem.crt" TEXT)
target_add_binary_data(${COMPONENT_NAME} "certs/private.pem.key" TEXT)
target_add_binary_data(${COMPONENT_NAME} "certs/certificate.pem.crt" TEXT)
target_add_binary_data(${COMPONENT_NAME} "certs/private.pem.key" TEXT)
endif()
endif()

View file

@ -7,16 +7,8 @@ ifdef CONFIG_EXAMPLE_EMBEDDED_CERTS
# from AWS, see README for details.
COMPONENT_EMBED_TXTFILES := certs/aws-root-ca.pem certs/certificate.pem.crt certs/private.pem.key
ifndef IDF_CI_BUILD
# Print an error if the certificate/key files are missing
$(COMPONENT_PATH)/certs/certificate.pem.crt $(COMPONENT_PATH)/certs/private.pem.key:
@echo "Missing PEM file $@. This file identifies the ESP32 to AWS for the example, see README for details."
exit 1
else # IDF_CI_BUILD
# this case is for the internal Continuous Integration build which
# compiles all examples. Add some dummy certs so the example can
# compile (even though it won't work)
$(COMPONENT_PATH)/certs/certificate.pem.crt $(COMPONENT_PATH)/certs/private.pem.key:
echo "Dummy certificate data for continuous integration" > $@
endif
endif

View file

@ -0,0 +1,2 @@
# For CI build example assuming certificates stored on sdcard
CONFIG_EXAMPLE_SDCARD_CERTS=y