mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-17 16:28:06 +03:00
Meta: Define and use lagom_tool() CMake helper function for all Tools
We'll use this to prevent repeating common tool dependencies. They all depend on LibCore and AK only. We also want to encapsulate common install rules for them.
This commit is contained in:
parent
567104607c
commit
a6d83e02d2
Notes:
sideshowbarker
2024-07-18 03:56:24 +09:00
Author: https://github.com/ADKaster Commit: https://github.com/SerenityOS/serenity/commit/a6d83e02d2b Pull-request: https://github.com/SerenityOS/serenity/pull/9297 Issue: https://github.com/SerenityOS/serenity/issues/9425 Reviewed-by: https://github.com/bgianfo
@ -1,2 +1,15 @@
|
||||
function(lagom_tool tool)
|
||||
cmake_parse_arguments(LAGOM_TOOL "" "" "SOURCES" ${ARGN})
|
||||
add_executable(${tool} ${SOURCES} ${LAGOM_TOOL_SOURCES})
|
||||
# alias for parity with exports
|
||||
add_executable(Lagom::${tool} ALIAS ${tool})
|
||||
target_link_libraries(${tool} LagomCore)
|
||||
install(
|
||||
TARGETS ${tool}
|
||||
EXPORT LagomTargets
|
||||
RUNTIME COMPONENT Lagom_Runtime
|
||||
)
|
||||
endfunction()
|
||||
|
||||
add_subdirectory(ConfigureComponents)
|
||||
add_subdirectory(CodeGenerators)
|
||||
|
@ -2,5 +2,4 @@ set(SOURCES
|
||||
main.cpp
|
||||
)
|
||||
|
||||
add_executable(IPCCompiler ${SOURCES})
|
||||
target_link_libraries(IPCCompiler LagomCore)
|
||||
lagom_tool(IPCCompiler)
|
||||
|
@ -1,5 +1,11 @@
|
||||
add_executable(GenerateUnicodeData GenerateUnicodeData.cpp)
|
||||
target_link_libraries(GenerateUnicodeData LagomCore)
|
||||
set(SOURCES
|
||||
GenerateUnicodeData.cpp
|
||||
)
|
||||
|
||||
add_executable(GenerateUnicodeLocale GenerateUnicodeLocale.cpp)
|
||||
target_link_libraries(GenerateUnicodeLocale LagomCore)
|
||||
lagom_tool(GenerateUnicodeData)
|
||||
|
||||
set(SOURCES
|
||||
GenerateUnicodeLocale.cpp
|
||||
)
|
||||
|
||||
lagom_tool(GenerateUnicodeLocale)
|
||||
|
@ -1,11 +1,8 @@
|
||||
add_executable(Generate_CSS_PropertyID_h Generate_CSS_PropertyID_h.cpp)
|
||||
add_executable(Generate_CSS_PropertyID_cpp Generate_CSS_PropertyID_cpp.cpp)
|
||||
add_executable(Generate_CSS_ValueID_h Generate_CSS_ValueID_h.cpp)
|
||||
add_executable(Generate_CSS_ValueID_cpp Generate_CSS_ValueID_cpp.cpp)
|
||||
add_executable(WrapperGenerator WrapperGenerator.cpp)
|
||||
set(SOURCES "") # avoid pulling SOURCES from parent scope
|
||||
|
||||
lagom_tool(Generate_CSS_PropertyID_h SOURCES Generate_CSS_PropertyID_h.cpp)
|
||||
lagom_tool(Generate_CSS_PropertyID_cpp SOURCES Generate_CSS_PropertyID_cpp.cpp)
|
||||
lagom_tool(Generate_CSS_ValueID_h SOURCES Generate_CSS_ValueID_h.cpp)
|
||||
lagom_tool(Generate_CSS_ValueID_cpp SOURCES Generate_CSS_ValueID_cpp.cpp)
|
||||
lagom_tool(WrapperGenerator SOURCES WrapperGenerator.cpp)
|
||||
target_compile_options(WrapperGenerator PUBLIC -g)
|
||||
target_link_libraries(Generate_CSS_PropertyID_h LagomCore)
|
||||
target_link_libraries(Generate_CSS_PropertyID_cpp LagomCore)
|
||||
target_link_libraries(Generate_CSS_ValueID_h LagomCore)
|
||||
target_link_libraries(Generate_CSS_ValueID_cpp LagomCore)
|
||||
target_link_libraries(WrapperGenerator LagomCore)
|
||||
|
@ -2,5 +2,4 @@ set(SOURCES
|
||||
main.cpp
|
||||
)
|
||||
|
||||
add_executable(StateMachineGenerator ${SOURCES})
|
||||
target_link_libraries(StateMachineGenerator LagomCore)
|
||||
lagom_tool(StateMachineGenerator)
|
||||
|
@ -2,5 +2,4 @@ set(SOURCES
|
||||
main.cpp
|
||||
)
|
||||
|
||||
add_executable(ConfigureComponents ${SOURCES})
|
||||
target_link_libraries(ConfigureComponents LagomCore)
|
||||
lagom_tool(ConfigureComponents)
|
||||
|
Loading…
Reference in New Issue
Block a user