fix[cmake]: Fix double object include issue

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I6cf264917d6091154408dfc327c45d4f66ed8c18
This commit is contained in:
Herman Chen
2025-04-03 18:13:59 +08:00
parent adf21e18ba
commit b01bd3346a
7 changed files with 11 additions and 14 deletions

View File

@@ -4,6 +4,7 @@
# add include directory
# ----------------------------------------------------------------------------
include_directories(${PROJECT_SOURCE_DIR}/mpp/codec/inc)
include_directories(${PROJECT_SOURCE_DIR}/osal/driver/inc)
# ----------------------------------------------------------------------------
# add kmpp base component
@@ -17,7 +18,6 @@ set (KMPP_SRC
kmpp.c
)
add_library(kmpp STATIC ${KMPP_SRC})
target_link_libraries(kmpp kmpp_base)
add_library(kmpp OBJECT ${KMPP_SRC})
set_target_properties(kmpp PROPERTIES FOLDER "kmpp")

View File

@@ -3,13 +3,12 @@
# ----------------------------------------------------------------------------
# add kmpp basic components
# ----------------------------------------------------------------------------
add_library(kmpp_base STATIC
add_library(kmpp_base OBJECT
kmpp_obj.c
kmpp_frame.c
kmpp_venc_cfg.c
)
target_link_libraries(kmpp_base osal)
set_target_properties(kmpp_base PROPERTIES FOLDER "kmpp/base")
# unit test

View File

@@ -63,19 +63,17 @@ 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 kmpp
${BEGIN_WHOLE_ARCHIVE} mpp_base kmpp_base ${END_WHOLE_ARCHIVE})
${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 ${END_WHOLE_ARCHIVE})
${BEGIN_WHOLE_ARCHIVE} mpp_base kmpp_base osal ${END_WHOLE_ARCHIVE})
add_custom_command(TARGET ${MPP_STATIC} POST_BUILD
COMMAND ${CMAKE_AR} x $<TARGET_FILE:${MPP_STATIC}>
COMMAND ${CMAKE_AR} x $<TARGET_FILE:osal>
COMMAND ${CMAKE_AR} x $<TARGET_FILE:mpp_base>
COMMAND ${CMAKE_AR} rcs lib${MPP_SHARED}.a *.o
COMMAND ${CMAKE_STRIP} --strip-debug lib${MPP_SHARED}.a
COMMAND pwd

View File

@@ -3,7 +3,7 @@
# ----------------------------------------------------------------------------
# add mpp basic components
# ----------------------------------------------------------------------------
add_library(mpp_base STATIC
add_library(mpp_base OBJECT
mpp_enc_refs.cpp
mpp_enc_ref.cpp
mpp_enc_cfg.cpp
@@ -30,7 +30,7 @@ add_library(mpp_base STATIC
set_target_properties(mpp_base PROPERTIES FOLDER "mpp/base")
target_link_libraries(mpp_base osal)
#target_link_libraries(mpp_base osal)
# unit test
add_subdirectory(test)

View File

@@ -3,7 +3,7 @@
# ----------------------------------------------------------------------------
# add mpp_dec implement
# ----------------------------------------------------------------------------
add_library(mpp_codec STATIC
add_library(mpp_codec OBJECT
mpp_enc_impl.cpp
mpp_enc_v2.cpp
enc_impl.cpp
@@ -13,7 +13,7 @@ add_library(mpp_codec STATIC
mpp_parser.cpp
)
add_library(mpp_rc STATIC mpp_rc.cpp)
add_library(mpp_rc OBJECT mpp_rc.cpp)
set_target_properties(mpp_codec PROPERTIES FOLDER "mpp/codec")

View File

@@ -13,7 +13,7 @@ macro(add_mpp_rc_test module)
option(${test_tag} "Build rc ${module} unit test" ${BUILD_TEST})
if(${test_tag})
add_executable(${test_name} ${test_name}.c)
target_link_libraries(${test_name} enc_rc mpp_base ${ASAN_LIB})
target_link_libraries(${test_name} ${MPP_SHARED} ${ASAN_LIB})
set_target_properties(${test_name} PROPERTIES FOLDER "osal/test")
add_test(NAME ${test_name} COMMAND ${test_name})
endif()

View File

@@ -26,7 +26,7 @@ set(MPP_DRIVER
driver/mpp_vcodec_client.c
)
add_library(osal STATIC
add_library(osal OBJECT
mpp_soc.cpp
mpp_platform.cpp
mpp_runtime.cpp