Use shared libraries for liblooper, and playback backends/UI frontends.

This commit is contained in:
Zachary Hall 2024-12-09 15:26:26 -08:00
parent 58804677f2
commit 038fefd131

View file

@ -311,8 +311,8 @@ prefix_all(LIBRARY_SOURCES
base85.h base85.h
) )
run_protoc(OUTDIR ${CMAKE_BINARY_DIR}/google/protobuf SOURCE google/protobuf/any.proto OUTVAR _src) run_protoc(OUTDIR ${CMAKE_BINARY_DIR}/google/protobuf SOURCE google/protobuf/any.proto OUTVAR _src)
add_library(liblooper STATIC ${LIBRARY_SOURCES}) add_library(liblooper SHARED ${LIBRARY_SOURCES})
set_target_properties(liblooper PROPERTIES PREFIX "")
if(FOR_WASMER) if(FOR_WASMER)
target_compile_definitions(liblooper PUBLIC FOR_WASMER) target_compile_definitions(liblooper PUBLIC FOR_WASMER)
endif() endif()
@ -444,7 +444,8 @@ endif()
macro(add_ui_backend) macro(add_ui_backend)
set(ARGS ${ARGV}) set(ARGS ${ARGV})
list(POP_FRONT ARGS target) list(POP_FRONT ARGS target)
add_library(${target} STATIC ${ARGS}) add_library(${target} SHARED ${ARGS})
set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_NAME looper_frontend_${target})
message("Enabling UI backend '" ${target} "'...") message("Enabling UI backend '" ${target} "'...")
list(APPEND UI_BACKENDS ${target}) list(APPEND UI_BACKENDS ${target})
set(UI_BACKENDS ${UI_BACKENDS} PARENT_SCOPE) set(UI_BACKENDS ${UI_BACKENDS} PARENT_SCOPE)
@ -479,7 +480,8 @@ endmacro()
macro(add_playback_backend) macro(add_playback_backend)
set(ARGS ${ARGV}) set(ARGS ${ARGV})
list(POP_FRONT ARGS target) list(POP_FRONT ARGS target)
add_library(${target} STATIC ${ARGS}) add_library(${target} SHARED ${ARGS})
set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_NAME looper_playback_backend_${target})
message("Enabling playback backend '" ${target} "'...") message("Enabling playback backend '" ${target} "'...")
list(APPEND PLAYBACK_BACKENDS ${target}) list(APPEND PLAYBACK_BACKENDS ${target})
set(PLAYBACK_BACKENDS ${PLAYBACK_BACKENDS} PARENT_SCOPE) set(PLAYBACK_BACKENDS ${PLAYBACK_BACKENDS} PARENT_SCOPE)