Skip to content

Commit ea4d33a

Browse files
SebastianBoehakonfam
authored andcommitted
cmake: multi image build support
Add support for non-recursive single-toolchain multi-image build. Signed-off-by: Sebastian Bøe <[email protected]> Signed-off-by: Håkon Øye Amundsen <[email protected]>
1 parent 7077602 commit ea4d33a

File tree

29 files changed

+554
-417
lines changed

29 files changed

+554
-417
lines changed

CMakeLists.txt

Lines changed: 151 additions & 110 deletions
Large diffs are not rendered by default.

Kconfig.zephyr

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ source "ext/Kconfig"
4040

4141
source "tests/Kconfig"
4242

43-
source "$(PROJECT_BINARY_DIR)/Kconfig.modules"
43+
source "$(CMAKE_BINARY_DIR)/Kconfig.modules"
4444

4545
menu "Build and Link Features"
4646

arch/x86/CMakeLists.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11

22
# Find out if we are optimizing for size
3-
get_target_property(zephyr_COMPILE_OPTIONS zephyr_interface INTERFACE_COMPILE_OPTIONS)
3+
get_target_property(zephyr_COMPILE_OPTIONS ${IMAGE}zephyr_interface INTERFACE_COMPILE_OPTIONS)
44
if ("-Os" IN_LIST zephyr_COMPILE_OPTIONS)
55
zephyr_cc_option(-mpreferred-stack-boundary=2)
66
else()
77
zephyr_compile_definitions(PERF_OPT)
88
endif()
99

1010
if(CONFIG_X86_IAMCU)
11-
set_property(GLOBAL APPEND PROPERTY PROPERTY_LINKER_SCRIPT_DEFINES -D__IAMCU)
11+
set_property(GLOBAL APPEND PROPERTY ${IMAGE}PROPERTY_LINKER_SCRIPT_DEFINES -D__IAMCU)
1212
set_property(GLOBAL PROPERTY PROPERTY_OUTPUT_FORMAT "elf32-iamcu")
1313
set_property(GLOBAL PROPERTY PROPERTY_OUTPUT_ARCH "iamcu:intel")
1414
else()
@@ -131,9 +131,9 @@ add_dependencies(irq_int_vector_map irq_int_vector_map_o)
131131
add_dependencies(staticIdt staticIdt_o)
132132
add_dependencies(irq_vectors_alloc irq_vectors_alloc_o)
133133

134-
set_property(GLOBAL APPEND PROPERTY GENERATED_KERNEL_OBJECT_FILES irq_int_vector_map)
135-
set_property(GLOBAL APPEND PROPERTY GENERATED_KERNEL_OBJECT_FILES staticIdt)
136-
set_property(GLOBAL APPEND PROPERTY GENERATED_KERNEL_OBJECT_FILES irq_vectors_alloc)
134+
set_property(GLOBAL APPEND PROPERTY ${IMAGE}GENERATED_KERNEL_OBJECT_FILES irq_int_vector_map)
135+
set_property(GLOBAL APPEND PROPERTY ${IMAGE}GENERATED_KERNEL_OBJECT_FILES staticIdt)
136+
set_property(GLOBAL APPEND PROPERTY ${IMAGE}GENERATED_KERNEL_OBJECT_FILES irq_vectors_alloc)
137137

138138
if(CONFIG_X86_MMU)
139139
# Use gen_mmu.py and objcopy to generate mmu_tables.o from from the
@@ -184,7 +184,7 @@ if(CONFIG_X86_MMU)
184184
add_library( mmu_tables STATIC IMPORTED GLOBAL)
185185
set_property(TARGET mmu_tables PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/mmu_tables.o)
186186
add_dependencies( mmu_tables mmu_tables_o)
187-
set_property(GLOBAL APPEND PROPERTY GENERATED_KERNEL_OBJECT_FILES mmu_tables)
187+
set_property(GLOBAL APPEND PROPERTY ${IMAGE}GENERATED_KERNEL_OBJECT_FILES mmu_tables)
188188
endif()
189189

190190
if(CONFIG_GDT_DYNAMIC)
@@ -222,5 +222,5 @@ if(CONFIG_GDT_DYNAMIC)
222222
add_library( gdt STATIC IMPORTED GLOBAL)
223223
set_property(TARGET gdt PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/gdt.o)
224224
add_dependencies( gdt gdt_o)
225-
set_property(GLOBAL APPEND PROPERTY GENERATED_KERNEL_OBJECT_FILES gdt)
225+
set_property(GLOBAL APPEND PROPERTY ${IMAGE}GENERATED_KERNEL_OBJECT_FILES gdt)
226226
endif()

0 commit comments

Comments
 (0)