From 1668caf3381c3f91dd9a6a32b3de6b56a11d4dd1 Mon Sep 17 00:00:00 2001 From: nyanmisaka Date: Fri, 4 Jul 2025 13:42:12 +0800 Subject: [PATCH] Revert "chore[cmake]: compile both dynamic and static libraries" Signed-off-by: nyanmisaka --- mpp/CMakeLists.txt | 48 ++++++++++++++++++++++------------------------ 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/mpp/CMakeLists.txt b/mpp/CMakeLists.txt index ccbbc0ec..d796ec30 100644 --- a/mpp/CMakeLists.txt +++ b/mpp/CMakeLists.txt @@ -49,15 +49,19 @@ set (MPP_SRC set(MPP_VERSION "0") set(MPP_ABI_VERSION "1") -add_library(${MPP_SHARED} SHARED ${MPP_SRC}) -target_link_libraries(${MPP_SHARED} ${ASAN_LIB}) -set_target_properties(${MPP_SHARED} PROPERTIES C_VISIBILITY_PRESET default) -set_target_properties(${MPP_SHARED} PROPERTIES CXX_VISIBILITY_PRESET default) +if(BUILD_SHARED_LIBS) + add_library(${MPP_SHARED} SHARED ${MPP_SRC}) + target_link_libraries(${MPP_SHARED} ${ASAN_LIB}) + set_target_properties(${MPP_SHARED} PROPERTIES C_VISIBILITY_PRESET default) + set_target_properties(${MPP_SHARED} PROPERTIES CXX_VISIBILITY_PRESET default) -# NOTE: due to legacy libray naming issue we can not support version on Android -if (NOT ANDROID) -set_target_properties(${MPP_SHARED} PROPERTIES VERSION ${MPP_VERSION}) -set_target_properties(${MPP_SHARED} PROPERTIES SOVERSION ${MPP_ABI_VERSION}) + # NOTE: due to legacy libray naming issue we can not support version on Android + if (NOT ANDROID) + set_target_properties(${MPP_SHARED} PROPERTIES VERSION ${MPP_VERSION}) + set_target_properties(${MPP_SHARED} PROPERTIES SOVERSION ${MPP_ABI_VERSION}) + endif() +else() + add_library(${MPP_SHARED} STATIC ${MPP_SRC}) endif() set_target_properties(${MPP_SHARED} PROPERTIES FOLDER "mpp") @@ -65,23 +69,17 @@ set_target_properties(${MPP_SHARED} PROPERTIES CLEAN_DIRECT_OUTPUT 1) target_link_libraries(${MPP_SHARED} mpp_codec mpp_hal mpp_vproc kmpp ${BEGIN_WHOLE_ARCHIVE} mpp_base kmpp_base osal ${END_WHOLE_ARCHIVE}) -# build static library -add_library(${MPP_STATIC} STATIC ${MPP_SRC}) -set_target_properties(${MPP_STATIC} PROPERTIES FOLDER "mpp" OUTPUT_NAME "${MPP_SHARED}") -set_target_properties(${MPP_STATIC} PROPERTIES CLEAN_DIRECT_OUTPUT 1) -target_link_libraries(${MPP_STATIC} mpp_codec mpp_hal mpp_vproc kmpp - ${BEGIN_WHOLE_ARCHIVE} mpp_base kmpp_base osal ${END_WHOLE_ARCHIVE}) - -add_custom_command(TARGET ${MPP_STATIC} POST_BUILD - COMMAND ${CMAKE_AR} x $ - COMMAND ${CMAKE_AR} rcs lib${MPP_SHARED}.a *.o - COMMAND ${CMAKE_SOURCE_DIR}/merge_static_lib.sh ${CMAKE_BINARY_DIR} ${MPP_SHARED} - COMMAND ${CMAKE_STRIP} --strip-debug lib${MPP_SHARED}.a - COMMAND pwd - COMMAND rm *.o - ) add_subdirectory(legacy) -install(TARGETS ${MPP_SHARED} LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") -install(TARGETS ${MPP_STATIC} ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") +if(BUILD_SHARED_LIBS) + install(TARGETS ${MPP_SHARED} LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") +else() + add_custom_command(TARGET ${MPP_SHARED} POST_BUILD + COMMAND ${CMAKE_SOURCE_DIR}/merge_static_lib.sh ${CMAKE_BINARY_DIR} ${MPP_SHARED}_merged + COMMAND ${CMAKE_STRIP} --strip-debug ${CMAKE_BINARY_DIR}/mpp/lib${MPP_SHARED}.a + COMMENT "Building a merged static lib." + ) + + install(FILES ${CMAKE_BINARY_DIR}/mpp/lib${MPP_SHARED}_merged.a TYPE LIB RENAME lib${MPP_SHARED}.a) +endif()