mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 10:38:13 +00:00
Meta: Build select Services in Lagom
Add overrides for serenity_bin and serenity_lib to allow the actual CMakeLists.txt from Userland to be used to build as many services as possible without adding more clutter to Meta/Lagom/CMakeLists.txt
This commit is contained in:
parent
2b29e611fe
commit
0a62fcfbdf
3 changed files with 93 additions and 44 deletions
|
@ -33,27 +33,31 @@ function(serenity_generated_sources target_name)
|
|||
endif()
|
||||
endfunction()
|
||||
|
||||
function(serenity_lib target_name fs_name)
|
||||
serenity_install_headers(${target_name})
|
||||
serenity_install_sources()
|
||||
add_library(${target_name} SHARED ${SOURCES} ${GENERATED_SOURCES})
|
||||
set_target_properties(${target_name} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
||||
set_target_properties(${target_name} PROPERTIES VERSION "serenity")
|
||||
install(TARGETS ${target_name} DESTINATION ${CMAKE_INSTALL_LIBDIR} OPTIONAL)
|
||||
set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${fs_name})
|
||||
serenity_generated_sources(${target_name})
|
||||
endfunction()
|
||||
if (NOT COMMAND serenity_lib)
|
||||
function(serenity_lib target_name fs_name)
|
||||
serenity_install_headers(${target_name})
|
||||
serenity_install_sources()
|
||||
add_library(${target_name} SHARED ${SOURCES} ${GENERATED_SOURCES})
|
||||
set_target_properties(${target_name} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
||||
set_target_properties(${target_name} PROPERTIES VERSION "serenity")
|
||||
install(TARGETS ${target_name} DESTINATION ${CMAKE_INSTALL_LIBDIR} OPTIONAL)
|
||||
set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${fs_name})
|
||||
serenity_generated_sources(${target_name})
|
||||
endfunction()
|
||||
endif()
|
||||
|
||||
function(serenity_lib_static target_name fs_name)
|
||||
serenity_install_headers(${target_name})
|
||||
serenity_install_sources()
|
||||
add_library(${target_name} STATIC ${SOURCES} ${GENERATED_SOURCES})
|
||||
set_target_properties(${target_name} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
||||
set_target_properties(${target_name} PROPERTIES VERSION "serenity")
|
||||
install(TARGETS ${target_name} DESTINATION ${CMAKE_INSTALL_LIBDIR} OPTIONAL)
|
||||
set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${fs_name})
|
||||
serenity_generated_sources(${target_name})
|
||||
endfunction()
|
||||
if (NOT COMMAND serenity_lib_static)
|
||||
function(serenity_lib_static target_name fs_name)
|
||||
serenity_install_headers(${target_name})
|
||||
serenity_install_sources()
|
||||
add_library(${target_name} STATIC ${SOURCES} ${GENERATED_SOURCES})
|
||||
set_target_properties(${target_name} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
||||
set_target_properties(${target_name} PROPERTIES VERSION "serenity")
|
||||
install(TARGETS ${target_name} DESTINATION ${CMAKE_INSTALL_LIBDIR} OPTIONAL)
|
||||
set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${fs_name})
|
||||
serenity_generated_sources(${target_name})
|
||||
endfunction()
|
||||
endif()
|
||||
|
||||
function(serenity_libc target_name fs_name)
|
||||
serenity_install_headers("")
|
||||
|
@ -81,13 +85,15 @@ function(serenity_libc target_name fs_name)
|
|||
serenity_generated_sources(${target_name})
|
||||
endfunction()
|
||||
|
||||
function(serenity_bin target_name)
|
||||
serenity_install_sources()
|
||||
add_executable(${target_name} ${SOURCES})
|
||||
set_target_properties(${target_name} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
||||
install(TARGETS ${target_name} RUNTIME DESTINATION bin OPTIONAL)
|
||||
serenity_generated_sources(${target_name})
|
||||
endfunction()
|
||||
if (NOT COMMAND serenity_bin)
|
||||
function(serenity_bin target_name)
|
||||
serenity_install_sources()
|
||||
add_executable(${target_name} ${SOURCES})
|
||||
set_target_properties(${target_name} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
||||
install(TARGETS ${target_name} RUNTIME DESTINATION bin OPTIONAL)
|
||||
serenity_generated_sources(${target_name})
|
||||
endfunction()
|
||||
endif()
|
||||
|
||||
function(serenity_test test_src sub_dir)
|
||||
cmake_parse_arguments(PARSE_ARGV 2 SERENITY_TEST "MAIN_ALREADY_DEFINED" "CUSTOM_MAIN" "LIBS")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue