[libc] Support for generating proxy headers (#175279)
This is a follow up to #174823 which adds build system integration.
This commit is contained in:
parent
f7e7132c8e
commit
9a02a3c7f4
@ -75,7 +75,7 @@ endfunction(add_header)
|
||||
function(add_gen_header target_name)
|
||||
cmake_parse_arguments(
|
||||
"ADD_GEN_HDR"
|
||||
"PUBLIC" # No optional arguments
|
||||
"PROXY;PUBLIC" # No optional arguments
|
||||
"YAML_FILE;GEN_HDR" # Single value arguments
|
||||
"DEPENDS" # Multi value arguments
|
||||
${ARGN}
|
||||
@ -94,7 +94,12 @@ function(add_gen_header target_name)
|
||||
|
||||
set(absolute_path ${CMAKE_CURRENT_SOURCE_DIR}/${ADD_GEN_HDR_GEN_HDR})
|
||||
file(RELATIVE_PATH relative_path ${LIBC_INCLUDE_SOURCE_DIR} ${absolute_path})
|
||||
set(out_file ${LIBC_INCLUDE_DIR}/${relative_path})
|
||||
if (ADD_GEN_HDR_PROXY)
|
||||
set(out_file ${LIBC_BUILD_DIR}/hdr/${relative_path})
|
||||
set(proxy_arg "--proxy")
|
||||
else()
|
||||
set(out_file ${LIBC_INCLUDE_DIR}/${relative_path})
|
||||
endif()
|
||||
set(dep_file "${out_file}.d")
|
||||
set(yaml_file ${CMAKE_SOURCE_DIR}/${ADD_GEN_HDR_YAML_FILE})
|
||||
|
||||
@ -113,6 +118,7 @@ function(add_gen_header target_name)
|
||||
--output ${out_file}
|
||||
--depfile ${dep_file}
|
||||
--write-if-changed
|
||||
${proxy_arg}
|
||||
${entry_points}
|
||||
${yaml_file}
|
||||
DEPENDS ${yaml_file}
|
||||
|
||||
@ -92,6 +92,7 @@ function(create_object_library fq_target_name)
|
||||
)
|
||||
target_include_directories(${fq_target_name} SYSTEM PRIVATE ${LIBC_INCLUDE_DIR})
|
||||
target_include_directories(${fq_target_name} PRIVATE ${LIBC_SOURCE_DIR})
|
||||
target_include_directories(${fq_target_name} PRIVATE ${LIBC_BUILD_DIR})
|
||||
target_compile_options(${fq_target_name} PRIVATE ${compile_options})
|
||||
|
||||
#loop through the deps, check if any have the TARGET_TYPE of ENTRYPOINT_OBJ_TARGET_TYPE, and print a warning if they do.
|
||||
|
||||
@ -290,6 +290,7 @@ function(create_libc_unittest fq_target_name)
|
||||
)
|
||||
target_include_directories(${fq_build_target_name} SYSTEM PRIVATE ${LIBC_INCLUDE_DIR})
|
||||
target_include_directories(${fq_build_target_name} PRIVATE ${LIBC_SOURCE_DIR})
|
||||
target_include_directories(${fq_build_target_name} PRIVATE ${LIBC_BUILD_DIR})
|
||||
target_compile_options(${fq_build_target_name} PRIVATE ${compile_options})
|
||||
target_link_options(${fq_build_target_name} PRIVATE ${link_options})
|
||||
|
||||
|
||||
@ -88,6 +88,7 @@ PROXY_TEMPLATE = """\
|
||||
#ifdef LIBC_FULL_BUILD
|
||||
|
||||
{include_lines}
|
||||
{macro_lines}
|
||||
|
||||
#else // Overlay mode
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user