diff --git a/mpp/CMakeLists.txt b/mpp/CMakeLists.txt index fd96c978..b1d55ab8 100644 --- a/mpp/CMakeLists.txt +++ b/mpp/CMakeLists.txt @@ -49,39 +49,37 @@ set (MPP_SRC set(MPP_VERSION "0") set(MPP_ABI_VERSION "1") -add_library(${MPP_SHARED} SHARED ${MPP_SRC}) +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}) + endif() +else() + add_library(${MPP_SHARED} STATIC ${MPP_SRC}) +endif() + set_target_properties(${MPP_SHARED} PROPERTIES FOLDER "mpp") set_target_properties(${MPP_SHARED} PROPERTIES CLEAN_DIRECT_OUTPUT 1) -target_link_libraries(${MPP_SHARED} mpp_codec mpp_hal mpp_vproc ${ASAN_LIB} +target_link_libraries(${MPP_SHARED} mpp_codec mpp_hal mpp_vproc ${BEGIN_WHOLE_ARCHIVE} mpp_base ${END_WHOLE_ARCHIVE}) -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}) -endif() add_subdirectory(legacy) if(BUILD_SHARED_LIBS) install(TARGETS ${MPP_SHARED} LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") - else() - add_library(${MPP_STATIC} STATIC ${MPP_SRC}) - set_target_properties(${MPP_STATIC} PROPERTIES FOLDER "mpp") - set_target_properties(${MPP_STATIC} PROPERTIES CLEAN_DIRECT_OUTPUT 1) - target_link_libraries(${MPP_STATIC} mpp_codec mpp_hal mpp_vproc - ${BEGIN_WHOLE_ARCHIVE} mpp_base ${END_WHOLE_ARCHIVE}) - - add_custom_command(TARGET ${MPP_STATIC} POST_BUILD - COMMAND ${CMAKE_SOURCE_DIR}/merge_static_lib.sh ${CMAKE_BINARY_DIR} ${MPP_SHARED} + 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}.a TYPE LIB) - + install(FILES ${CMAKE_BINARY_DIR}/mpp/lib${MPP_SHARED}_merged.a TYPE LIB RENAME lib${MPP_SHARED}.a) endif()