script:
- tools/ci/check-executable.sh
+check_examples_cmake_make:
+ stage: deploy
+ image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
+ tags:
+ - build
+ except:
+ - master
+ - /^release\/v/
+ - /^v\d+\.\d+(\.\d+)?($|-)/
+ dependencies: []
+ before_script: *do_nothing_before
+ script:
+ - tools/ci/check_examples_cmake_make.sh
+
check_submodule_sync:
stage: deploy
image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
--- /dev/null
+# 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)
+
+set(MAIN_SRCS
+ main/bt_app_av.c
+ main/bt_app_core.c
+ main/main.c
+ )
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+project(bt_ble_coex)
--- /dev/null
+# 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)
+
+set(MAIN_SRCS main/ble_hidd_demo_main.c
+ main/hid_dev.c
+ main/hid_device_le_prf.c
+ main/esp_hidd_prf_api.c)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+project(hidd_demos)
--- /dev/null
+# Name, Type, SubType, Offset, Size, Flags
+# Note: if you change the phy_init or app partition offset, make sure to change the offset in Kconfig.projbuild
+nvs, data, nvs, , 0x6000,
+phy_init, data, phy, , 0x1000,
+factory, app, factory, , 1M,
--- /dev/null
+# 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)
+
+set(MAIN_SRCS main/mcpwm_basic_config_example.c)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+project(mcpwm_basic_config)
--- /dev/null
+# 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)
+
+set(MAIN_SRCS main/mcpwm_bldc_control_hall_sensor_example.c)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+project(mcpwm_bldc_control_hall_sensor)
--- /dev/null
+# 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)
+
+set(MAIN_SRCS main/mcpwm_brushed_dc_control_example.c)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+project(mcpwm_brushed_dc_control)
--- /dev/null
+# 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)
+
+set(MAIN_SRCS main/mcpwm_servo_control_example.c)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+project(mcpwm_servo_control)
--- /dev/null
+# 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)
+
+set(MAIN_SRCS main/app_main.c)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+project(spi-slave-receiver)
# in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)
-set(MAIN_SRCS main/ota_example_main.c)
+set(MAIN_SRCS main/app_main.c)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
-project(ota)
+project(spi-slave-sender)
--- /dev/null
+# The following five 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)
+
+set(MAIN_SRCS main/https_mbedtls_example_main.c)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+project(https-mbedtls)
+
+# Embed the server root certificate into the final binary
+#
+# (If this was a component, we would set COMPONENT_EMBED_TXTFILES here.)
+target_add_binary_data(https-mbedtls.elf
+ "main/server_root_cert.pem" TEXT)
--- /dev/null
+# 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)
+
+set(MAIN_SRCS main/esp_timer_example_main.c)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+project(esp_timer_example)
--- /dev/null
+# 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)
+
+set(MAIN_SRCS main/native_ota_example.c)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+project(native_ota)
+
+# Embed the server root certificate into the final binary
+#
+# (If this was a component, we would set COMPONENT_EMBED_TXTFILES here.)
+target_add_binary_data(native_ota.elf
+ "../server_certs/ca_cert.pem" TEXT)
--- /dev/null
+# 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)
+
+set(MAIN_SRCS main/simple_ota_example.c)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+project(simple_ota)
+
+# Embed the server root certificate into the final binary
+#
+# (If this was a component, we would set COMPONENT_EMBED_TXTFILES here.)
+target_add_binary_data(simple_ota.elf
+ "../server_certs/ca_cert.pem" TEXT)
--- /dev/null
+# The following five 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)
+
+set(MAIN_SRCS main/simple_wifi.c)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+project(simple_wifi)
--- /dev/null
+#!/bin/bash
+
+# While we support GNU Make & CMake together, check the same examples are present for both
+
+CMAKE_EXAMPLE_PATHS=$( find ${IDF_PATH}/examples/ -type f -name CMakeLists.txt | grep -v "/components/")
+MAKE_EXAMPLE_PATHS=$( find ${IDF_PATH}/examples/ -type f -name Makefile )
+
+# temporary: ignore ULP examples as no ULP toolchain support
+CMAKE_EXAMPLE_PATHS=$( echo "$CMAKE_EXAMPLE_PATHS" | grep -v "/system/ulp")
+MAKE_EXAMPLE_PATHS=$( echo "$MAKE_EXAMPLE_PATHS" | grep -v "/system/ulp")
+
+CMAKE_EXAMPLE_PATHS="$(/usr/bin/dirname $CMAKE_EXAMPLE_PATHS | sort -n)"
+MAKE_EXAMPLE_PATHS="$(/usr/bin/dirname $MAKE_EXAMPLE_PATHS | sort -n)"
+
+MISMATCH=$(comm -3 <(echo "$MAKE_EXAMPLE_PATHS") <(echo "$CMAKE_EXAMPLE_PATHS"))
+
+if [ -n "$MISMATCH" ]; then
+ echo "Some examples are not in both CMake and GNU Make:"
+ echo "$MISMATCH"
+ exit 1
+fi
+
+echo "Example lists match"
+exit 0
tools/windows/eclipse_make.sh
tools/ci/build_examples_cmake.sh
tools/ci/test_build_system_cmake.sh
+tools/ci/check_examples_cmake_make.sh
tools/cmake/convert_to_cmake.py
tools/cmake/run_cmake_lint.sh
tools/idf.py