mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-10 18:10:56 +09:00
LibWeb: Generate a clang module map file, including generated headers
This commit is contained in:
parent
e45b7b0a86
commit
d105b1d4f8
Notes:
github-actions[bot]
2024-08-19 10:58:00 +00:00
Author: https://github.com/ADKaster
Commit: d105b1d4f8
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1107
Reviewed-by: https://github.com/jamierocks
2 changed files with 37 additions and 20 deletions
|
@ -96,20 +96,21 @@ function (generate_css_implementation)
|
|||
NAMESPACE "Web::CSS"
|
||||
)
|
||||
|
||||
set(CSS_GENERATED_HEADERS
|
||||
"CSS/Enums.h"
|
||||
"CSS/Keyword.h"
|
||||
"CSS/MathFunctions.h"
|
||||
"CSS/MediaFeatureID.h"
|
||||
"CSS/PropertyID.h"
|
||||
"CSS/PseudoClass.h"
|
||||
"CSS/TransformFunctions.h"
|
||||
)
|
||||
list(TRANSFORM CSS_GENERATED_HEADERS PREPEND "${CMAKE_CURRENT_BINARY_DIR}/")
|
||||
if (ENABLE_INSTALL_HEADERS)
|
||||
set(CSS_GENERATED_TO_INSTALL
|
||||
"CSS/Enums.h"
|
||||
"CSS/Keyword.h"
|
||||
"CSS/MathFunctions.h"
|
||||
"CSS/MediaFeatureID.h"
|
||||
"CSS/PropertyID.h"
|
||||
"CSS/PseudoClass.h"
|
||||
"CSS/TransformFunctions.h"
|
||||
)
|
||||
list(TRANSFORM CSS_GENERATED_TO_INSTALL PREPEND "${CMAKE_CURRENT_BINARY_DIR}/")
|
||||
install(FILES ${CSS_GENERATED_TO_INSTALL} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/LibWeb/CSS")
|
||||
install(FILES ${CSS_GENERATED_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/LibWeb/CSS")
|
||||
endif()
|
||||
|
||||
list(APPEND LIBWEB_ALL_GENERATED_HEADERS ${CSS_GENERATED_HEADERS})
|
||||
set(LIBWEB_ALL_GENERATED_HEADERS ${LIBWEB_ALL_GENERATED_HEADERS} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function (generate_js_bindings target)
|
||||
|
@ -175,12 +176,16 @@ function (generate_js_bindings target)
|
|||
add_dependencies(all_generated generate_${basename})
|
||||
add_dependencies(${target} generate_${basename})
|
||||
|
||||
set(BINDINGS_HEADERS ${BINDINGS_SOURCES})
|
||||
list(FILTER BINDINGS_HEADERS INCLUDE REGEX "\.h$")
|
||||
|
||||
if (ENABLE_INSTALL_HEADERS)
|
||||
# install generated sources
|
||||
list(FILTER BINDINGS_SOURCES INCLUDE REGEX "\.h$")
|
||||
install(FILES ${BINDINGS_SOURCES} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/LibWeb/Bindings")
|
||||
install(FILES ${BINDINGS_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/LibWeb/Bindings")
|
||||
endif()
|
||||
|
||||
list(APPEND LIBWEB_ALL_GENERATED_HEADERS ${BINDINGS_HEADERS})
|
||||
set(LIBWEB_ALL_GENERATED_HEADERS ${LIBWEB_ALL_GENERATED_HEADERS} PARENT_SCOPE)
|
||||
|
||||
list(APPEND LIBWEB_ALL_IDL_FILES "${LIBWEB_INPUT_FOLDER}/${class}.idl")
|
||||
set(LIBWEB_ALL_IDL_FILES ${LIBWEB_ALL_IDL_FILES} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
@ -212,14 +217,20 @@ function (generate_js_bindings target)
|
|||
add_dependencies(all_generated generate_exposed_interfaces)
|
||||
add_dependencies(${target} generate_exposed_interfaces)
|
||||
|
||||
list(TRANSFORM exposed_interface_sources PREPEND "${CMAKE_CURRENT_BINARY_DIR}/")
|
||||
set(exposed_interface_headers ${exposed_interface_sources})
|
||||
list(FILTER exposed_interface_headers INCLUDE REGEX "\.h$")
|
||||
|
||||
if (ENABLE_INSTALL_HEADERS)
|
||||
list(FILTER exposed_interface_sources INCLUDE REGEX "\.h$")
|
||||
list(TRANSFORM exposed_interface_sources PREPEND "${CMAKE_CURRENT_BINARY_DIR}/")
|
||||
install(FILES ${exposed_interface_sources} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/LibWeb/Bindings")
|
||||
install(FILES ${exposed_interface_headers} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/LibWeb/Bindings")
|
||||
endif()
|
||||
|
||||
list(APPEND LIBWEB_ALL_GENERATED_HEADERS ${exposed_interface_headers})
|
||||
set(LIBWEB_ALL_GENERATED_HEADERS ${LIBWEB_ALL_GENERATED_HEADERS} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
include("idl_files.cmake")
|
||||
generate_exposed_interface_files()
|
||||
|
||||
set(LIBWEB_ALL_GENERATED_HEADERS ${LIBWEB_ALL_GENERATED_HEADERS} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
|
|
@ -777,5 +777,11 @@ target_link_libraries(LibWeb PRIVATE LibCore LibCrypto LibJS LibHTTP LibGfx LibI
|
|||
|
||||
generate_js_bindings(LibWeb)
|
||||
|
||||
# Note: If you're looking for the calls to "libweb_js_bindings()",
|
||||
# they have been moved to "idl_files.cmake"
|
||||
if (ENABLE_SWIFT)
|
||||
set(generated_headers ${GENERATED_SOURCES})
|
||||
list(FILTER generated_headers INCLUDE REGEX "\\.h$")
|
||||
list(TRANSFORM generated_headers PREPEND "${CMAKE_CURRENT_BINARY_DIR}/")
|
||||
list(APPEND LIBWEB_ALL_GENERATED_HEADERS ${generated_headers})
|
||||
|
||||
generate_clang_module_map(LibWeb GENERATED_FILES ${LIBWEB_ALL_GENERATED_HEADERS})
|
||||
endif()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue