You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
3.3 KiB
94 lines
3.3 KiB
# SPDX-License-Identifier: Apache-2.0 |
|
# |
|
# Copyright (c) 2022, Nordic Semiconductor ASA |
|
|
|
# FindDeprecated module provides a single location for deprecated CMake build code. |
|
# Whenever CMake code is deprecated it should be moved to this module and |
|
# corresponding COMPONENTS should be created with name identifying the deprecated code. |
|
# |
|
# This makes it easier to maintain deprecated code and cleanup such code when it |
|
# has been deprecated for two releases. |
|
# |
|
# Example: |
|
# CMakeList.txt contains deprecated code, like: |
|
# if(DEPRECATED_VAR) |
|
# deprecated() |
|
# endif() |
|
# |
|
# such code can easily be around for a long time, so therefore such code should |
|
# be moved to this module and can then be loaded as: |
|
# FindDeprecated.cmake |
|
# if(<deprecated_name> IN_LIST Deprecated_FIND_COMPONENTS) |
|
# # This code has been deprecated after Zephyr x.y |
|
# if(DEPRECATED_VAR) |
|
# deprecated() |
|
# endif() |
|
# endif() |
|
# |
|
# and then in the original CMakeLists.txt, this code is inserted instead: |
|
# find_package(Deprecated COMPONENTS <deprecated_name>) |
|
# |
|
# The module defines the following variables: |
|
# |
|
# 'Deprecated_FOUND', 'DEPRECATED_FOUND' |
|
# True if the Deprecated component was found and loaded. |
|
|
|
if("${Deprecated_FIND_COMPONENTS}" STREQUAL "") |
|
message(WARNING "find_package(Deprecated) missing required COMPONENTS keyword") |
|
endif() |
|
|
|
if("toolchain_ld_base" IN_LIST Deprecated_FIND_COMPONENTS) |
|
# This code was deprecated after Zephyr v4.0.0 |
|
list(REMOVE_ITEM Deprecated_FIND_COMPONENTS toolchain_ld_base) |
|
|
|
if(COMMAND toolchain_ld_base) |
|
message(DEPRECATION |
|
"The macro/function 'toolchain_ld_base' is deprecated. " |
|
"Please use '${LINKER}/linker_flags.cmake' and define the appropriate " |
|
"linker flags as properties instead. " |
|
"See '${ZEPHYR_BASE}/cmake/linker/linker_flags_template.cmake' for " |
|
"known linker properties." |
|
) |
|
toolchain_ld_base() |
|
endif() |
|
endif() |
|
|
|
if("toolchain_ld_baremetal" IN_LIST Deprecated_FIND_COMPONENTS) |
|
# This code was deprecated after Zephyr v4.0.0 |
|
list(REMOVE_ITEM Deprecated_FIND_COMPONENTS toolchain_ld_baremetal) |
|
|
|
if(COMMAND toolchain_ld_baremetal) |
|
message(DEPRECATION |
|
"The macro/function 'toolchain_ld_baremetal' is deprecated. " |
|
"Please use '${LINKER}/linker_flags.cmake' and define the appropriate " |
|
"linker flags as properties instead. " |
|
"See '${ZEPHYR_BASE}/cmake/linker/linker_flags_template.cmake' for " |
|
"known linker properties." |
|
) |
|
toolchain_ld_baremetal() |
|
endif() |
|
endif() |
|
|
|
if("toolchain_ld_cpp" IN_LIST Deprecated_FIND_COMPONENTS) |
|
# This code was deprecated after Zephyr v4.0.0 |
|
list(REMOVE_ITEM Deprecated_FIND_COMPONENTS toolchain_ld_cpp) |
|
|
|
if(COMMAND toolchain_ld_cpp) |
|
message(DEPRECATION |
|
"The macro/function 'toolchain_ld_cpp' is deprecated. " |
|
"Please use '${LINKER}/linker_flags.cmake' and define the appropriate " |
|
"linker flags as properties instead. " |
|
"See '${ZEPHYR_BASE}/cmake/linker/linker_flags_template.cmake' for " |
|
"known linker properties." |
|
) |
|
toolchain_ld_cpp() |
|
endif() |
|
endif() |
|
|
|
if(NOT "${Deprecated_FIND_COMPONENTS}" STREQUAL "") |
|
message(STATUS "The following deprecated component(s) could not be found: " |
|
"${Deprecated_FIND_COMPONENTS}") |
|
endif() |
|
|
|
set(Deprecated_FOUND True) |
|
set(DEPRECATED_FOUND True)
|
|
|