@@ -20,16 +20,24 @@ if(NOT CHIP_ROOT)
20
20
get_filename_component (CHIP_ROOT ${CMAKE_CURRENT_SOURCE_DIR} /../../.. REALPATH)
21
21
endif ()
22
22
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)
24
29
25
30
include (${CHIP_ROOT} /config/nxp/cmake/common.cmake)
26
31
include (${CHIP_ROOT} /src/app/chip_data_model.cmake)
27
32
33
+ if (NOT CONFIG_CHIP_BUILD_APP_WITH_GN)
28
34
# Prepare compiler flags
29
35
matter_add_cflags(${CMAKE_C_FLAGS} )
30
36
matter_add_cxxflags(${CMAKE_CXX_FLAGS} )
31
37
32
38
matter_get_compiler_flags_from_targets("${CONFIG_CHIP_EXTERNAL_TARGETS} " )
39
+ endif ()
40
+
33
41
34
42
# ==============================================================================
35
43
# Generate configuration for CHIP GN build system
@@ -39,31 +47,80 @@ matter_add_gn_arg_string("nxp_platform" ${CONFIG_CHIP_NXP_PLATFORM})
39
47
matter_add_gn_arg("chip_with_factory_data" ${CONFIG_CHIP_FACTORY_DATA} )
40
48
matter_add_gn_arg("chip_enable_secure_dac_private_key_storage" ${CONFIG_CHIP_SECURE_DAC_PRIVATE_KEY_STORAGE} )
41
49
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)
42
52
43
53
if (CONFIG_USE_CHIP_DATA_MODEL_INTERFACE)
44
54
set (DATA_MODEL_INTERFACE "enabled" )
45
55
else ()
46
56
set (DATA_MODEL_INTERFACE "disabled" )
47
57
endif ()
48
58
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 ()
58
79
59
80
matter_generate_args_tmp_file()
60
81
61
82
# ==============================================================================
62
83
# Build chip library
63
84
# ==============================================================================
85
+ if (NOT CONFIG_CHIP_BUILD_APP_WITH_GN)
64
86
matter_build(chip
65
87
LIB_SHELL ${CONFIG_CHIP_LIB_SHELL}
66
88
LIB_TESTS ${CONFIG_CHIP_BUILD_TESTS}
67
89
DEVICE_INFO_EXAMPLE_PROVIDER ${CONFIG_CHIP_EXAMPLE_DEVICE_INFO_PROVIDER}
68
90
GN_DEPENDENCIES ${CONFIG_GN_DEPENDENCIES}
69
91
)
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