Lines Matching +full:child +full:- +full:prop
1 # SPDX-License-Identifier: Apache-2.0
14 # 1. Zephyr-aware extensions
21 # 2. Kconfig-aware extensions
23 # 3. CMake-generic extensions
39 # 1. Zephyr-aware extensions
44 # "zephyr". zephyr is a catch-all CMake library for source files that
47 # [0] https://cmake.org/cmake/help/latest/manual/cmake-buildsystem.7.html
61 # As a very high-level introduction here are two call graphs that are
67 # zephyr_library_compile_options() --> target_compile_options()
70 # zephyr_cc_option() ---> target_cc_option()
73 # zephyr_cc_option_fallback() ---> target_cc_option_fallback()
76 # zephyr_compile_options() ---> target_compile_options()
145 # - include_directories # -I directories
146 # - system_include_directories # -isystem directories
147 # - compile_definitions # -D'efines
148 # - compile_options # misc. compiler flags
151 # - the empty string '', signifying that it should be returned as a list
152 # - _as_string signifying that it should be returned as a string
155 # - C
156 # - CXX
157 # - ASM
162 # to a compiler, e.g. prefixed with -D, or -I, but it is possible to
168 # writes "-Isome_dir;-Isome/other/dir" to x
210 set(result_output_list "-I$<JOIN:${genexp_output_list},$<SEMICOLON>-I>")
215 set(result_output_list "-I$<JOIN:${genexp_output_list},${args_DELIMITER}-I>")
228 …ult_output_list "$<$<BOOL:${genexp_output_list}>:-isystem$<JOIN:${genexp_output_list},${args_DELIM…
241 set(result_output_list "-D$<JOIN:${genexp_output_list},${args_DELIMITER}-D>")
285 # $<$<COMPILE_LANGUAGE:CXX>:-fno-exceptions>
292 # https://cmake.org/cmake/help/v3.3/manual/cmake-generator-expressions.7.html
326 # SHELL is used to avoid de-duplication, but when process flags
380 # methods have the signature: zephyr_library_<target-function>
383 # https://cmake.org/cmake/help/latest/manual/cmake-commands.7.html for
395 # Constructor with a directory-inferred name
431 # Provides amend functionality to a Zephyr library for out-of-tree usage.
569 "-l" $<TARGET_FILE_NAME:${ZEPHYR_CURRENT_LIBRARY}> "${partition}")
600 # ensure that when a user KConfig-enables a library then the header
605 # functions out-of-the box.
644 --file ${source_file}
688 # - Board runners
689 # - Board revision
764 # board_runner_args(runner "--some-arg=val1" "--another-arg=val2")
768 # --some-arg=val1 --another-arg=val2
774 # board_runner_args(runner "--some-app-setting=value")
799 # board_runner_args(runner "--some-arg=default-value")
853 # The function will check the revision from `-DBOARD=<board>@<revision>` that
859 # LETTER: Revision format is a single letter from A - Z.
885 # revisions 0.x.0-0.99.99 and 1.0.0-1.99.99, and it is expected
917 requires a revision. Please use: `-DBOARD=${BOARD}@<revision>`")
936 set(revision_regex "([A-Z])")
938 set(revision_regex "([0-9]+)")
940 set(revision_regex "((0|[1-9][0-9]*)(\.[0-9]+)(\.[0-9]+))")
943 if(BOARD_REVISION MATCHES "((0|[1-9][0-9]*)(\.[0-9]+)?(\.[0-9]+)?)")
1026 # again wraps the CMake-builtin's check_c_compiler_flag and
1050 # the file contents are the values in this key-value store.
1085 # Flags that start with -Wno-<warning> can not be tested by
1086 # check_compiler_flag, they will always pass, but -W<warning> can be
1087 # tested, so to test -Wno-<warning> flags we test -W<warning>
1089 if("${option}" MATCHES "-Wno-(.*)")
1090 string(REPLACE "-Wno-" "-W" possibly_translated_option "${option}")
1141 # the test. Exclude them by toolchain-specific blocklist.
1162 # currently only available on ARM Cortex-M, ARM Cortex-R,
1163 # x86, ARC, openisa_rv32m1, and RISC-V.
1177 # given, the key 'default' is used. Keys are case-sensitive.
1187 # _mysection_size = ABSOLUTE(_mysection_end - _mysection_start);
1197 # _mysection_size = _mysection_end - _mysection_start;
1209 set(sections_path "${snippet_base}/snippets-sections.ld")
1210 set(ram_sections_path "${snippet_base}/snippets-ram-sections.ld")
1211 set(data_sections_path "${snippet_base}/snippets-data-sections.ld")
1212 set(rom_start_path "${snippet_base}/snippets-rom-start.ld")
1213 set(noinit_path "${snippet_base}/snippets-noinit.ld")
1214 set(rwdata_path "${snippet_base}/snippets-rwdata.ld")
1215 set(rodata_path "${snippet_base}/snippets-rodata.ld")
1216 set(ramfunc_path "${snippet_base}/snippets-ramfunc-section.ld")
1217 set(nocache_path "${snippet_base}/snippets-nocache-section.ld")
1219 set(pinned_ram_sections_path "${snippet_base}/snippets-pinned-ram-sections.ld")
1220 set(pinned_data_sections_path "${snippet_base}/snippets-pinned-data-sections.ld")
1221 set(pinned_rodata_path "${snippet_base}/snippets-pinned-rodata.ld")
1327 # - NOCOPY: this flag indicates that the file data does not need to be copied
1329 # - PHDR [program_header]: add program header. Used on Xtensa platforms.
1361 set(src_list_abs "$<FILTER:${genex_src_list},INCLUDE,^[A-Za-z]\:>")
1362 set(src_list_rel "$<FILTER:${genex_src_list},EXCLUDE,^[A-Za-z]\:>")
1409 # check_dtc_flag("-Wtest" DTC_WARN_TEST)
1418 ${DTC} ${flag} -v
1447 math(EXPR x "${${n}} & (${${n}} - 1)")
1469 # zephyr_build_string(<out-variable>
1475 # <out-variable>: Output variable where the build string will be returned.
1559 # 2. Kconfig-aware extensions
1587 ENCODING "UTF-8"
1651 # 3. CMake-generic extensions
1679 # "<function-name>_ifdef(CONDITION args)"
1683 # <function-name>(args)
1687 # ifdef functions are added on an as-need basis. See
1688 # https://cmake.org/cmake/help/latest/manual/cmake-commands.7.html for
1974 # 3.3. *_option Compiler-compatibility checks
1978 # cc-option in
1990 # check_compiler_flag(C "-Wall" my_check)
2078 # 'gcc -M'.
2102 string(SUBSTRING ${first_input_line} ${j} -1 first_include_file)
2162 # compiler-cpp targets.
2174 set(APPEND-CPP "APPEND")
2178 set_property(TARGET compiler-cpp ${APPEND} PROPERTY ${COMPILER_PROPERTY_PROPERTY})
2182 # flag and only set the compiler or compiler-cpp property if the check succeeds
2186 # before setting the property on compiler or compiler-cpp targets.
2188 # To test flags together, such as '-Wformat -Wformat-security', an option group
2189 # can be specified by using shell-like quoting along with a 'SHELL:' prefix.
2191 # '"SHELL:-Wformat -Wformat-security"' becomes '-Wformat -Wformat-security' for
2204 set(APPEND-CPP "APPEND")
2220 set_property(TARGET compiler-cpp ${APPEND-CPP} PROPERTY ${property} ${option})
2221 set(APPEND-CPP "APPEND")
2296 # those paths that are defined with `-D<path>=<val>`
2299 # by user with `-D<path>`
2306 # - DTS: Overlay files (.overlay)
2307 # - Kconfig: Config fragments (.conf)
2346 # Note: user can do: `-D<var>=<relative-path>` and app can at same
2347 # time specify `list(APPEND <var> <abs-path>)`
2348 # Thus need to check and update only CACHED variables (-D<var>).
2351 # The cached variable is relative path, i.e. provided by `-D<var>` or
2372 Relative paths are only allowed with `-D${ARGV1}=<path>`")
2469 COMMAND ${CMAKE_COMMAND} -E ${copy_file_command} ${oldname} ${newname}
2475 # zephyr_string(<mode> <out-var> <input> ...)
2482 # characters. Special characters, such as -, +, =, $, etc. are
2486 # characters. Special characters, such as -, +, =, $, etc. are
2505 string(REGEX REPLACE "[^a-zA-Z0-9_]" "_" work_string ${work_string})
2525 # for storing current and future Zephyr-related extensions for list
2529 # converts the argument list <list> to a ;-list with
2532 # may be whitespace- or semicolon-separated.
2611 # - Sysbuild defined when sysbuild is used.
2614 # - BOARD is considered a global sysbuild cache variable
2615 # - blinky_BOARD is considered a local sysbuild cache variable only for the
2620 # - CMake cache, set by `-D<var>=<value>` or `set(<var> <val> CACHE ...)
2621 # - Environment
2622 # - Locally in CMakeLists.txt before 'find_package(Zephyr)'
2626 # using `-DZEPHYR_TOOLCHAIN_VARIANT=<val>`, then the value from the cache is
2784 # - BOARD
2785 # - SHIELD
2795 # - Using CMake argument, -D<variable>
2796 # - Using an environment variable
2797 # - In the project CMakeLists.txt before `find_package(Zephyr)`.
2807 # E.g. always specifies -D<variable>= on the command line,
2834 # If user uses -D<variable>=<new_value>, then cli_argument will hold the new
2875 message(FATAL_ERROR "${variable} is not being defined on the CMake command-line,"
2930 # Get build targets for a given directory and sub-directories.
2964 # This function allows samples that are multi-image samples by nature to ensure
2978 "For correct user-experiences, please build '${PROJECT_NAME}' "
3002 POST_BUILD COMMAND ${CMAKE_COMMAND} -E true
3011 # RESULT <out-variable>)
3087 # - In CMake, we refer to the nodes using the node's path, therefore
3091 # - As another difference from the C API, you can generally use an
3106 # nvic: interrupt-controller@e000e100 { ... };
3112 # # Sets 'nvic_path' to "/soc/interrupt-controller@e000e100"
3137 if(${${var}} STREQUAL ${var}-NOTFOUND)
3145 # dt_alias(<var> PROPERTY <prop>)
3155 # # alias "does-not-exist".
3156 # dt_alias(path PROPERTY "does-not-exist")
3162 # PROPERTY <prop> : The alias to check
3180 if(${${var}} STREQUAL ${var}-NOTFOUND)
3194 # - absolute path to a node, like '/foo/bar'
3195 # - a node alias, like 'my-alias'
3196 # - a node alias followed by a path to a child node, like 'my-alias/child-node'
3231 # - exists in the devicetree, and
3232 # - has a status property matching the <status> argument
3238 # - absolute path to a node, like '/foo/bar'
3239 # - a node alias, like 'my-alias'
3240 # - a node alias followed by a path to a child node, like 'my-alias/child-node'
3285 # dt_prop(<var> PATH <path> PROPERTY <prop> [INDEX <idx>])
3292 # - absolute path to a node, like '/foo/bar'
3293 # - a node alias, like 'my-alias'
3294 # - a node alias followed by a path to a child node, like 'my-alias/child-node'
3297 # devicetree binding types: string, int, boolean, array, uint8-array,
3298 # string-array, path.
3300 # For array valued properties (including uint8-array and
3301 # string-array), the entire array is returned as a CMake list unless
3306 # node exists and has a property <prop> with one of the above types.
3312 # dt_prop(reserved_ranges PATH "/soc/gpio@deadbeef" PROPERTY "gpio-reserved-ranges")
3314 # # Node exists and has the "gpio-reserved-ranges" property.
3321 # dt_prop(reserved_ranges PATH "/soc/gpio@deadbeef" PROPERTY "gpio-reserved-ranges")
3323 # # Node "/soc/gpio@deadbeef" exists and has the "gpio-reserved-ranges" property
3330 # PROPERTY <prop>: Property for which a value should be returned, as it
3438 # - absolute path to a node, like '/foo/bar'
3439 # - a node alias, like 'my-alias'
3440 # - a node alias followed by a path to a child node, like 'my-alias/child-node'
3477 # - absolute path to a node, like '/foo/bar'
3478 # - a node alias, like 'my-alias'
3479 # - a node alias followed by a path to a child node, like 'my-alias/child-node'
3482 # - The base address of the register block
3483 # - <var> will be undefined if node does not exists or does not have a register
3513 if(DT_REG_INDEX EQUAL "-1")
3542 # - absolute path to a node, like '/foo/bar'
3543 # - a node alias, like 'my-alias'
3544 # - a node alias followed by a path to a child node, like 'my-alias/child-node'
3573 if(DT_REG_INDEX EQUAL "-1")
3593 dt_prop(reg_names PATH "${path}" PROPERTY "reg-names")
3595 set(index "-1")
3603 # dt_has_chosen(<var> PROPERTY <prop>)
3606 # <prop> which contains the path to a node.
3626 # PROPERTY <prop> : Chosen property
3645 if(${exists} STREQUAL exists-NOTFOUND)
3653 # dt_chosen(<var> PROPERTY <prop>)
3661 # PROPERTY <prop> : Chosen property
3680 if(${${var}} STREQUAL ${var}-NOTFOUND)
3688 # variable 'var'. This resolves aliases, if any. Child nodes may be
3696 # my-label: bar {
3701 # my-alias = &my-label;
3708 # dt_path_internal(ret "my-alias") # sets ret to "/foo/bar"
3709 # dt_path_internal(ret "my-alias/baz") # sets ret to "/foo/bar/baz"
3731 if (NOT "${slash_index}" EQUAL -1)
3732 string(SUBSTRING "${path}" "${slash_index}" -1 rest)
3848 list(APPEND include_opts -isystem ${dir})
3853 list(APPEND source_opts -include ${file})
3858 list(APPEND deps_opts -MD -MF ${DT_PREPROCESS_DEPS_FILE})
3870 -x assembler-with-cpp
3871 -nostdinc
3875 -D__DTS__
3877 -E # Stop after preprocessing
3879 -o ${DT_PREPROCESS_OUT_FILE}
3977 # r: Read-only region
3978 # w: Read-write region
4057 dt_prop(name PATH ${DTS_SECTION_PATH} PROPERTY "zephyr,memory-region")
4060 "\"zephyr,memory-region\" property"
4074 # zephyr_linker_dts_memory(CHOSEN <prop> FLAGS <flags>)
4087 # CHOSEN <prop> : Chosen property, add memory section described by the
4091 # r: Read-only region
4092 # w: Read-write region
4132 dt_prop(name PATH ${DTS_MEMORY_PATH} PROPERTY "zephyr,memory-region")
4135 "\"zephyr,memory-region\" property"
4187 # +-----------------+
4190 # | +-------------+ |
4192 # | +-------------+ |
4194 # | +-------------+ |
4196 # | +-------------+ |
4198 # +-----------------+
4207 # +---------------------+
4210 # | +-----------------+ |
4213 # | | +-------------+ | |
4215 # | | +-------------+ | |
4217 # | +-----------------+ |
4219 # +---------------------+
4348 - (${CONFIG_SRAM_BASE_ADDRESS} + ${CONFIG_SRAM_OFFSET})"
4410 # of equally-sized data structures. For use with STRUCT_SECTION_ITERABLE.
4444 # ToDo - Should we use ROM, RAM, etc as arguments ?
4623 # `+, -, *` and similar. The expression will go directly into the
4652 # The macro will create a list of argument-value pairs for defined arguments