diff --git a/CMakeLists.txt b/CMakeLists.txt index 1df19d50c2b..1672389fffa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1029,21 +1029,8 @@ zephyr_compile_options( $<$:-std=${CSTD}> ) -configure_file( - $ENV{ZEPHYR_BASE}/include/arch/common/app_data_alignment.ld - ${PROJECT_BINARY_DIR}/include/generated/app_data_alignment.ld) - -configure_file( - $ENV{ZEPHYR_BASE}/include/linker/app_smem.ld - ${PROJECT_BINARY_DIR}/include/generated/app_smem.ld) - -configure_file( - $ENV{ZEPHYR_BASE}/include/linker/app_smem_aligned.ld - ${PROJECT_BINARY_DIR}/include/generated/app_smem_aligned.ld) - -configure_file( - $ENV{ZEPHYR_BASE}/include/linker/app_smem_unaligned.ld - ${PROJECT_BINARY_DIR}/include/generated/app_smem_unaligned.ld) +# @Intent: Configure linker scripts, i.e. generate linker scripts with variables substituted +toolchain_ld_configure_files() if(CONFIG_USERSPACE) set(APP_SMEM_ALIGNED_LD "${PROJECT_BINARY_DIR}/include/generated/app_smem_aligned.ld") diff --git a/cmake/linker/ld/target.cmake b/cmake/linker/ld/target.cmake index b2fcce397e6..0c82474167f 100644 --- a/cmake/linker/ld/target.cmake +++ b/cmake/linker/ld/target.cmake @@ -58,3 +58,4 @@ include(${ZEPHYR_BASE}/cmake/linker/${LINKER}/target_base.cmake) include(${ZEPHYR_BASE}/cmake/linker/${LINKER}/target_baremetal.cmake) include(${ZEPHYR_BASE}/cmake/linker/${LINKER}/target_cpp.cmake) include(${ZEPHYR_BASE}/cmake/linker/${LINKER}/target_relocation.cmake) +include(${ZEPHYR_BASE}/cmake/linker/${LINKER}/target_configure.cmake) diff --git a/cmake/linker/ld/target_configure.cmake b/cmake/linker/ld/target_configure.cmake new file mode 100644 index 00000000000..7d02fb5552f --- /dev/null +++ b/cmake/linker/ld/target_configure.cmake @@ -0,0 +1,21 @@ +# SPDX-License-Identifier: Apache-2.0 + +# See root CMakeLists.txt for description and expectations of these macros + +macro(toolchain_ld_configure_files) + configure_file( + $ENV{ZEPHYR_BASE}/include/arch/common/app_data_alignment.ld + ${PROJECT_BINARY_DIR}/include/generated/app_data_alignment.ld) + + configure_file( + $ENV{ZEPHYR_BASE}/include/linker/app_smem.ld + ${PROJECT_BINARY_DIR}/include/generated/app_smem.ld) + + configure_file( + $ENV{ZEPHYR_BASE}/include/linker/app_smem_aligned.ld + ${PROJECT_BINARY_DIR}/include/generated/app_smem_aligned.ld) + + configure_file( + $ENV{ZEPHYR_BASE}/include/linker/app_smem_unaligned.ld + ${PROJECT_BINARY_DIR}/include/generated/app_smem_unaligned.ld) +endmacro()