Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RDKDEV-295 ONEM-25358 Split OCDM plugin into 'framework' and 'implementation' parts #2497

Merged
merged 1 commit into from
May 2, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
26 changes: 22 additions & 4 deletions OpenCDMi/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

set(PLUGIN_NAME OCDM)
set(MODULE_NAME ${NAMESPACE}${PLUGIN_NAME})
set(PLUGIN_OCDM_IMPLEMENTATION "${MODULE_NAME}Impl" CACHE STRING "Specify a library with a OCDM implementation." )

set(PLUGIN_OPENCDMI_AUTOSTART "true" CACHE STRING "Automatically start OpenCDMi plugin")
set(PLUGIN_OPENCDMI_MODE "Local" CACHE STRING "Controls if the plugin should run in its own process, in process or remote")
Expand All @@ -33,13 +34,18 @@ find_package(ocdm REQUIRED)
find_package(${NAMESPACE}Plugins REQUIRED)
find_package(CompileSettingsDebug CONFIG REQUIRED)

add_library(${MODULE_NAME} SHARED
add_library(${MODULE_NAME} SHARED
OCDM.cpp
OCDMJsonRpc.cpp
Module.cpp)

add_library(${PLUGIN_OCDM_IMPLEMENTATION} SHARED
CENCParser.cpp
FrameworkRPC.cpp
Module.cpp)

add_dependencies(${MODULE_NAME} ${PLUGIN_OCDM_IMPLEMENTATION})

# avoid -as-needed flag being set, this will break linking to libocdm.so
string(REPLACE "-Wl,--as-needed" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-as-needed")
Expand All @@ -48,13 +54,25 @@ set_target_properties(${MODULE_NAME} PROPERTIES
CXX_STANDARD 11
CXX_STANDARD_REQUIRED YES)

target_link_libraries(${MODULE_NAME}
set_target_properties(${PLUGIN_OCDM_IMPLEMENTATION} PROPERTIES
CXX_STANDARD 11
CXX_STANDARD_REQUIRED YES)

target_link_libraries(${MODULE_NAME}
PRIVATE
CompileSettingsDebug::CompileSettingsDebug
${NAMESPACE}Plugins::${NAMESPACE}Plugins
${NAMESPACE}Plugins::${NAMESPACE}Plugins)
target_link_libraries(${PLUGIN_OCDM_IMPLEMENTATION}
PRIVATE
CompileSettingsDebug::CompileSettingsDebug
${NAMESPACE}Plugins::${NAMESPACE}Plugins
ocdm::ocdm)

# Library definition section
install(TARGETS ${MODULE_NAME}
install(TARGETS ${MODULE_NAME}
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/${STORAGE_DIRECTORY}/plugins)

install(TARGETS ${PLUGIN_OCDM_IMPLEMENTATION}
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/${STORAGE_DIRECTORY}/plugins)

if("${CMAKE_FIND_ROOT_PATH}" STREQUAL "")
Expand Down
1 change: 1 addition & 0 deletions OpenCDMi/OCDM.config
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ if(PLUGIN_OPENCDMI_PLAYREADY_NEXUS OR PLUGIN_OPENCDMI_PLAYREADY_NEXUS_SVP OR PLU
endif()

map()
kv(locator lib${PLUGIN_OCDM_IMPLEMENTATION}.so)
kv(mode ${PLUGIN_OPENCDMI_MODE})
if(PLUGIN_OPENCDMI_USER)
kv(user ${PLUGIN_OPENCDMI_USER})
Expand Down