diff --git a/CMakeLists.txt b/CMakeLists.txt index 77ecf5a68b3..90745084ab0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -626,6 +626,14 @@ add_custom_target(${DRIVER_VALIDATION_H_TARGET} DEPENDS ${DRV_VALIDATION}) include($ENV{ZEPHYR_BASE}/cmake/kobj.cmake) gen_kobj(KOBJ_INCLUDE_PATH) +# Add a pseudo-target that is up-to-date when all generated headers +# are up-to-date. + +add_custom_target(zephyr_generated_headers) +add_dependencies(zephyr_generated_headers + offsets_h + ) + # Generate offsets.c.obj from offsets.c # Generate offsets.h from offsets.c.obj @@ -668,7 +676,7 @@ get_property(ZEPHYR_LIBS_PROPERTY GLOBAL PROPERTY ZEPHYR_LIBS) foreach(zephyr_lib ${ZEPHYR_LIBS_PROPERTY}) # TODO: Could this become an INTERFACE property of zephyr_interface? - add_dependencies(${zephyr_lib} ${OFFSETS_H_TARGET}) + add_dependencies(${zephyr_lib} zephyr_generated_headers) endforeach() get_property(OUTPUT_FORMAT GLOBAL PROPERTY PROPERTY_OUTPUT_FORMAT) @@ -683,7 +691,7 @@ configure_linker_script( ${PRIV_STACK_DEP} ${APP_SMEM_ALIGNED_DEP} ${CODE_RELOCATION_DEP} - ${OFFSETS_H_TARGET} + zephyr_generated_headers ) add_custom_target( @@ -1088,7 +1096,7 @@ if(CONFIG_USERSPACE) ${CODE_RELOCATION_DEP} ${APP_SMEM_UNALIGNED_DEP} ${APP_SMEM_UNALIGNED_LD} - ${OFFSETS_H_TARGET} + zephyr_generated_headers ) add_custom_target( @@ -1142,7 +1150,7 @@ if(CONFIG_USERSPACE AND CONFIG_ARM) ${CODE_RELOCATION_DEP} ${APP_SMEM_ALIGNED_DEP} ${APP_SMEM_ALIGNED_LD} - ${OFFSETS_H_TARGET} + zephyr_generated_headers ) add_custom_target( @@ -1200,7 +1208,7 @@ else() ${PRIV_STACK_DEP} ${CODE_RELOCATION_DEP} ${ZEPHYR_PREBUILT_EXECUTABLE} - ${OFFSETS_H_TARGET} + zephyr_generated_headers ) set(LINKER_PASS_FINAL_SCRIPT_TARGET linker_pass_final_script_target) diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt index 988df63371a..55e20289abf 100644 --- a/kernel/CMakeLists.txt +++ b/kernel/CMakeLists.txt @@ -58,6 +58,6 @@ target_include_directories(kernel PRIVATE ${ZEPHYR_BASE}/arch/${ARCH}/include ) -add_dependencies(kernel ${OFFSETS_H_TARGET}) +add_dependencies(kernel zephyr_generated_headers) target_link_libraries(kernel zephyr_interface) diff --git a/tests/subsys/settings/fs/src/CMakeLists.txt b/tests/subsys/settings/fs/src/CMakeLists.txt index 294fd6f94fc..dc2d9fc1d6a 100644 --- a/tests/subsys/settings/fs/src/CMakeLists.txt +++ b/tests/subsys/settings/fs/src/CMakeLists.txt @@ -6,7 +6,9 @@ zephyr_library_named(settings_test_fs) # zephyr_library() is here in "app-mode", see # https://github.com/zephyrproject-rtos/zephyr/issues/19582 # Random build failures without this, depends on the number of threads. -add_dependencies( settings_test_fs offsets_h) +add_dependencies(settings_test_fs + zephyr_generated_headers + ) FILE(GLOB fssources *.c ) zephyr_library_sources(${fssources}) diff --git a/tests/subsys/settings/functional/src/CMakeLists.txt b/tests/subsys/settings/functional/src/CMakeLists.txt index a73f6d071ba..64a33c02c0d 100644 --- a/tests/subsys/settings/functional/src/CMakeLists.txt +++ b/tests/subsys/settings/functional/src/CMakeLists.txt @@ -12,4 +12,7 @@ zephyr_library_sources(settings_basic_test.c) # zephyr_library() is here in "app-mode", see # https://github.com/zephyrproject-rtos/zephyr/issues/19582 # Random build failures without this, depends on the number of threads. -add_dependencies( settings_func_test offsets_h) +add_dependencies( + settings_func_test + zephyr_generated_headers + ) diff --git a/tests/subsys/settings/src/CMakeLists.txt b/tests/subsys/settings/src/CMakeLists.txt index f72babbf9ed..2836434eac5 100644 --- a/tests/subsys/settings/src/CMakeLists.txt +++ b/tests/subsys/settings/src/CMakeLists.txt @@ -6,7 +6,10 @@ zephyr_library_named(settings_test) # zephyr_library() is here in "app-mode", see # https://github.com/zephyrproject-rtos/zephyr/issues/19582 # Random build failures without this, depends on the number of threads. -add_dependencies( settings_test offsets_h) +add_dependencies( + settings_test + zephyr_generated_headers + ) FILE(GLOB mysources *.c ) zephyr_library_sources(${mysources})