SUBALIGN forces alignment to the specified value, even if the object requires stricter alignment. This causes mis-aligned access when accessing the resulting value. Signed-off-by: Keith Packard <keithp@keithp.com>
78 lines
2.3 KiB
CMake
78 lines
2.3 KiB
CMake
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
cmake_minimum_required(VERSION 3.20.0)
|
|
|
|
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
|
find_package(Python REQUIRED COMPONENTS Interpreter)
|
|
|
|
project(http_server)
|
|
|
|
if(CONFIG_NET_SOCKETS_SOCKOPT_TLS AND
|
|
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED AND
|
|
(CONFIG_NET_SAMPLE_PSK_HEADER_FILE STREQUAL "dummy_psk.h"))
|
|
add_custom_target(development_psk
|
|
COMMAND ${CMAKE_COMMAND} -E echo "----------------------------------------------------------"
|
|
COMMAND ${CMAKE_COMMAND} -E echo "--- WARNING: Using dummy PSK! Only suitable for ---"
|
|
COMMAND ${CMAKE_COMMAND} -E echo "--- development. Set NET_SAMPLE_PSK_HEADER_FILE to use ---"
|
|
COMMAND ${CMAKE_COMMAND} -E echo "--- own pre-shared key. ---"
|
|
COMMAND ${CMAKE_COMMAND} -E echo "----------------------------------------------------------"
|
|
)
|
|
add_dependencies(app development_psk)
|
|
endif()
|
|
|
|
set(CERTS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/certs)
|
|
|
|
add_custom_target(sample_ca_cert
|
|
WORKING_DIRECTORY ${CERTS_DIR}
|
|
COMMAND sh gen_ca_cert.sh
|
|
COMMENT "Generating sample CA certificate"
|
|
)
|
|
|
|
add_custom_target(sample_server_cert
|
|
WORKING_DIRECTORY ${CERTS_DIR}
|
|
COMMAND sh gen_server_cert.sh
|
|
COMMENT "Generating sample server certificate"
|
|
)
|
|
|
|
option(INCLUDE_HTML_CONTENT "Include the HTML content" ON)
|
|
|
|
target_sources(app PRIVATE src/main.c)
|
|
|
|
set(gen_dir ${ZEPHYR_BINARY_DIR}/include/generated/)
|
|
|
|
target_sources_ifdef(CONFIG_NET_SAMPLE_WEBSOCKET_SERVICE app PRIVATE src/ws.c)
|
|
target_sources_ifdef(CONFIG_USB_DEVICE_STACK app PRIVATE src/usb.c)
|
|
|
|
target_link_libraries(app PRIVATE zephyr_interface zephyr)
|
|
|
|
zephyr_linker_sources(SECTIONS sections-rom.ld)
|
|
zephyr_linker_section_ifdef(CONFIG_NET_SAMPLE_HTTPS_SERVICE NAME
|
|
http_resource_desc_test_https_service
|
|
KVMA RAM_REGION GROUP RODATA_REGION)
|
|
zephyr_linker_section_ifdef(CONFIG_NET_SAMPLE_HTTP_SERVICE NAME
|
|
http_resource_desc_test_http_service
|
|
KVMA RAM_REGION GROUP RODATA_REGION)
|
|
|
|
foreach(web_resource
|
|
index.html
|
|
main.js
|
|
)
|
|
generate_inc_file_for_target(
|
|
app
|
|
src/static_web_resources/${web_resource}
|
|
${gen_dir}/${web_resource}.gz.inc
|
|
--gzip
|
|
)
|
|
endforeach()
|
|
|
|
foreach(inc_file
|
|
server_cert.der
|
|
server_privkey.der
|
|
)
|
|
generate_inc_file_for_target(
|
|
app
|
|
src/certs/${inc_file}
|
|
${gen_dir}/${inc_file}.inc
|
|
)
|
|
endforeach()
|