diff --git a/mpp/CMakeLists.txt b/mpp/CMakeLists.txt index b1d55ab8..fad59b13 100644 --- a/mpp/CMakeLists.txt +++ b/mpp/CMakeLists.txt @@ -49,19 +49,15 @@ set (MPP_SRC set(MPP_VERSION "0") set(MPP_ABI_VERSION "1") -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) +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}) +# 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() set_target_properties(${MPP_SHARED} PROPERTIES FOLDER "mpp") @@ -69,17 +65,24 @@ set_target_properties(${MPP_SHARED} PROPERTIES CLEAN_DIRECT_OUTPUT 1) target_link_libraries(${MPP_SHARED} mpp_codec mpp_hal mpp_vproc ${BEGIN_WHOLE_ARCHIVE} mpp_base ${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 + ${BEGIN_WHOLE_ARCHIVE} mpp_base ${END_WHOLE_ARCHIVE}) + +add_custom_command(TARGET ${MPP_STATIC} POST_BUILD + COMMAND ${CMAKE_AR} x $ + COMMAND ${CMAKE_AR} x $ + COMMAND ${CMAKE_AR} x $ + COMMAND ${CMAKE_AR} rcs lib${MPP_SHARED}.a *.o + COMMAND ${CMAKE_STRIP} --strip-debug lib${MPP_SHARED}.a + COMMAND pwd + COMMAND rm *.o + ) add_subdirectory(legacy) -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() +install(TARGETS ${MPP_SHARED} LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") +install(TARGETS ${MPP_STATIC} ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")