cmake: Add missing example CMakeLists.txt files, CI check all examples have both

pull/2666/head
Angus Gratton 2018-08-28 11:10:48 +08:00 zatwierdzone przez Angus Gratton
rodzic a821805ddc
commit 2d22fbd4ff
17 zmienionych plików z 167 dodań i 2 usunięć

Wyświetl plik

@ -473,6 +473,20 @@ check_permissions:
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

Wyświetl plik

@ -0,0 +1,12 @@
# 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)

Wyświetl plik

@ -0,0 +1,11 @@
# 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)

Wyświetl plik

@ -0,0 +1,5 @@
# 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,
1 # Name, Type, SubType, Offset, Size, Flags
2 # Note: if you change the phy_init or app partition offset, make sure to change the offset in Kconfig.projbuild
3 nvs, data, nvs, , 0x6000,
4 phy_init, data, phy, , 0x1000,
5 factory, app, factory, , 1M,

Wyświetl plik

@ -0,0 +1,8 @@
# 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)

Wyświetl plik

@ -0,0 +1,8 @@
# 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)

Wyświetl plik

@ -0,0 +1,8 @@
# 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)

Wyświetl plik

@ -0,0 +1,8 @@
# 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)

Wyświetl plik

@ -0,0 +1,8 @@
# 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)

Wyświetl plik

@ -2,7 +2,7 @@
# 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)

Wyświetl plik

@ -0,0 +1,14 @@
# 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)

Wyświetl plik

@ -0,0 +1,8 @@
# 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)

Wyświetl plik

@ -0,0 +1,14 @@
# 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)

Wyświetl plik

@ -0,0 +1,14 @@
# 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)

Wyświetl plik

@ -0,0 +1,8 @@
# 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)

Wyświetl plik

@ -0,0 +1,24 @@
#!/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

Wyświetl plik

@ -36,6 +36,7 @@ tools/kconfig/mconf
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