mirror of
https://github.com/espressif/esp-matter.git
synced 2026-04-27 19:13:13 +00:00
6dd7a44272
Fixes https://github.com/espressif/esp-matter/issues/916 Build path using ESP_MATTER_PATH variable and not with CMAKE_CURRENT_LIST_DIR. If example is moved out from their current place then the compilation breaks, becuase it tries to find the file wrt to current project directory.
43 lines
1.8 KiB
CMake
43 lines
1.8 KiB
CMake
# 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)
|
|
|
|
if(NOT DEFINED ENV{ESP_MATTER_PATH})
|
|
message(FATAL_ERROR "Please set ESP_MATTER_PATH to the path of esp-matter repo")
|
|
endif(NOT DEFINED ENV{ESP_MATTER_PATH})
|
|
|
|
if(NOT DEFINED ENV{ESP_MATTER_DEVICE_PATH})
|
|
if("${IDF_TARGET}" STREQUAL "esp32" OR "${IDF_TARGET}" STREQUAL "")
|
|
set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32_devkit_c)
|
|
elseif("${IDF_TARGET}" STREQUAL "esp32c3")
|
|
set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32c3_devkit_m)
|
|
elseif("${IDF_TARGET}" STREQUAL "esp32s3")
|
|
set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32s3_devkit_c)
|
|
else()
|
|
message(FATAL_ERROR "Unsupported IDF_TARGET")
|
|
endif()
|
|
endif(NOT DEFINED ENV{ESP_MATTER_DEVICE_PATH})
|
|
|
|
set(ESP_MATTER_PATH $ENV{ESP_MATTER_PATH})
|
|
set(MATTER_SDK_PATH ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip)
|
|
|
|
# This should be done before using the IDF_TARGET variable.
|
|
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
|
include($ENV{ESP_MATTER_DEVICE_PATH}/esp_matter_device.cmake)
|
|
|
|
set(EXTRA_COMPONENT_DIRS
|
|
"${ESP_MATTER_PATH}/examples/common"
|
|
"${MATTER_SDK_PATH}/config/esp32/components"
|
|
"${ESP_MATTER_PATH}/components"
|
|
"${ESP_MATTER_PATH}/device_hal/device"
|
|
${extra_components_dirs_append})
|
|
|
|
project(controller)
|
|
|
|
idf_build_set_property(CXX_COMPILE_OPTIONS "-std=gnu++17;-Os;-DCHIP_HAVE_CONFIG_H;-Wno-overloaded-virtual" APPEND)
|
|
idf_build_set_property(C_COMPILE_OPTIONS "-Os" APPEND)
|
|
|
|
# For RISCV chips, project_include.cmake sets -Wno-format, but does not clear various
|
|
# flags that depend on -Wformat
|
|
idf_build_set_property(COMPILE_OPTIONS "-Wno-format-nonliteral;-Wno-format-security;-Wformat=0" APPEND)
|