zephyr/cmake/modules
Daniel DeGrasse 0ea212918f cmake: extensions: use INTERFACE_SOURCES as property for code relocation
In order to enable code relocation, we use a custom target
(code_data_relocation_target), and add files we wish to relocate, as
well as which sections should be relocated to the COMPILE_DEFINITIONS
property for the target.

This approach has been fragile, because COMPILE_DEFINITIONS can also be
added to for all targets using `add_definitions`. This means if another
part of the project uses `add_definitions` and
CONFIG_CODE_DATA_RELOCATION is on, a warning will appear about the
"file" not being found. The "file" of course, is just the definition
added by `add_definitions`.

To work around this, switch to overloading the INTERFACE_SOURCES
property. This property should be a bit more robust, because nobody else
will add sources to the code_data_relocation_target.

However, this approach has the downside that the CMake documentation
pstates targets created with `add_custom_target()` (which the
code_data_relocation_target is) do not have an INTERFACE scope for
their sources- so while this approach works, it is not officially
supported by CMake

Fixes #60220

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-11-16 13:35:36 -05:00
..
FindBabbleSim.cmake nrf5_bsim cmake: Check that the simulator version is new enough 2024-03-19 21:18:13 -05:00
FindDeprecated.cmake cmake: add toolchain_ld_<name> macros to FindDeprecated 2024-09-16 20:18:17 +02:00
FindDtc.cmake cmake: cleanup search for devicetree compiler, dtc 2022-09-01 15:59:43 +02:00
FindGnuLd.cmake cmake: Normalize GNULD_LINKER variable 2024-04-16 16:38:35 -07:00
FindHostTools.cmake cmake: update build_info() calls to use PATH argument 2024-10-10 20:21:45 -04:00
FindLlvmLld.cmake cmake: Fix FindLlvmLld usage of unimported package 2023-06-26 12:40:03 +00:00
FindScaTools.cmake cmake: implement build infrastructure for supporting SCA tools. 2023-01-27 20:28:58 +09:00
FindTargetTools.cmake cmake: improve Zephyr link phase 2024-10-04 16:34:35 +01:00
FindThreads.cmake cmake: modules: fix FindThreads use of deprecated PTHREAD config 2024-06-20 17:03:57 -04:00
FindZephyr-sdk.cmake cmake: support range for find_package(Zephyr-sdk) 2024-10-24 14:06:45 +02:00
Findarmclang.cmake cmake: armclang version detection 2023-09-13 16:23:30 +02:00
FindoneApi.cmake cmake: Fix FindLlvmLld usage of unimported package 2023-06-26 12:40:03 +00:00
arch_v1.cmake hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
arch_v2.cmake hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
basic_settings.cmake sysbuild: Use UTF-8 encoding for cache 2024-06-13 05:31:50 -04:00
boards.cmake cmake: scripts: support board extension 2024-10-26 17:14:06 +02:00
ccache.cmake
configuration_files.cmake cmake: support build info in Zephyr 2024-10-08 17:00:30 +02:00
doc.cmake
dts.cmake cmake: dts: Use temporary file for dts.cmake 2024-11-16 13:31:02 -05:00
extensions.cmake cmake: extensions: use INTERFACE_SOURCES as property for code relocation 2024-11-16 13:35:36 -05:00
generated_file_directories.cmake build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
git.cmake cmake: Create git module 2024-09-12 10:04:05 +02:00
hwm_v2.cmake cmake: scripts: support SoC extension 2024-10-26 17:14:06 +02:00
kconfig.cmake cmake: scripts: support board extension 2024-10-26 17:14:06 +02:00
kernel.cmake cmake: scripts: support board extension 2024-10-26 17:14:06 +02:00
pre_dt.cmake cmake: modules: dts: fix in/out docs 2024-10-03 11:40:09 +01:00
python.cmake cmake: Require Python >= 3.10 2024-09-23 10:01:20 +02:00
root.cmake sysbuild: introduce sysbuild_root for root adjustment 2024-05-30 11:55:01 +01:00
shields.cmake cmake: shields: Simplify shield processing, print shields from modules 2024-04-12 15:03:29 +02:00
snippets.cmake cmake: support snippets scope for `zephyr_get()` 2023-05-25 13:31:53 +00:00
soc_v1.cmake cmake: remove dead 'soc_legacy' folder handling 2024-06-12 17:15:28 -05:00
soc_v2.cmake cmake: scripts: support SoC extension 2024-10-26 17:14:06 +02:00
unittest.cmake cmake: introduce build_info function 2024-10-08 17:00:30 +02:00
user_cache.cmake cmake: Fix USER_CACHE_DIR path generation 2023-05-10 15:27:54 +02:00
version.cmake cmake: version.cmake: cleanup docs 2024-06-24 08:28:54 -04:00
west.cmake cmake: cleanup old west version support 2023-08-24 10:47:00 +02:00
yaml.cmake cmake: initial version of a CMake yaml module 2024-08-23 08:02:11 -04:00
zephyr_default.cmake cmake: initial version of a CMake yaml module 2024-08-23 08:02:11 -04:00
zephyr_module.cmake cmake: Introduce ZEPHYR_CURRENT_MODULE_NAME 2024-01-24 10:54:17 +01:00