From facab8c5a78323dceb0a418ecaaaa4319b102793 Mon Sep 17 00:00:00 2001 From: Djordje Nedic Date: Fri, 27 May 2022 10:10:51 +0200 Subject: [PATCH] tools: Increase the minimal supported CMake version to 3.16 This updates the minimal supported version of CMake to 3.16, which in turn enables us to use more CMake features and have a cleaner build system. This is the version that provides most new features and also the one we use in our latest docker image for CI. --- CMakeLists.txt | 2 +- .../bootloader/subproject/CMakeLists.txt | 2 +- .../cxx/test_apps/exception/CMakeLists.txt | 2 +- .../exception_no_except/CMakeLists.txt | 2 +- .../cxx/test_apps/general/CMakeLists.txt | 2 +- components/cxx/test_apps/rtti/CMakeLists.txt | 2 +- .../driver/test_apps/gpio/CMakeLists.txt | 2 +- .../driver/test_apps/gptimer/CMakeLists.txt | 2 +- .../legacy_pcnt_driver/CMakeLists.txt | 2 +- .../legacy_rmt_driver/CMakeLists.txt | 2 +- .../legacy_rtc_temp_driver/CMakeLists.txt | 2 +- .../legacy_timer_driver/CMakeLists.txt | 2 +- .../driver/test_apps/pulse_cnt/CMakeLists.txt | 2 +- .../driver/test_apps/rmt/CMakeLists.txt | 2 +- .../temperature_sensor/CMakeLists.txt | 2 +- components/esp_eth/test_apps/CMakeLists.txt | 2 +- .../esp_event_unit_test/CMakeLists.txt | 2 +- .../esp_lcd/test_apps/i2c_lcd/CMakeLists.txt | 2 +- .../esp_lcd/test_apps/i80_lcd/CMakeLists.txt | 2 +- .../esp_lcd/test_apps/rgb_lcd/CMakeLists.txt | 2 +- .../esp_lcd/test_apps/spi_lcd/CMakeLists.txt | 2 +- .../esp_local_ctrl/proto/CMakeLists.txt | 2 +- components/esp_netif/test_apps/CMakeLists.txt | 2 +- .../esp_rom/host_test/rom_test/CMakeLists.txt | 2 +- .../test_apps/rtc_8md256/CMakeLists.txt | 2 +- .../espcoredump/test_apps/CMakeLists.txt | 2 +- components/esptool_py/run_serial_tool.cmake | 2 +- .../log/host_test/log_test/CMakeLists.txt | 2 +- components/lwip/test_afl_host/CMakeLists.txt | 2 +- components/mdns/host_test/CMakeLists.txt | 2 +- .../mdns/test_afl_fuzz_host/CMakeLists.txt | 2 +- components/mqtt/host_test/CMakeLists.txt | 2 +- components/newlib/test_apps/CMakeLists.txt | 2 +- .../host_test/nvs_page_test/CMakeLists.txt | 2 +- components/protocomm/proto/CMakeLists.txt | 2 +- .../partition_api_test/CMakeLists.txt | 2 +- components/ulp/cmake/CMakeLists.txt | 2 +- .../wear_levelling/test_apps/CMakeLists.txt | 2 +- .../wifi_provisioning/proto/CMakeLists.txt | 2 +- docs/en/api-guides/build-system.rst | 42 +++++++++---------- docs/en/get-started/linux-macos-setup.rst | 2 +- docs/en/migration-guides/build-system.rst | 7 ++++ docs/zh_CN/api-guides/build-system.rst | 8 ++-- docs/zh_CN/get-started/linux-macos-setup.rst | 2 +- .../bluedroid/ble/ble_ancs/CMakeLists.txt | 2 +- .../ble/ble_compatibility_test/CMakeLists.txt | 2 +- .../ble/ble_eddystone/CMakeLists.txt | 2 +- .../ble/ble_hid_device_demo/CMakeLists.txt | 2 +- .../bluedroid/ble/ble_ibeacon/CMakeLists.txt | 2 +- .../ble/ble_spp_client/CMakeLists.txt | 2 +- .../ble/ble_spp_server/CMakeLists.txt | 2 +- .../throughput_client/CMakeLists.txt | 2 +- .../throughput_server/CMakeLists.txt | 2 +- .../bluedroid/ble/gatt_client/CMakeLists.txt | 2 +- .../ble/gatt_security_client/CMakeLists.txt | 2 +- .../ble/gatt_security_server/CMakeLists.txt | 2 +- .../bluedroid/ble/gatt_server/CMakeLists.txt | 2 +- .../gatt_server_service_table/CMakeLists.txt | 2 +- .../ble/gattc_multi_connect/CMakeLists.txt | 2 +- .../ble50_security_client/CMakeLists.txt | 2 +- .../ble50_security_server/CMakeLists.txt | 2 +- .../bluedroid/ble_50/multi-adv/CMakeLists.txt | 2 +- .../ble_50/peroidic_adv/CMakeLists.txt | 2 +- .../ble_50/peroidic_sync/CMakeLists.txt | 2 +- .../classic_bt/a2dp_sink/CMakeLists.txt | 2 +- .../classic_bt/a2dp_source/CMakeLists.txt | 2 +- .../classic_bt/bt_discovery/CMakeLists.txt | 2 +- .../bt_hid_mouse_device/CMakeLists.txt | 2 +- .../classic_bt/bt_l2cap_client/CMakeLists.txt | 2 +- .../classic_bt/bt_l2cap_server/CMakeLists.txt | 2 +- .../classic_bt/bt_spp_acceptor/CMakeLists.txt | 2 +- .../bt_spp_initiator/CMakeLists.txt | 2 +- .../bt_spp_vfs_acceptor/CMakeLists.txt | 2 +- .../bt_spp_vfs_initiator/CMakeLists.txt | 2 +- .../classic_bt/hfp_ag/CMakeLists.txt | 2 +- .../classic_bt/hfp_hf/CMakeLists.txt | 2 +- .../coex/a2dp_gatts_coex/CMakeLists.txt | 2 +- .../coex/gattc_gatts_coex/CMakeLists.txt | 2 +- examples/bluetooth/blufi/CMakeLists.txt | 2 +- .../esp_ble_mesh/aligenie_demo/CMakeLists.txt | 2 +- .../ble_mesh_coex_test/CMakeLists.txt | 2 +- .../ble_mesh_console/CMakeLists.txt | 2 +- .../fast_prov_client/CMakeLists.txt | 2 +- .../fast_prov_server/CMakeLists.txt | 2 +- .../ble_mesh_node/onoff_client/CMakeLists.txt | 2 +- .../ble_mesh_node/onoff_server/CMakeLists.txt | 2 +- .../ble_mesh_provisioner/CMakeLists.txt | 2 +- .../sensor_client/CMakeLists.txt | 2 +- .../sensor_server/CMakeLists.txt | 2 +- .../vendor_client/CMakeLists.txt | 2 +- .../vendor_server/CMakeLists.txt | 2 +- .../ble_mesh_wifi_coexist/CMakeLists.txt | 2 +- .../bluetooth/esp_hid_device/CMakeLists.txt | 2 +- .../bluetooth/esp_hid_host/CMakeLists.txt | 2 +- .../hci/ble_adv_scan_combined/CMakeLists.txt | 2 +- .../controller_hci_uart_esp32/CMakeLists.txt | 2 +- .../CMakeLists.txt | 2 +- .../controller_vhci_ble_adv/CMakeLists.txt | 2 +- .../nimble/ble_spp/spp_client/CMakeLists.txt | 2 +- .../nimble/ble_spp/spp_server/CMakeLists.txt | 2 +- .../bluetooth/nimble/blecent/CMakeLists.txt | 2 +- .../bluetooth/nimble/blehr/CMakeLists.txt | 2 +- .../bluetooth/nimble/blemesh/CMakeLists.txt | 2 +- .../bluetooth/nimble/bleprph/CMakeLists.txt | 2 +- .../nimble/bleprph_wifi_coex/CMakeLists.txt | 2 +- .../blecent_throughput/CMakeLists.txt | 2 +- .../bleprph_throughput/CMakeLists.txt | 2 +- .../cmake/component_manager/CMakeLists.txt | 2 +- .../cmake/idf_as_lib/CMakeLists.txt | 2 +- .../cmake/import_lib/CMakeLists.txt | 2 +- .../cmake/import_prebuilt/CMakeLists.txt | 2 +- .../import_prebuilt/prebuilt/CMakeLists.txt | 2 +- .../cmake/linux_host_app/CMakeLists.txt | 2 +- .../cmake/multi_config/CMakeLists.txt | 2 +- .../build_system/cmake/plugins/CMakeLists.txt | 2 +- .../bootloader_hooks/CMakeLists.txt | 2 +- .../bootloader_override/CMakeLists.txt | 2 +- examples/cxx/exceptions/CMakeLists.txt | 2 +- .../cxx/experimental/blink_cxx/CMakeLists.txt | 2 +- .../esp_event_async_cxx/CMakeLists.txt | 2 +- .../experimental/esp_event_cxx/CMakeLists.txt | 2 +- .../experimental/esp_modem_cxx/CMakeLists.txt | 2 +- .../esp_mqtt_cxx/ssl/CMakeLists.txt | 2 +- .../esp_mqtt_cxx/tcp/CMakeLists.txt | 2 +- .../experimental/esp_timer_cxx/CMakeLists.txt | 2 +- .../host_test/esp_timer/CMakeLists.txt | 2 +- .../host_test/gpio/CMakeLists.txt | 2 +- .../host_test/i2c/CMakeLists.txt | 2 +- .../host_test/spi/CMakeLists.txt | 2 +- .../host_test/system/CMakeLists.txt | 2 +- .../simple_i2c_rw_example/CMakeLists.txt | 2 +- .../simple_spi_rw_example/CMakeLists.txt | 2 +- examples/cxx/pthread/CMakeLists.txt | 2 +- examples/cxx/rtti/CMakeLists.txt | 2 +- examples/ethernet/basic/CMakeLists.txt | 2 +- examples/ethernet/enc28j60/CMakeLists.txt | 2 +- examples/ethernet/eth2ap/CMakeLists.txt | 2 +- examples/ethernet/iperf/CMakeLists.txt | 2 +- examples/get-started/blink/CMakeLists.txt | 2 +- .../get-started/hello_world/CMakeLists.txt | 2 +- .../get-started/sample_project/CMakeLists.txt | 2 +- .../internal_communication/CMakeLists.txt | 2 +- .../mesh/ip_internal_network/CMakeLists.txt | 2 +- .../mesh/manual_networking/CMakeLists.txt | 2 +- examples/network/network_tests/CMakeLists.txt | 2 +- .../network/simple_sniffer/CMakeLists.txt | 2 +- examples/openthread/ot_br/CMakeLists.txt | 2 +- examples/openthread/ot_cli/CMakeLists.txt | 2 +- examples/openthread/ot_rcp/CMakeLists.txt | 2 +- .../peripherals/adc/dma_read/CMakeLists.txt | 2 +- .../adc/single_read/adc/CMakeLists.txt | 2 +- .../adc/single_read/adc2/CMakeLists.txt | 2 +- .../single_read/single_read/CMakeLists.txt | 2 +- .../gpio/generic_gpio/CMakeLists.txt | 2 +- .../gpio/matrix_keyboard/CMakeLists.txt | 2 +- .../i2c/i2c_self_test/CMakeLists.txt | 2 +- .../peripherals/i2c/i2c_simple/CMakeLists.txt | 2 +- .../peripherals/i2c/i2c_tools/CMakeLists.txt | 2 +- .../i2s/i2s_adc_dac/CMakeLists.txt | 2 +- .../i2s_audio_recorder_sdcard/CMakeLists.txt | 2 +- .../peripherals/i2s/i2s_basic/CMakeLists.txt | 2 +- .../peripherals/i2s/i2s_es8311/CMakeLists.txt | 2 +- .../peripherals/lcd/gc9a01/CMakeLists.txt | 2 +- .../peripherals/lcd/i2c_oled/CMakeLists.txt | 2 +- .../lcd/i80_controller/CMakeLists.txt | 2 +- .../peripherals/lcd/rgb_panel/CMakeLists.txt | 2 +- examples/peripherals/lcd/tjpgd/CMakeLists.txt | 2 +- .../ledc/ledc_basic/CMakeLists.txt | 2 +- .../peripherals/ledc/ledc_fade/CMakeLists.txt | 2 +- .../mcpwm_bdc_speed_control/CMakeLists.txt | 2 +- .../mcpwm_bldc_hall_control/CMakeLists.txt | 2 +- .../mcpwm_capture_hc_sr04/CMakeLists.txt | 2 +- .../mcpwm/mcpwm_servo_control/CMakeLists.txt | 2 +- .../mcpwm/mcpwm_sync_example/CMakeLists.txt | 2 +- .../pcnt/rotary_encoder/CMakeLists.txt | 2 +- .../peripherals/rmt/dshot_esc/CMakeLists.txt | 2 +- .../rmt/ir_nec_transceiver/CMakeLists.txt | 2 +- .../peripherals/rmt/led_strip/CMakeLists.txt | 2 +- .../rmt/musical_buzzer/CMakeLists.txt | 2 +- .../rmt/stepper_motor/CMakeLists.txt | 2 +- examples/peripherals/sdio/host/CMakeLists.txt | 2 +- .../peripherals/sdio/slave/CMakeLists.txt | 2 +- .../atecc608_ecdsa/CMakeLists.txt | 2 +- .../peripherals/sigmadelta/CMakeLists.txt | 2 +- .../spi_master/hd_eeprom/CMakeLists.txt | 2 +- .../peripherals/spi_master/lcd/CMakeLists.txt | 2 +- .../spi_slave/receiver/CMakeLists.txt | 2 +- .../spi_slave/sender/CMakeLists.txt | 2 +- .../append_mode/master/CMakeLists.txt | 2 +- .../append_mode/slave/CMakeLists.txt | 2 +- .../segment_mode/seg_master/CMakeLists.txt | 2 +- .../segment_mode/seg_slave/CMakeLists.txt | 2 +- .../peripherals/temp_sensor/CMakeLists.txt | 2 +- .../timer_group/gptimer/CMakeLists.txt | 2 +- .../timer_group/legacy_driver/CMakeLists.txt | 2 +- .../touch_element/touch_button/CMakeLists.txt | 2 +- .../touch_element_waterproof/CMakeLists.txt | 2 +- .../touch_elements_combination/CMakeLists.txt | 2 +- .../touch_element/touch_matrix/CMakeLists.txt | 2 +- .../touch_element/touch_slider/CMakeLists.txt | 2 +- .../touch_pad_interrupt/CMakeLists.txt | 2 +- .../touch_pad_read/CMakeLists.txt | 2 +- .../touch_pad_interrupt/CMakeLists.txt | 2 +- .../touch_pad_read/CMakeLists.txt | 2 +- .../twai_alert_and_recovery/CMakeLists.txt | 2 +- .../twai_network_listen_only/CMakeLists.txt | 2 +- .../twai_network_master/CMakeLists.txt | 2 +- .../twai_network_slave/CMakeLists.txt | 2 +- .../twai/twai_self_test/CMakeLists.txt | 2 +- .../uart/nmea0183_parser/CMakeLists.txt | 2 +- .../uart/uart_async_rxtxtasks/CMakeLists.txt | 2 +- .../peripherals/uart/uart_echo/CMakeLists.txt | 2 +- .../uart/uart_echo_rs485/CMakeLists.txt | 2 +- .../uart/uart_events/CMakeLists.txt | 2 +- .../peripherals/uart/uart_repl/CMakeLists.txt | 2 +- .../uart/uart_select/CMakeLists.txt | 2 +- .../usb/device/tusb_console/CMakeLists.txt | 2 +- .../tusb_sample_descriptor/CMakeLists.txt | 2 +- .../device/tusb_serial_device/CMakeLists.txt | 2 +- .../usb/host/cdc/cdc_acm_bg96/CMakeLists.txt | 2 +- .../usb/host/cdc/cdc_acm_host/CMakeLists.txt | 2 +- .../usb/host/cdc/cdc_acm_vcp/CMakeLists.txt | 2 +- .../peripherals/usb/host/msc/CMakeLists.txt | 2 +- .../usb/host/usb_host_lib/CMakeLists.txt | 2 +- examples/peripherals/wave_gen/CMakeLists.txt | 2 +- .../protocols/asio/asio_chat/CMakeLists.txt | 2 +- .../asio/async_request/CMakeLists.txt | 2 +- examples/protocols/asio/socks4/CMakeLists.txt | 2 +- .../asio/ssl_client_server/CMakeLists.txt | 2 +- .../asio/tcp_echo_server/CMakeLists.txt | 2 +- .../asio/udp_echo_server/CMakeLists.txt | 2 +- examples/protocols/cbor/CMakeLists.txt | 2 +- examples/protocols/coap_client/CMakeLists.txt | 2 +- examples/protocols/coap_server/CMakeLists.txt | 2 +- .../protocols/esp_http_client/CMakeLists.txt | 2 +- .../protocols/esp_local_ctrl/CMakeLists.txt | 2 +- .../protocols/http2_request/CMakeLists.txt | 2 +- .../protocols/http_request/CMakeLists.txt | 2 +- .../http_server/advanced_tests/CMakeLists.txt | 2 +- .../http_server/captive_portal/CMakeLists.txt | 2 +- .../http_server/file_serving/CMakeLists.txt | 2 +- .../persistent_sockets/CMakeLists.txt | 2 +- .../http_server/restful_server/CMakeLists.txt | 2 +- .../http_server/simple/CMakeLists.txt | 2 +- .../http_server/ws_echo_server/CMakeLists.txt | 2 +- .../protocols/https_mbedtls/CMakeLists.txt | 2 +- .../protocols/https_request/CMakeLists.txt | 2 +- .../https_server/simple/CMakeLists.txt | 2 +- .../https_server/wss_server/CMakeLists.txt | 2 +- .../https_x509_bundle/CMakeLists.txt | 2 +- examples/protocols/icmp_echo/CMakeLists.txt | 2 +- examples/protocols/l2tap/CMakeLists.txt | 2 +- examples/protocols/mdns/CMakeLists.txt | 2 +- .../modbus/mb_example_common/CMakeLists.txt | 2 +- .../modbus/serial/mb_master/CMakeLists.txt | 2 +- .../modbus/serial/mb_slave/CMakeLists.txt | 2 +- .../modbus/tcp/mb_tcp_master/CMakeLists.txt | 2 +- .../modbus/tcp/mb_tcp_slave/CMakeLists.txt | 2 +- examples/protocols/mqtt/ssl/CMakeLists.txt | 2 +- examples/protocols/mqtt/ssl_ds/CMakeLists.txt | 2 +- .../mqtt/ssl_mutual_auth/CMakeLists.txt | 2 +- .../protocols/mqtt/ssl_psk/CMakeLists.txt | 2 +- examples/protocols/mqtt/tcp/CMakeLists.txt | 2 +- examples/protocols/mqtt/ws/CMakeLists.txt | 2 +- examples/protocols/mqtt/wss/CMakeLists.txt | 2 +- .../protocols/slip/slip_udp/CMakeLists.txt | 2 +- examples/protocols/smtp_client/CMakeLists.txt | 2 +- examples/protocols/sntp/CMakeLists.txt | 2 +- .../sockets/non_blocking/CMakeLists.txt | 2 +- .../sockets/tcp_client/CMakeLists.txt | 2 +- .../tcp_client_multi_net/CMakeLists.txt | 2 +- .../sockets/tcp_server/CMakeLists.txt | 2 +- .../sockets/udp_client/CMakeLists.txt | 2 +- .../sockets/udp_multicast/CMakeLists.txt | 2 +- .../sockets/udp_server/CMakeLists.txt | 2 +- examples/protocols/static_ip/CMakeLists.txt | 2 +- .../provisioning/wifi_prov_mgr/CMakeLists.txt | 2 +- .../security/flash_encryption/CMakeLists.txt | 2 +- .../custom_flash_driver/CMakeLists.txt | 2 +- .../storage/ext_flash_fatfs/CMakeLists.txt | 2 +- examples/storage/fatfsgen/CMakeLists.txt | 2 +- examples/storage/nvs_rw_blob/CMakeLists.txt | 2 +- examples/storage/nvs_rw_value/CMakeLists.txt | 2 +- .../storage/nvs_rw_value_cxx/CMakeLists.txt | 2 +- .../partition_find/CMakeLists.txt | 2 +- .../partition_mmap/CMakeLists.txt | 2 +- .../partition_ops/CMakeLists.txt | 2 +- examples/storage/parttool/CMakeLists.txt | 2 +- examples/storage/sd_card/sdmmc/CMakeLists.txt | 2 +- examples/storage/sd_card/sdspi/CMakeLists.txt | 2 +- examples/storage/semihost_vfs/CMakeLists.txt | 2 +- examples/storage/spiffs/CMakeLists.txt | 2 +- examples/storage/spiffsgen/CMakeLists.txt | 2 +- .../storage/wear_levelling/CMakeLists.txt | 2 +- .../system/app_trace_to_host/CMakeLists.txt | 2 +- .../system/base_mac_address/CMakeLists.txt | 2 +- .../system/console/advanced/CMakeLists.txt | 2 +- .../console/advanced_usb_cdc/CMakeLists.txt | 2 +- examples/system/console/basic/CMakeLists.txt | 2 +- examples/system/deep_sleep/CMakeLists.txt | 2 +- examples/system/efuse/CMakeLists.txt | 2 +- .../default_event_loop/CMakeLists.txt | 2 +- .../esp_event/user_event_loops/CMakeLists.txt | 2 +- examples/system/esp_timer/CMakeLists.txt | 2 +- examples/system/eventfd/CMakeLists.txt | 2 +- examples/system/flash_suspend/CMakeLists.txt | 2 +- .../freertos/real_time_stats/CMakeLists.txt | 2 +- examples/system/gcov/CMakeLists.txt | 2 +- examples/system/gdbstub/CMakeLists.txt | 2 +- .../system/heap_task_tracking/CMakeLists.txt | 2 +- examples/system/himem/CMakeLists.txt | 2 +- examples/system/ipc/ipc_isr/CMakeLists.txt | 2 +- examples/system/light_sleep/CMakeLists.txt | 2 +- .../ota/advanced_https_ota/CMakeLists.txt | 2 +- .../ota/native_ota_example/CMakeLists.txt | 2 +- examples/system/ota/otatool/CMakeLists.txt | 2 +- .../ota/pre_encrypted_ota/CMakeLists.txt | 2 +- .../ota/simple_ota_example/CMakeLists.txt | 2 +- examples/system/perfmon/CMakeLists.txt | 2 +- examples/system/pthread/CMakeLists.txt | 2 +- examples/system/select/CMakeLists.txt | 2 +- examples/system/startup_time/CMakeLists.txt | 2 +- .../system/sysview_tracing/CMakeLists.txt | 2 +- .../sysview_tracing_heap_log/CMakeLists.txt | 2 +- examples/system/task_watchdog/CMakeLists.txt | 2 +- examples/system/ulp_fsm/ulp/CMakeLists.txt | 2 +- .../system/ulp_fsm/ulp_adc/CMakeLists.txt | 2 +- .../ulp_riscv/ds18b20_onewire/CMakeLists.txt | 2 +- examples/system/ulp_riscv/gpio/CMakeLists.txt | 2 +- .../ulp_riscv/gpio_interrupt/CMakeLists.txt | 2 +- examples/system/unit_test/CMakeLists.txt | 2 +- examples/system/unit_test/test/CMakeLists.txt | 2 +- examples/wifi/espnow/CMakeLists.txt | 2 +- examples/wifi/fast_scan/CMakeLists.txt | 2 +- examples/wifi/ftm/CMakeLists.txt | 2 +- .../getting_started/softAP/CMakeLists.txt | 2 +- .../getting_started/station/CMakeLists.txt | 2 +- examples/wifi/iperf/CMakeLists.txt | 2 +- examples/wifi/power_save/CMakeLists.txt | 2 +- examples/wifi/roaming/CMakeLists.txt | 2 +- examples/wifi/scan/CMakeLists.txt | 2 +- examples/wifi/smart_config/CMakeLists.txt | 2 +- examples/wifi/wifi_eap_fast/CMakeLists.txt | 2 +- .../dpp-enrollee/CMakeLists.txt | 2 +- examples/wifi/wifi_enterprise/CMakeLists.txt | 2 +- examples/wifi/wps/CMakeLists.txt | 2 +- .../zigbee/esp_zigbee_gateway/CMakeLists.txt | 2 +- examples/zigbee/esp_zigbee_rcp/CMakeLists.txt | 2 +- .../light_sample/light_bulb/CMakeLists.txt | 2 +- .../light_coordinator/CMakeLists.txt | 2 +- .../light_sample/light_switch/CMakeLists.txt | 2 +- tools/cmake/project.cmake | 8 +++- tools/cmake/run_dfu_util.cmake | 2 +- .../build_system/embed_test/CMakeLists.txt | 2 +- .../build_system/ldalign_test/CMakeLists.txt | 2 +- .../build_system/ldgen_test/CMakeLists.txt | 2 +- .../build_system/rsource_test/CMakeLists.txt | 2 +- .../peripherals/i2c_wifi/CMakeLists.txt | 2 +- .../test_apps/peripherals/usb/CMakeLists.txt | 2 +- .../phy_multi_init_data_test/CMakeLists.txt | 2 +- .../esp_netif/build_config/CMakeLists.txt | 2 +- tools/test_apps/protocols/mdns/CMakeLists.txt | 2 +- .../protocols/mqtt/build_test/CMakeLists.txt | 2 +- .../mqtt/publish_connect_test/CMakeLists.txt | 2 +- .../security/secure_boot/CMakeLists.txt | 2 +- .../system/bootloader_sections/CMakeLists.txt | 2 +- .../system/build_test/CMakeLists.txt | 2 +- .../system/cxx_no_except/CMakeLists.txt | 2 +- .../system/flash_psram/CMakeLists.txt | 2 +- .../system/g1_components/CMakeLists.txt | 2 +- .../system/gdb_loadable_elf/CMakeLists.txt | 2 +- .../system/longjmp_test/CMakeLists.txt | 2 +- tools/test_apps/system/memprot/CMakeLists.txt | 2 +- .../monitor_ide_integration/CMakeLists.txt | 2 +- .../system/no_embedded_paths/CMakeLists.txt | 2 +- tools/test_apps/system/panic/CMakeLists.txt | 2 +- tools/test_apps/system/startup/CMakeLists.txt | 2 +- tools/tools.json | 29 +++++++++++++ tools/unit-test-app/CMakeLists.txt | 2 +- 379 files changed, 441 insertions(+), 401 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0335d0cedb..c989babd7a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) project(esp-idf C CXX ASM) if(CMAKE_CURRENT_LIST_DIR STREQUAL CMAKE_SOURCE_DIR) diff --git a/components/bootloader/subproject/CMakeLists.txt b/components/bootloader/subproject/CMakeLists.txt index 0c542ee164..5428ec2463 100644 --- a/components/bootloader/subproject/CMakeLists.txt +++ b/components/bootloader/subproject/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) if(NOT SDKCONFIG) message(FATAL_ERROR "Bootloader subproject expects the SDKCONFIG variable to be passed " diff --git a/components/cxx/test_apps/exception/CMakeLists.txt b/components/cxx/test_apps/exception/CMakeLists.txt index b29acb36de..ee40c6ca11 100644 --- a/components/cxx/test_apps/exception/CMakeLists.txt +++ b/components/cxx/test_apps/exception/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) set(COMPONENTS main) diff --git a/components/cxx/test_apps/exception_no_except/CMakeLists.txt b/components/cxx/test_apps/exception_no_except/CMakeLists.txt index b29acb36de..ee40c6ca11 100644 --- a/components/cxx/test_apps/exception_no_except/CMakeLists.txt +++ b/components/cxx/test_apps/exception_no_except/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) set(COMPONENTS main) diff --git a/components/cxx/test_apps/general/CMakeLists.txt b/components/cxx/test_apps/general/CMakeLists.txt index 5d1506c5e8..7eab378c97 100644 --- a/components/cxx/test_apps/general/CMakeLists.txt +++ b/components/cxx/test_apps/general/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) set(COMPONENTS main) diff --git a/components/cxx/test_apps/rtti/CMakeLists.txt b/components/cxx/test_apps/rtti/CMakeLists.txt index 289b1c9e21..d4c3179192 100644 --- a/components/cxx/test_apps/rtti/CMakeLists.txt +++ b/components/cxx/test_apps/rtti/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) set(COMPONENTS main) diff --git a/components/driver/test_apps/gpio/CMakeLists.txt b/components/driver/test_apps/gpio/CMakeLists.txt index 353f5f8732..707353c92a 100644 --- a/components/driver/test_apps/gpio/CMakeLists.txt +++ b/components/driver/test_apps/gpio/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(gpio_test) diff --git a/components/driver/test_apps/gptimer/CMakeLists.txt b/components/driver/test_apps/gptimer/CMakeLists.txt index 9b8072e4cc..58a4e018f7 100644 --- a/components/driver/test_apps/gptimer/CMakeLists.txt +++ b/components/driver/test_apps/gptimer/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(gptimer_test) diff --git a/components/driver/test_apps/legacy_pcnt_driver/CMakeLists.txt b/components/driver/test_apps/legacy_pcnt_driver/CMakeLists.txt index 344323c720..3315988490 100644 --- a/components/driver/test_apps/legacy_pcnt_driver/CMakeLists.txt +++ b/components/driver/test_apps/legacy_pcnt_driver/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(legacy_pcnt_driver_test) diff --git a/components/driver/test_apps/legacy_rmt_driver/CMakeLists.txt b/components/driver/test_apps/legacy_rmt_driver/CMakeLists.txt index 917aa256e8..a8ae981672 100644 --- a/components/driver/test_apps/legacy_rmt_driver/CMakeLists.txt +++ b/components/driver/test_apps/legacy_rmt_driver/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(legacy_rmt_test) diff --git a/components/driver/test_apps/legacy_rtc_temp_driver/CMakeLists.txt b/components/driver/test_apps/legacy_rtc_temp_driver/CMakeLists.txt index 761e56ea88..b7da134625 100644 --- a/components/driver/test_apps/legacy_rtc_temp_driver/CMakeLists.txt +++ b/components/driver/test_apps/legacy_rtc_temp_driver/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(legacy_rtc_temp_driver_test) diff --git a/components/driver/test_apps/legacy_timer_driver/CMakeLists.txt b/components/driver/test_apps/legacy_timer_driver/CMakeLists.txt index f73bf63842..e65bf8d0b5 100644 --- a/components/driver/test_apps/legacy_timer_driver/CMakeLists.txt +++ b/components/driver/test_apps/legacy_timer_driver/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(legacy_timer_driver_test) diff --git a/components/driver/test_apps/pulse_cnt/CMakeLists.txt b/components/driver/test_apps/pulse_cnt/CMakeLists.txt index a978a789f0..a3a67ebac8 100644 --- a/components/driver/test_apps/pulse_cnt/CMakeLists.txt +++ b/components/driver/test_apps/pulse_cnt/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(pcnt_test) diff --git a/components/driver/test_apps/rmt/CMakeLists.txt b/components/driver/test_apps/rmt/CMakeLists.txt index 4523465b2f..aa0d48c4e0 100644 --- a/components/driver/test_apps/rmt/CMakeLists.txt +++ b/components/driver/test_apps/rmt/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(rmt_test) diff --git a/components/driver/test_apps/temperature_sensor/CMakeLists.txt b/components/driver/test_apps/temperature_sensor/CMakeLists.txt index e8b2c77d1f..e2b097024c 100644 --- a/components/driver/test_apps/temperature_sensor/CMakeLists.txt +++ b/components/driver/test_apps/temperature_sensor/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(test_temperature_sensor) diff --git a/components/esp_eth/test_apps/CMakeLists.txt b/components/esp_eth/test_apps/CMakeLists.txt index 9ac3394bf3..060c819aaa 100644 --- a/components/esp_eth/test_apps/CMakeLists.txt +++ b/components/esp_eth/test_apps/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(esp_eth_test) diff --git a/components/esp_event/host_test/esp_event_unit_test/CMakeLists.txt b/components/esp_event/host_test/esp_event_unit_test/CMakeLists.txt index 415e0d64ca..e5f85c0de4 100644 --- a/components/esp_event/host_test/esp_event_unit_test/CMakeLists.txt +++ b/components/esp_event/host_test/esp_event_unit_test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) set(COMPONENTS main) diff --git a/components/esp_lcd/test_apps/i2c_lcd/CMakeLists.txt b/components/esp_lcd/test_apps/i2c_lcd/CMakeLists.txt index 9f5761fc27..ce93c6f282 100644 --- a/components/esp_lcd/test_apps/i2c_lcd/CMakeLists.txt +++ b/components/esp_lcd/test_apps/i2c_lcd/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(i2c_lcd_panel_test) diff --git a/components/esp_lcd/test_apps/i80_lcd/CMakeLists.txt b/components/esp_lcd/test_apps/i80_lcd/CMakeLists.txt index 5bc0952c87..8a8446755d 100644 --- a/components/esp_lcd/test_apps/i80_lcd/CMakeLists.txt +++ b/components/esp_lcd/test_apps/i80_lcd/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(i80_lcd_panel_test) diff --git a/components/esp_lcd/test_apps/rgb_lcd/CMakeLists.txt b/components/esp_lcd/test_apps/rgb_lcd/CMakeLists.txt index 4852f4edea..1993e30336 100644 --- a/components/esp_lcd/test_apps/rgb_lcd/CMakeLists.txt +++ b/components/esp_lcd/test_apps/rgb_lcd/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(rgb_lcd_panel_test) diff --git a/components/esp_lcd/test_apps/spi_lcd/CMakeLists.txt b/components/esp_lcd/test_apps/spi_lcd/CMakeLists.txt index 46462997a7..0da6b6743a 100644 --- a/components/esp_lcd/test_apps/spi_lcd/CMakeLists.txt +++ b/components/esp_lcd/test_apps/spi_lcd/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(spi_lcd_panel_test) diff --git a/components/esp_local_ctrl/proto/CMakeLists.txt b/components/esp_local_ctrl/proto/CMakeLists.txt index 3bcc8e87df..d4c4c89401 100644 --- a/components/esp_local_ctrl/proto/CMakeLists.txt +++ b/components/esp_local_ctrl/proto/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) set(PROTO_COMPILER "protoc") set(PROTO_C_COMPILER "protoc-c") diff --git a/components/esp_netif/test_apps/CMakeLists.txt b/components/esp_netif/test_apps/CMakeLists.txt index dc191a89b8..ff3764931c 100644 --- a/components/esp_netif/test_apps/CMakeLists.txt +++ b/components/esp_netif/test_apps/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/tools/unit-test-app/components") diff --git a/components/esp_rom/host_test/rom_test/CMakeLists.txt b/components/esp_rom/host_test/rom_test/CMakeLists.txt index c84747fef4..e13f39f765 100644 --- a/components/esp_rom/host_test/rom_test/CMakeLists.txt +++ b/components/esp_rom/host_test/rom_test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) set(COMPONENTS main) diff --git a/components/esp_system/test_apps/rtc_8md256/CMakeLists.txt b/components/esp_system/test_apps/rtc_8md256/CMakeLists.txt index f8ef7bccd2..4abd8b6941 100644 --- a/components/esp_system/test_apps/rtc_8md256/CMakeLists.txt +++ b/components/esp_system/test_apps/rtc_8md256/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(rtc_8md256) diff --git a/components/espcoredump/test_apps/CMakeLists.txt b/components/espcoredump/test_apps/CMakeLists.txt index 6c28dfd6d9..cef5f46515 100644 --- a/components/espcoredump/test_apps/CMakeLists.txt +++ b/components/espcoredump/test_apps/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) # Here for reproducible builds, we use the CI compile options to make sure they're same. # Use -ffile-prefix-map to map the local path prefix to ci path prefix diff --git a/components/esptool_py/run_serial_tool.cmake b/components/esptool_py/run_serial_tool.cmake index 0a0b499b94..93abb87fdc 100644 --- a/components/esptool_py/run_serial_tool.cmake +++ b/components/esptool_py/run_serial_tool.cmake @@ -4,7 +4,7 @@ # # It is recommended to NOT USE this CMake script if you have the option of # running the tool directly. This script exists only for use inside CMake builds. -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) if(NOT IDF_PATH) message(FATAL_ERROR "IDF_PATH not set.") diff --git a/components/log/host_test/log_test/CMakeLists.txt b/components/log/host_test/log_test/CMakeLists.txt index 7d53a82335..ed4b9b0c41 100644 --- a/components/log/host_test/log_test/CMakeLists.txt +++ b/components/log/host_test/log_test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) set(COMPONENTS main) diff --git a/components/lwip/test_afl_host/CMakeLists.txt b/components/lwip/test_afl_host/CMakeLists.txt index d893cb17a4..5891b6162b 100644 --- a/components/lwip/test_afl_host/CMakeLists.txt +++ b/components/lwip/test_afl_host/CMakeLists.txt @@ -1,6 +1,6 @@ # The following four lines of boilerplate have to be in your project's CMakeLists # in this exact order for cmake to work correctly -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) diff --git a/components/mdns/host_test/CMakeLists.txt b/components/mdns/host_test/CMakeLists.txt index 132e436eaf..784364cff9 100644 --- a/components/mdns/host_test/CMakeLists.txt +++ b/components/mdns/host_test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) set(COMPONENTS main) diff --git a/components/mdns/test_afl_fuzz_host/CMakeLists.txt b/components/mdns/test_afl_fuzz_host/CMakeLists.txt index d65845194f..d76a875e60 100644 --- a/components/mdns/test_afl_fuzz_host/CMakeLists.txt +++ b/components/mdns/test_afl_fuzz_host/CMakeLists.txt @@ -1,6 +1,6 @@ # The following four lines of boilerplate have to be in your project's CMakeLists # in this exact order for cmake to work correctly -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) diff --git a/components/mqtt/host_test/CMakeLists.txt b/components/mqtt/host_test/CMakeLists.txt index 312ad1e7e9..947809f26d 100644 --- a/components/mqtt/host_test/CMakeLists.txt +++ b/components/mqtt/host_test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) set(COMPONENTS main) diff --git a/components/newlib/test_apps/CMakeLists.txt b/components/newlib/test_apps/CMakeLists.txt index c529187100..1c4cb3414c 100644 --- a/components/newlib/test_apps/CMakeLists.txt +++ b/components/newlib/test_apps/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/tools/unit-test-app/components") set(COMPONENTS main) diff --git a/components/nvs_flash/host_test/nvs_page_test/CMakeLists.txt b/components/nvs_flash/host_test/nvs_page_test/CMakeLists.txt index 797ef37d40..7cbfe573bb 100644 --- a/components/nvs_flash/host_test/nvs_page_test/CMakeLists.txt +++ b/components/nvs_flash/host_test/nvs_page_test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) diff --git a/components/protocomm/proto/CMakeLists.txt b/components/protocomm/proto/CMakeLists.txt index 8d3e57d063..60e72871d3 100644 --- a/components/protocomm/proto/CMakeLists.txt +++ b/components/protocomm/proto/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) set(PROTO_COMPILER "protoc") set(PROTO_C_COMPILER "protoc-c") diff --git a/components/spi_flash/host_test/partition_api_test/CMakeLists.txt b/components/spi_flash/host_test/partition_api_test/CMakeLists.txt index e69f345495..469a614a14 100644 --- a/components/spi_flash/host_test/partition_api_test/CMakeLists.txt +++ b/components/spi_flash/host_test/partition_api_test/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) set(COMPONENTS main) diff --git a/components/ulp/cmake/CMakeLists.txt b/components/ulp/cmake/CMakeLists.txt index c89bec9e01..5b98d008cf 100644 --- a/components/ulp/cmake/CMakeLists.txt +++ b/components/ulp/cmake/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include(${IDF_PATH}/tools/cmake/utilities.cmake) project(${ULP_APP_NAME} ASM C) diff --git a/components/wear_levelling/test_apps/CMakeLists.txt b/components/wear_levelling/test_apps/CMakeLists.txt index 501edff967..7d22192892 100644 --- a/components/wear_levelling/test_apps/CMakeLists.txt +++ b/components/wear_levelling/test_apps/CMakeLists.txt @@ -1,5 +1,5 @@ # This is the project CMakeLists.txt file for the test subproject -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) # "Trim" the build. Include the minimal set of components, main, and anything it depends on. set(COMPONENTS main) diff --git a/components/wifi_provisioning/proto/CMakeLists.txt b/components/wifi_provisioning/proto/CMakeLists.txt index 316486eba6..08e6980b54 100644 --- a/components/wifi_provisioning/proto/CMakeLists.txt +++ b/components/wifi_provisioning/proto/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) set(PROTO_COMPILER "protoc") set(PROTO_C_COMPILER "protoc-c") diff --git a/docs/en/api-guides/build-system.rst b/docs/en/api-guides/build-system.rst index 582cab8190..20b1b1036a 100644 --- a/docs/en/api-guides/build-system.rst +++ b/docs/en/api-guides/build-system.rst @@ -200,7 +200,7 @@ Minimal Example CMakeLists Minimal project:: - cmake_minimum_required(VERSION 3.5) + cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(myProject) @@ -211,7 +211,7 @@ Mandatory Parts The inclusion of these three lines, in the order shown above, is necessary for every project: -- ``cmake_minimum_required(VERSION 3.5)`` tells CMake the minimum version that is required to build the project. ESP-IDF is designed to work with CMake 3.5 or newer. This line must be the first line in the CMakeLists.txt file. +- ``cmake_minimum_required(VERSION 3.16)`` tells CMake the minimum version that is required to build the project. ESP-IDF is designed to work with CMake 3.16 or newer. This line must be the first line in the CMakeLists.txt file. - ``include($ENV{IDF_PATH}/tools/cmake/project.cmake)`` pulls in the rest of the CMake functionality to configure the project, discover all the components, etc. - ``project(myProject)`` creates the project itself, and specifies the project name. The project name is used for the final binary output files of the app - ie ``myProject.elf``, ``myProject.bin``. Only one project can be defined per CMakeLists file. @@ -255,7 +255,7 @@ For example, one of the default build specifications set is the compile option ` it should be done after ``project()``:: - cmake_minimum_required(VERSION 3.5) + cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(myProject) @@ -664,7 +664,7 @@ Special components which contain no source files, only ``Kconfig.projbuild`` and Debugging CMake =============== -For full details about CMake_ and CMake commands, see the `CMake v3.5 documentation`_. +For full details about CMake_ and CMake commands, see the `CMake v3.16 documentation`_. Some tips for debugging the ESP-IDF CMake-based build system: @@ -1066,7 +1066,7 @@ It is possible to do so by using the :ref:`build system APIs provided, i.e. xtensa or riscv, will be added below set(g1_components spi_flash freertos log heap newlib esp_system esp_hw_support) diff --git a/tools/test_apps/system/gdb_loadable_elf/CMakeLists.txt b/tools/test_apps/system/gdb_loadable_elf/CMakeLists.txt index ecbc92d435..cfed7b13e2 100644 --- a/tools/test_apps/system/gdb_loadable_elf/CMakeLists.txt +++ b/tools/test_apps/system/gdb_loadable_elf/CMakeLists.txt @@ -1,6 +1,6 @@ # The following lines of boilerplate have to be in your project's # CMakeLists in this exact order for cmake to work correctly -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(gdb_loadable_elf) diff --git a/tools/test_apps/system/longjmp_test/CMakeLists.txt b/tools/test_apps/system/longjmp_test/CMakeLists.txt index 5aa1050e6e..18d382fae1 100644 --- a/tools/test_apps/system/longjmp_test/CMakeLists.txt +++ b/tools/test_apps/system/longjmp_test/CMakeLists.txt @@ -1,6 +1,6 @@ # The following lines of boilerplate have to be in your project's # CMakeLists in this exact order for cmake to work correctly -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(longjmp_test) diff --git a/tools/test_apps/system/memprot/CMakeLists.txt b/tools/test_apps/system/memprot/CMakeLists.txt index fc362b1d4d..1e073a791d 100644 --- a/tools/test_apps/system/memprot/CMakeLists.txt +++ b/tools/test_apps/system/memprot/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) if((IDF_TARGET STREQUAL "esp32s2") OR (IDF_TARGET STREQUAL "esp32c3")) include($ENV{IDF_PATH}/tools/cmake/project.cmake) diff --git a/tools/test_apps/system/monitor_ide_integration/CMakeLists.txt b/tools/test_apps/system/monitor_ide_integration/CMakeLists.txt index 2810b4d6c1..c5e3c8798d 100644 --- a/tools/test_apps/system/monitor_ide_integration/CMakeLists.txt +++ b/tools/test_apps/system/monitor_ide_integration/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(panic) diff --git a/tools/test_apps/system/no_embedded_paths/CMakeLists.txt b/tools/test_apps/system/no_embedded_paths/CMakeLists.txt index 4edc089d8e..b4c6cfcef4 100644 --- a/tools/test_apps/system/no_embedded_paths/CMakeLists.txt +++ b/tools/test_apps/system/no_embedded_paths/CMakeLists.txt @@ -1,6 +1,6 @@ # The following lines of boilerplate have to be in your project's # CMakeLists in this exact order for cmake to work correctly -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(no_embedded_paths) diff --git a/tools/test_apps/system/panic/CMakeLists.txt b/tools/test_apps/system/panic/CMakeLists.txt index 2132f5b91f..2ac666b1e9 100644 --- a/tools/test_apps/system/panic/CMakeLists.txt +++ b/tools/test_apps/system/panic/CMakeLists.txt @@ -1,6 +1,6 @@ # The following lines of boilerplate have to be in your project's CMakeLists # in this exact order for cmake to work correctly -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) set(COMPONENTS main espcoredump esp_gdbstub) include($ENV{IDF_PATH}/tools/cmake/project.cmake) diff --git a/tools/test_apps/system/startup/CMakeLists.txt b/tools/test_apps/system/startup/CMakeLists.txt index 2e1c4fe175..4029f389fb 100644 --- a/tools/test_apps/system/startup/CMakeLists.txt +++ b/tools/test_apps/system/startup/CMakeLists.txt @@ -1,6 +1,6 @@ # The following lines of boilerplate have to be in your project's # CMakeLists in this exact order for cmake to work correctly -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(test_startup) diff --git a/tools/tools.json b/tools/tools.json index 3184018731..a2e9cf7981 100644 --- a/tools/tools.json +++ b/tools/tools.json @@ -730,6 +730,35 @@ "size": 39070972, "url": "https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1-windows-x86_64.zip" } + }, + { + "linux-amd64": { + "sha256": "3e15dadfec8d54eda39c2f266fc1e571c1b88bf32f9d221c8a039b07234206fa", + "size": 39509848, + "url": "https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3-Linux-x86_64.tar.gz" + }, + "macos": { + "sha256": "655d6ed41a1c276676ca6a1ec381c179d394420c489f2d39b3cf2ef26bfae799", + "size": 35799298, + "url": "https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3-Darwin-x86_64.tar.gz" + }, + "macos-arm64": { + "sha256": "655d6ed41a1c276676ca6a1ec381c179d394420c489f2d39b3cf2ef26bfae799", + "size": 35799298, + "url": "https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3-Darwin-x86_64.tar.gz" + }, + "name": "3.16.3", + "status": "supported", + "win32": { + "sha256": "4b1370b3252acda0850d26c75e9bc6b8e019daaa7978a19f5d8dc008450d3548", + "size": 32807681, + "url": "https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3-win64-x64.zip" + }, + "win64": { + "sha256": "4b1370b3252acda0850d26c75e9bc6b8e019daaa7978a19f5d8dc008450d3548", + "size": 32807681, + "url": "https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3-win64-x64.zip" + } } ] }, diff --git a/tools/unit-test-app/CMakeLists.txt b/tools/unit-test-app/CMakeLists.txt index 0db4c32b4a..9cab0436bc 100644 --- a/tools/unit-test-app/CMakeLists.txt +++ b/tools/unit-test-app/CMakeLists.txt @@ -1,6 +1,6 @@ # The following lines of boilerplate have to be in your project's # CMakeLists in this exact order for cmake to work correctly -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.16) list(APPEND EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/examples/cxx/experimental/experimental_cpp_component/")