Skip to content

Commit 3a4d8c2

Browse files
committed
[NXP][config][freertos] Adding support to build applications and execute pre/post-build processes with cmake wrappers
Signed-off-by: Dina Benamar <dina.benamarelmaaroufi@nxp.com>
1 parent 0f885b5 commit 3a4d8c2

File tree

1 file changed

+67
-10
lines changed

1 file changed

+67
-10
lines changed

config/nxp/chip-cmake-freertos/CMakeLists.txt

+67-10
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,24 @@ if(NOT CHIP_ROOT)
2020
get_filename_component(CHIP_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../.. REALPATH)
2121
endif()
2222

23-
get_filename_component(GN_ROOT_TARGET ${CHIP_ROOT}/config/nxp/chip-gn-freertos REALPATH)
23+
if (NOT GN_ROOT_TARGET)
24+
get_filename_component(GN_ROOT_TARGET ${CHIP_ROOT}/config/nxp/chip-gn-freertos REALPATH)
25+
endif()
26+
27+
# Include common NXP helpers for build & pre/post-build process
28+
include(${CHIP_ROOT}/third_party/nxp/nxp_matter_support/cmake/build_helpers.cmake)
2429

2530
include(${CHIP_ROOT}/config/nxp/cmake/common.cmake)
2631
include(${CHIP_ROOT}/src/app/chip_data_model.cmake)
2732

33+
if(NOT CONFIG_CHIP_BUILD_APP_WITH_GN)
2834
# Prepare compiler flags
2935
matter_add_cflags(${CMAKE_C_FLAGS})
3036
matter_add_cxxflags(${CMAKE_CXX_FLAGS})
3137

3238
matter_get_compiler_flags_from_targets("${CONFIG_CHIP_EXTERNAL_TARGETS}")
39+
endif()
40+
3341

3442
# ==============================================================================
3543
# Generate configuration for CHIP GN build system
@@ -39,31 +47,80 @@ matter_add_gn_arg_string("nxp_platform" ${CONFIG_CHIP_NXP_PLATFORM})
3947
matter_add_gn_arg("chip_with_factory_data" ${CONFIG_CHIP_FACTORY_DATA})
4048
matter_add_gn_arg("chip_enable_secure_dac_private_key_storage" ${CONFIG_CHIP_SECURE_DAC_PRIVATE_KEY_STORAGE})
4149
matter_add_gn_arg("chip_enable_secure_whole_factory_data" ${CONFIG_CHIP_ENABLE_SECURE_WHOLE_FACTORY_DATA})
50+
matter_add_gn_arg_bool("chip_enable_matter_cli" CONFIG_CHIP_LIB_SHELL)
51+
matter_add_gn_arg_bool("chip_enable_pairing_autostart" CONFIG_CHIP_ENABLE_PAIRING_AUTOSTART)
4252

4353
if (CONFIG_USE_CHIP_DATA_MODEL_INTERFACE)
4454
set(DATA_MODEL_INTERFACE "enabled")
4555
else()
4656
set(DATA_MODEL_INTERFACE "disabled")
4757
endif()
4858

49-
matter_common_gn_args(
50-
DEBUG CONFIG_DEBUG
51-
LIB_SHELL CONFIG_CHIP_LIB_SHELL
52-
LIB_TESTS CONFIG_CHIP_BUILD_TESTS
53-
PROJECT_CONFIG ${CONFIG_CHIP_PROJECT_CONFIG}
54-
PROJECT_CONFIG_INC_DIR ${CONFIG_CHIP_PROJECT_CONFIG_INCLUDE_DIRS}
55-
DEVICE_INFO_EXAMPLE_PROVIDER CONFIG_CHIP_EXAMPLE_DEVICE_INFO_PROVIDER
56-
DATA_MODEL_INTERFACE ${DATA_MODEL_INTERFACE}
57-
)
59+
if(CONFIG_BOOTLOADER_MCUBOOT)
60+
matter_add_gn_arg_bool("no_mcuboot" false)
61+
endif(CONFIG_BOOTLOADER_MCUBOOT)
62+
63+
# Enable map file generation by default
64+
matter_add_gn_arg_bool("chip_generate_link_map_file" true)
65+
66+
if(CONFIG_CHIP_BUILD_APP_WITH_GN)
67+
include(${CHIP_ROOT}/third_party/nxp/nxp_matter_support/cmake/nxp_sdk_gn_build.cmake)
68+
else()
69+
matter_common_gn_args(
70+
DEBUG CONFIG_DEBUG
71+
LIB_SHELL CONFIG_CHIP_LIB_SHELL
72+
LIB_TESTS CONFIG_CHIP_BUILD_TESTS
73+
PROJECT_CONFIG ${CONFIG_CHIP_PROJECT_CONFIG}
74+
PROJECT_CONFIG_INC_DIR ${CONFIG_CHIP_PROJECT_CONFIG_INCLUDE_DIRS}
75+
DEVICE_INFO_EXAMPLE_PROVIDER CONFIG_CHIP_EXAMPLE_DEVICE_INFO_PROVIDER
76+
DATA_MODEL_INTERFACE ${DATA_MODEL_INTERFACE}
77+
)
78+
endif()
5879

5980
matter_generate_args_tmp_file()
6081

6182
# ==============================================================================
6283
# Build chip library
6384
# ==============================================================================
85+
if(NOT CONFIG_CHIP_BUILD_APP_WITH_GN)
6486
matter_build(chip
6587
LIB_SHELL ${CONFIG_CHIP_LIB_SHELL}
6688
LIB_TESTS ${CONFIG_CHIP_BUILD_TESTS}
6789
DEVICE_INFO_EXAMPLE_PROVIDER ${CONFIG_CHIP_EXAMPLE_DEVICE_INFO_PROVIDER}
6890
GN_DEPENDENCIES ${CONFIG_GN_DEPENDENCIES}
6991
)
92+
endif()
93+
94+
95+
#**************************************************************************************
96+
# Pre-build instructions
97+
#**************************************************************************************
98+
nxp_pre_build_process()
99+
100+
#**************************************************************************************
101+
# Post-build instructions
102+
#**************************************************************************************
103+
if(CONFIG_CHIP_OTA_REQUESTOR)
104+
105+
if (CONFIG_BOOTLOADER_MCUBOOT)
106+
# Build mcuboot application
107+
nxp_generate_mcuboot()
108+
109+
# Sign application binaries with mcuboot imgtool
110+
nxp_sign_app_imgtool("${CONFIG_REMOVE_SECTIONS_FROM_BIN}")
111+
112+
endif()
113+
114+
# Generate .ota file
115+
nxp_generate_ota_file()
116+
117+
endif(CONFIG_CHIP_OTA_REQUESTOR)
118+
119+
if (CONFIG_CHIP_FACTORY_DATA_BUILD)
120+
121+
set(OUTPUT_FILE_PATH ${gn_build}/factory_data)
122+
123+
# Generate factory data binaries
124+
nxp_generate_factory_data()
125+
126+
endif(CONFIG_CHIP_FACTORY_DATA_BUILD)

0 commit comments

Comments
 (0)