OVMS3-idf/tools/ci/check_examples_cmake_make.sh
Jakob Hasse 31edd48b43 C++: Moved all C++ examples to own folder
* moved C++ examples to a new cxx folder in
  examples
* added experimental C++ component
* added ESPException class to the C++ experimental
  component
* added test cases for ESPException and
  corresponding test macros
2020-02-18 12:48:57 +08:00

20 lines
877 B
Bash
Executable file

#!/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/" | grep -v "/common_components/" | grep -v "/cxx/experimental/experimental_cpp_component/" | grep -v "/main/" | grep -v "/build_system/cmake/" | grep -v "/mb_example_common/")
MAKE_EXAMPLE_PATHS=$( find ${IDF_PATH}/examples/ -type f -name Makefile | grep -v "/build_system/cmake/")
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