connectedhomeip: supports specifying CHIP_ROOT from the cmake parameter.
support CI compilation for the matter community
https://github.com/project-chip/connectedhomeip/pull/31236
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
diff --git a/netutils/connectedhomeip/CMakeLists.txt b/netutils/connectedhomeip/CMakeLists.txt
index aea6c64..3db205e 100644
--- a/netutils/connectedhomeip/CMakeLists.txt
+++ b/netutils/connectedhomeip/CMakeLists.txt
@@ -65,8 +65,11 @@
endfunction()
get_filename_component(
- CHIP_ROOT ${NUTTX_APPS_DIR}/netutils/connectedhomeip/connectedhomeip
+ LOCAL_CHIP_ROOT ${NUTTX_APPS_DIR}/netutils/connectedhomeip/connectedhomeip
REALPATH)
+ if(NOT CHIP_ROOT)
+ set(CHIP_ROOT ${LOCAL_CHIP_ROOT})
+ endif()
chip_download_and_patch(
NAME
@@ -74,7 +77,7 @@
URL
https://github.com/project-chip/connectedhomeip/archive/refs/tags/v1.2.0.1.zip
SOURCE_DIR
- ${CMAKE_CURRENT_LIST_DIR}/connectedhomeip
+ ${CHIP_ROOT}
BINARY_DIR
${CMAKE_BINARY_DIR}/apps/netutils/connectedhomeip
TIMEOUT
@@ -166,16 +169,16 @@
inipp
nlio/include
nlassert/include
- connectedhomeip/src
- connectedhomeip/src/include
- connectedhomeip/src/lib/dnssd
- connectedhomeip/src/app/util/mock/include
- connectedhomeip/zzz_generated
- connectedhomeip/zzz_generated/lighting-app
- connectedhomeip/zzz_generated/app-common
- connectedhomeip/src/platform/Linux
- connectedhomeip/examples/platform/linux
- connectedhomeip/examples/lighting-app/lighting-common/include)
+ ${CHIP_ROOT}/src
+ ${CHIP_ROOT}/src/include
+ ${CHIP_ROOT}/src/lib/dnssd
+ ${CHIP_ROOT}/src/app/util/mock/include
+ ${CHIP_ROOT}/zzz_generated
+ ${CHIP_ROOT}/zzz_generated/lighting-app
+ ${CHIP_ROOT}/zzz_generated/app-common
+ ${CHIP_ROOT}/src/platform/Linux
+ ${CHIP_ROOT}/examples/platform/linux
+ ${CHIP_ROOT}/examples/lighting-app/lighting-common/include)
set(MATTER_FLAGS
-DCHIP_HAVE_CONFIG_H
@@ -259,64 +262,67 @@
GN_DEPENDENCIES
mbedtls)
- add_custom_command(
- OUTPUT connectedhomeip/third_party/pigweed/repo
- COMMAND rm ${CHIP_ROOT}/third_party/pigweed/repo -rf
- COMMAND ln -s ${NUTTX_APPS_DIR}/netutils/connectedhomeip/pigweed
- ${CHIP_ROOT}/third_party/pigweed/repo)
+ if(${CHIP_ROOT} STREQUAL ${LOCAL_CHIP_ROOT})
+ add_custom_command(
+ OUTPUT connectedhomeip/third_party/pigweed/repo
+ COMMAND rm ${CHIP_ROOT}/third_party/pigweed/repo -rf
+ COMMAND ln -s ${NUTTX_APPS_DIR}/netutils/connectedhomeip/pigweed
+ ${CHIP_ROOT}/third_party/pigweed/repo)
- add_custom_target(chippigweed ALL
- DEPENDS connectedhomeip/third_party/pigweed/repo)
- ExternalProject_Add_StepDependencies(chip-gn configure chippigweed)
+ add_custom_target(chippigweed ALL
+ DEPENDS connectedhomeip/third_party/pigweed/repo)
+ ExternalProject_Add_StepDependencies(chip-gn configure chippigweed)
- add_custom_command(
- OUTPUT ${CHIP_ROOT}/build_overrides/pigweed_environment.gni
- COMMAND touch ${CHIP_ROOT}/build_overrides/pigweed_environment.gni)
+ add_custom_command(
+ OUTPUT ${CHIP_ROOT}/build_overrides/pigweed_environment.gni
+ COMMAND touch ${CHIP_ROOT}/build_overrides/pigweed_environment.gni)
- add_custom_target(
- chipnpigweedenv ALL
- DEPENDS ${CHIP_ROOT}/build_overrides/pigweed_environment.gni)
- ExternalProject_Add_StepDependencies(chip-gn configure chipnpigweedenv)
- add_dependencies(chippigweed chipnpigweedenv)
+ add_custom_target(
+ chipnpigweedenv ALL
+ DEPENDS ${CHIP_ROOT}/build_overrides/pigweed_environment.gni)
+ ExternalProject_Add_StepDependencies(chip-gn configure chipnpigweedenv)
+ add_dependencies(chippigweed chipnpigweedenv)
- add_custom_command(
- OUTPUT connectedhomeip/third_party/nlassert/repo
- COMMAND rm ${CHIP_ROOT}/third_party/nlassert/repo -rf
- COMMAND ln -s ${NUTTX_APPS_DIR}/netutils/connectedhomeip/nlassert
- ${CHIP_ROOT}/third_party/nlassert/repo)
+ add_custom_command(
+ OUTPUT connectedhomeip/third_party/nlassert/repo
+ COMMAND rm ${CHIP_ROOT}/third_party/nlassert/repo -rf
+ COMMAND ln -s ${NUTTX_APPS_DIR}/netutils/connectedhomeip/nlassert
+ ${CHIP_ROOT}/third_party/nlassert/repo)
- add_custom_target(chipnlassert ALL
- DEPENDS connectedhomeip/third_party/nlassert/repo)
- ExternalProject_Add_StepDependencies(chip-gn configure chipnlassert)
+ add_custom_target(chipnlassert ALL
+ DEPENDS connectedhomeip/third_party/nlassert/repo)
+ ExternalProject_Add_StepDependencies(chip-gn configure chipnlassert)
- add_custom_command(
- OUTPUT connectedhomeip/third_party/nlio/repo
- COMMAND rm ${CHIP_ROOT}/third_party/nlio/repo -rf
- COMMAND ln -s ${NUTTX_APPS_DIR}/netutils/connectedhomeip/nlio
- ${CHIP_ROOT}/third_party/nlio/repo)
+ add_custom_command(
+ OUTPUT connectedhomeip/third_party/nlio/repo
+ COMMAND rm ${CHIP_ROOT}/third_party/nlio/repo -rf
+ COMMAND ln -s ${NUTTX_APPS_DIR}/netutils/connectedhomeip/nlio
+ ${CHIP_ROOT}/third_party/nlio/repo)
- add_custom_target(chipnlio ALL DEPENDS connectedhomeip/third_party/nlio/repo)
- ExternalProject_Add_StepDependencies(chip-gn configure chipnlio)
+ add_custom_target(chipnlio ALL
+ DEPENDS connectedhomeip/third_party/nlio/repo)
+ ExternalProject_Add_StepDependencies(chip-gn configure chipnlio)
- add_custom_command(
- OUTPUT connectedhomeip/third_party/nlunit-test/repo
- COMMAND rm ${CHIP_ROOT}/third_party/nlunit-test/repo -rf
- COMMAND ln -s ${NUTTX_APPS_DIR}/netutils/connectedhomeip/nlunit-test
- ${CHIP_ROOT}/third_party/nlunit-test/repo)
+ add_custom_command(
+ OUTPUT connectedhomeip/third_party/nlunit-test/repo
+ COMMAND rm ${CHIP_ROOT}/third_party/nlunit-test/repo -rf
+ COMMAND ln -s ${NUTTX_APPS_DIR}/netutils/connectedhomeip/nlunit-test
+ ${CHIP_ROOT}/third_party/nlunit-test/repo)
- add_custom_target(chipnlunit-test ALL
- DEPENDS connectedhomeip/third_party/nlunit-test/repo)
- ExternalProject_Add_StepDependencies(chip-gn configure chipnlunit-test)
+ add_custom_target(chipnlunit-test ALL
+ DEPENDS connectedhomeip/third_party/nlunit-test/repo)
+ ExternalProject_Add_StepDependencies(chip-gn configure chipnlunit-test)
- add_custom_command(
- OUTPUT connectedhomeip/third_party/jsoncpp/repo
- COMMAND rm -rf ${CHIP_ROOT}/third_party/jsoncpp/repo
- COMMAND ln -s ${NUTTX_APPS_DIR}/netutils/jsoncpp/jsoncpp
- ${CHIP_ROOT}/third_party/jsoncpp/repo)
+ add_custom_command(
+ OUTPUT connectedhomeip/third_party/jsoncpp/repo
+ COMMAND rm -rf ${CHIP_ROOT}/third_party/jsoncpp/repo
+ COMMAND ln -s ${NUTTX_APPS_DIR}/netutils/jsoncpp/jsoncpp
+ ${CHIP_ROOT}/third_party/jsoncpp/repo)
- add_custom_target(chipjsoncpp ALL
- DEPENDS connectedhomeip/third_party/jsoncpp/repo)
- ExternalProject_Add_StepDependencies(chip-gn configure chipjsoncpp)
+ add_custom_target(chipjsoncpp ALL
+ DEPENDS connectedhomeip/third_party/jsoncpp/repo)
+ ExternalProject_Add_StepDependencies(chip-gn configure chipjsoncpp)
+ endif()
set(DEMOSRC
${CHIP_ROOT}/examples/lighting-app/linux/main.cpp