diff --git a/Meta/CMake/utils.cmake b/Meta/CMake/utils.cmake index 411aebcfbc4..8eb0bbd9596 100644 --- a/Meta/CMake/utils.cmake +++ b/Meta/CMake/utils.cmake @@ -53,9 +53,15 @@ endfunction() if (NOT COMMAND serenity_lib) function(serenity_lib target_name fs_name) + cmake_parse_arguments(PARSE_ARGV 2 SERENITY_LIB "" "TYPE" "") + + if ("${SERENITY_LIB_TYPE}" STREQUAL "") + set(SERENITY_LIB_TYPE SHARED) + endif() + serenity_install_headers(${target_name}) serenity_install_sources() - add_library(${target_name} SHARED ${SOURCES} ${GENERATED_SOURCES}) + add_library(${target_name} ${SERENITY_LIB_TYPE} ${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) diff --git a/Meta/Lagom/CMakeLists.txt b/Meta/Lagom/CMakeLists.txt index b621d35a7c3..7ed943ed28c 100644 --- a/Meta/Lagom/CMakeLists.txt +++ b/Meta/Lagom/CMakeLists.txt @@ -306,7 +306,13 @@ function(serenity_bin name) endfunction() function(serenity_lib name fs_name) - lagom_lib(${name} ${fs_name} SOURCES ${SOURCES} ${GENERATED_SOURCES}) + cmake_parse_arguments(PARSE_ARGV 2 SERENITY_LIB "" "TYPE" "") + + if ("${SERENITY_LIB_TYPE}" STREQUAL "") + set(SERENITY_LIB_TYPE SHARED) + endif() + + lagom_lib(${name} ${fs_name} LIBRARY_TYPE ${SERENITY_LIB_TYPE} SOURCES ${SOURCES} ${GENERATED_SOURCES}) endfunction() function(serenity_lib_static name fs_name)