# What CMake to start at cmake_minimum_required( VERSION 3.31 ) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) #set(PICO_BOARD pico CACHE STRING "Board type") # Pull in SDK (must be before project) include( pico_sdk_import.cmake ) # Set the name and version of the project project(test C CXX ASM) # project(test VERSION 1.0.0 ) # Initialize the SDK pico_sdk_init() # == NODE 1 == if ((NOT MQTT_SERVER) OR (NOT MQTT_USERNAME) OR (NOT MQTT_PASSWORD)) message("Missing MQTT_SERVER or MQTT_USERNAME or MQTT_PASSWORD") return() endif() set(MQTT_SERVER "${MQTT_SERVER}" CACHE INTERNAL "MQTT server") set(MQTT_USERNAME "${MQTT_USERNAME}" CACHE INTERNAL "MQTT user name") set(MQTT_PASSWORD "${MQTT_PASSWORD}" CACHE INTERNAL "MQTT password") set(WIFI_SSID "${WIFI_SSID}" CACHE INTERNAL "wifi ssid") set(WIFI_PASSWORD "${WIFI_PASSWORD}" CACHE INTERNAL "wifi password") # Set path to the certificate include file if (NOT MQTT_CERT_PATH) set(MQTT_CERT_PATH ${CMAKE_CURRENT_LIST_DIR}/certs/${MQTT_SERVER}) endif() # Set the name of the certificate include file if (NOT MQTT_CERT_INC) set(MQTT_CERT_INC mqtt_client.inc) endif() # the executable add_executable(node1 node1.c bme280.c pms5003.c) pico_set_program_version(node1 "0.1") pico_set_program_name(node1 "node_one") # pull in common dependencies target_link_libraries(node1 pico_stdlib hardware_i2c pico_cyw43_arch_lwip_threadsafe_background pico_lwip_mqtt) target_include_directories(node1 PRIVATE ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/.. # for our common lwipopts or any other standard includes, if required ) target_compile_definitions(node1 PRIVATE WIFI_SSID=\"${WIFI_SSID}\" WIFI_PASSWORD=\"${WIFI_PASSWORD}\" MQTT_SERVER=\"${MQTT_SERVER}\" MQTT_USERNAME=\"${MQTT_USERNAME}\" MQTT_PASSWORD=\"${MQTT_PASSWORD}\" ) # create map/bin/hex file etc. pico_add_extra_outputs( node1 ) # == TCP TEST == add_executable(tcp_test tcp.c) target_include_directories(tcp_test PRIVATE ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/.. # for our common lwipopts ) target_link_libraries(tcp_test pico_cyw43_arch_lwip_threadsafe_background pico_stdlib ) target_compile_definitions(tcp_test PRIVATE WIFI_SSID=\"${WIFI_SSID}\" WIFI_PASSWORD=\"${WIFI_PASSWORD}\" ) pico_add_extra_outputs(tcp_test) # == CAN BUS SENDER TEST == add_executable( can_bus_sender_test can_bus_sender_test.c can_bus.c ) pico_set_program_version(can_bus_sender_test "0.1") pico_set_program_name(can_bus_sender_test "Can Bus Sender Test") target_link_libraries(can_bus_sender_test pico_stdlib hardware_spi) pico_add_extra_outputs(can_bus_sender_test)