mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 01:47:35 +00:00
Meta: Make the WrapperGenerator generate includes based on imports
We no longer include all the things, so each generated IDL file only depends on the things it actually needs now. A possible downside is that all IDL files have to explicitly import their dependencies. Note that non-IDL dependencies still remain and are injected into all generated files, this can be resolved later if desired by allowing IDL files to import headers.
This commit is contained in:
parent
a59800b4a0
commit
d8388f30c8
2 changed files with 177 additions and 270 deletions
|
@ -362,9 +362,11 @@ function(libweb_js_wrapper class)
|
|||
foreach(iter RANGE "${bindings_end}")
|
||||
list(GET BINDINGS_SOURCES ${iter} bindings_src)
|
||||
list(GET BINDINGS_TYPES ${iter} bindings_type)
|
||||
get_property(include_paths DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
|
||||
list(TRANSFORM include_paths PREPEND -i)
|
||||
add_custom_command(
|
||||
OUTPUT "${bindings_src}"
|
||||
COMMAND "$<TARGET_FILE:Lagom::WrapperGenerator>" "--${bindings_type}" "${CMAKE_CURRENT_SOURCE_DIR}/${class}.idl" "${CMAKE_CURRENT_SOURCE_DIR}/" > "${bindings_src}.tmp"
|
||||
COMMAND "$<TARGET_FILE:Lagom::WrapperGenerator>" "--${bindings_type}" ${include_paths} "${CMAKE_CURRENT_SOURCE_DIR}/${class}.idl" "${CMAKE_CURRENT_SOURCE_DIR}/" > "${bindings_src}.tmp"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${bindings_src}.tmp" "${bindings_src}"
|
||||
COMMAND "${CMAKE_COMMAND}" -E remove "${bindings_src}.tmp"
|
||||
VERBATIM
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue