@@ -38,6 +38,8 @@ pkg_check_modules(LIBDASH REQUIRED libdash)
38
38
pkg_check_modules(OPENSSL REQUIRED openssl)
39
39
pkg_check_modules(LIBCJSON REQUIRED libcjson)
40
40
41
+ include (test /mocks/mocks.cmake NO_POLICY_SCOPE)
42
+
41
43
if (CMAKE_WPEFRAMEWORK_REQUIRED)
42
44
message ("CMAKE_WPEFRAMEWORK_REQUIRED set" )
43
45
list (APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR} /cmake/" )
@@ -157,7 +159,13 @@ if (CMAKE_WPEFRAMEWORK_REQUIRED)
157
159
endif ()
158
160
159
161
if (CMAKE_USE_SECCLIENT)
160
- set (SEC_CLIENT_LIB -lSecClient )
162
+ if (CMAKE_USE_SECCLIENT_MOCKS)
163
+ copy_staging_header_file(sec_client.h)
164
+ copy_staging_header_file(sec_security_datatype.h)
165
+ set (LIBAAMP_MOCK_SOURCES ${LIBAAMP_MOCK_SOURCES} test /mocks/secClientMocks.cpp)
166
+ else ()
167
+ set (SEC_CLIENT_LIB -lSecClient )
168
+ endif ()
161
169
endif ()
162
170
if (CMAKE_USE_SECMANAGER)
163
171
if (NOT CMAKE_WPEFRAMEWORK_REQUIRED)
@@ -224,6 +232,22 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-multichar -std=c++11 -Wno-non-virtu
224
232
if (CMAKE_IARM_MGR)
225
233
message ("CMAKE_IARM_MGR set" )
226
234
set (LIBAAMP_DEFINES "${LIBAAMP_DEFINES} -DIARM_MGR=1" )
235
+
236
+ if (CMAKE_IARM_MGR_MOCKS)
237
+ message ("CMAKE_IARM_MGR_MOCKS set, building IARM stubs" )
238
+ set (LIBAAMP_MOCK_SOURCES ${LIBAAMP_MOCK_SOURCES} test /mocks/iarmMgrMocks.cpp)
239
+ set (LIBAAMP_MOCK_DEPENDS -lgmock -lgtest)
240
+ find_path (STAGING_INCDIR rdk/iarmbus)
241
+ include_directories (${STAGING_INCDIR} /rdk/iarmbus)
242
+ find_path (STAGING_INCDIR rdk/tr69hostif)
243
+ include_directories (${STAGING_INCDIR} /rdk/tr69hostif)
244
+ find_path (STAGING_INCDIR rdk/ds)
245
+ include_directories (${STAGING_INCDIR} /rdk/ds
246
+ ${STAGING_INCDIR} /rdk/ds-hal
247
+ ${STAGING_INCDIR} /rdk/ds-rpc)
248
+ find_path (STAGING_INCDIR rdk/iarmmgrs/ir)
249
+ include_directories (${STAGING_INCDIR} /rdk/iarmmgrs/ir)
250
+ endif ()
227
251
endif ()
228
252
229
253
if (CMAKE_PLATFORM_UBUNTU)
@@ -297,7 +321,7 @@ if(CMAKE_USE_OPENCDM OR CMAKE_USE_OPENCDM_ADAPTER)
297
321
)
298
322
set (LIBAAMP_DEFINES "${LIBAAMP_DEFINES} -DDRM_BUILD_PROFILE=DRM_BUILD_PROFILE_OEM -DTARGET_LITTLE_ENDIAN=1 -DTARGET_SUPPORTS_UNALIGNED_DWORD_POINTERS=0" )
299
323
300
- if (CMAKE_IARM_MGR)
324
+ if (CMAKE_IARM_MGR AND NOT CMAKE_IARM_MGR_MOCKS )
301
325
set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -lIARMBus -lds -ldshalcli" )
302
326
endif ()
303
327
@@ -321,7 +345,11 @@ if(CMAKE_USE_OPENCDM OR CMAKE_USE_OPENCDM_ADAPTER)
321
345
message ("Forced RTK ION libraries to ${REALTEK_ION_LIBRARY} " )
322
346
endif ()
323
347
link_directories (${REALTEK_ION_LIBRARY} )
324
- set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -lion -lrtk_ion" )
348
+ if (CMAKE_USE_ION_MEMORY_MOCKS)
349
+ set (LIBAAMP_MOCK_SOURCES ${LIBAAMP_MOCK_SOURCES} test /mocks/ionMemoryMocks.cpp)
350
+ else ()
351
+ set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -lion -lrtk_ion" )
352
+ endif ()
325
353
set (LIBAAMP_DEFINES "${LIBAAMP_DEFINES} -DUSE_ION_MEMORY" )
326
354
set (LIBAAMP_HELP_SOURCES "${LIBAAMP_HELP_SOURCES} " drm/AampIonMemorySystem.cpp)
327
355
else ()
@@ -368,7 +396,12 @@ if(CMAKE_USE_OPENCDM_ADAPTER)
368
396
if (DEFINED SAGE_SVP)
369
397
set (LIBAAMP_DEFINES "${LIBAAMP_DEFINES} -DCONTENT_4K_SUPPORTED" )
370
398
endif ()
371
- set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -locdm" )
399
+ if (CMAKE_USE_OPENCDM_ADAPTER_MOCKS)
400
+ set (LIBAAMP_MOCK_SOURCES ${LIBAAMP_MOCK_SOURCES} test /mocks/opencdmMocks.cpp)
401
+ set (LIBAAMP_MOCK_DEPENDS -lgmock -lgtest)
402
+ else ()
403
+ set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -locdm" )
404
+ endif ()
372
405
find_path (STAGING_INCDIR opencdm)
373
406
include_directories (${STAGING_INCDIR} /opencdm)
374
407
find_path (STAGING_INCDIR gstreamer-1.0)
@@ -399,7 +432,11 @@ elseif(CMAKE_CDM_DRM)
399
432
set (LIBAAMP_DRM_SOURCES "${LIBAAMP_DRM_SOURCES} " drm/playreadydrmsession.cpp )
400
433
set (LIBAAMP_HELP_SOURCES "${LIBAAMP_HELP_SOURCES} " drm/helper/AampPlayReadyHelper.cpp)
401
434
set (LIBAAMP_DEFINES "${LIBAAMP_DEFINES} -DUSE_PLAYREADY -DDRM_BUILD_PROFILE=DRM_BUILD_PROFILE_OEM -DTARGET_LITTLE_ENDIAN=1 -DTARGET_SUPPORTS_UNALIGNED_DWORD_POINTERS=0" )
402
- set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -lplayready" )
435
+ if (CMAKE_USE_PLAYREADY_MOCKS)
436
+ set (LIBAAMP_MOCK_SOURCES ${LIBAAMP_MOCK_SOURCES} test /fakes/playreadyFakes.cpp)
437
+ else ()
438
+ set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -lplayready" )
439
+ endif ()
403
440
find_path (STAGING_INCDIR playready)
404
441
find_path (STAGING_INCDIR playready/oem/common/inc)
405
442
find_path (STAGING_INCDIR playready/oem/ansi/inc)
@@ -411,24 +448,26 @@ elseif(CMAKE_CDM_DRM)
411
448
set (LIBAAMP_DEFINES "${LIBAAMP_DEFINES} -DUSE_SECAPI_BRCMHW=1" )
412
449
if (DEFINED SAGE_SVP)
413
450
set (LIBAAMP_DEFINES "${LIBAAMP_DEFINES} -DUSE_SAGE_SVP -DCONTENT_4K_SUPPORTED" )
414
- set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -lsec_api -lb_secbuf -lnexus -lbrcmsvpmeta" )
451
+ if (NOT CMAKE_USE_SEC_API_MOCKS)
452
+ set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -lsec_api -lb_secbuf -lnexus -lbrcmsvpmeta" )
453
+ endif ()
415
454
else ()
416
- if (CMAKE_USE_PLAYREADY)
455
+ if (CMAKE_USE_PLAYREADY AND NOT CMAKE_USE_SEC_API_MOCKS )
417
456
set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -lsec_api" )
418
- endif (CMAKE_USE_PLAYREADY )
457
+ endif ()
419
458
endif ()
420
459
elseif (DEFINED SECAPI_ENGINE_BROADCOM_RAAGA)
421
460
set (LIBAAMP_DEFINES "${LIBAAMP_DEFINES} -DUSE_SECAPI_BRCMHW=1" )
422
- if (CMAKE_USE_PLAYREADY)
461
+ if (CMAKE_USE_PLAYREADY AND NOT CMAKE_USE_SEC_API_MOCKS )
423
462
set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -lsec_api" )
424
463
endif ()
425
464
else ()
426
- if (CMAKE_USE_PLAYREADY)
465
+ if (CMAKE_USE_PLAYREADY AND NOT CMAKE_USE_SEC_API_MOCKS )
427
466
set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -lsec_api_crypto" )
428
467
endif ()
429
468
endif ()
430
469
431
- if (CMAKE_IARM_MGR)
470
+ if (CMAKE_IARM_MGR AND NOT CMAKE_IARM_MGR_MOCKS )
432
471
set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -lIARMBus -lds -ldshalcli" )
433
472
endif ()
434
473
endif ()
@@ -443,7 +482,13 @@ if (CMAKE_AAMP_RFC_REQUIRED)
443
482
message ("AAMP RFC set" )
444
483
set (LIBAAMP_DEFINES "${LIBAAMP_DEFINES} -DAAMP_RFC_ENABLED" )
445
484
set (LIBAAMP_SOURCES ${LIBAAMP_SOURCES} AampRfc.cpp)
446
- set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -ltr181api" )
485
+ if (CMAKE_USE_RFC_MOCKS)
486
+ copy_staging_header_file(tr181api.h)
487
+ set (LIBAAMP_MOCK_SOURCES ${LIBAAMP_MOCK_SOURCES} test /mocks/rfcMocks.cpp)
488
+ set (LIBAAMP_MOCK_DEPENDS -lgmock -lgtest)
489
+ else ()
490
+ set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -ltr181api" )
491
+ endif ()
447
492
endif ()
448
493
449
494
if (CMAKE_RDK_CC_ENABLED)
@@ -454,7 +499,16 @@ if (CMAKE_RDK_CC_ENABLED)
454
499
include_directories (closedcaptions/rdk)
455
500
set (LIBAAMP_DEFINES "${LIBAAMP_DEFINES} -DAAMP_RDK_CC_ENABLED" )
456
501
set (LIBAAMP_SOURCES ${LIBAAMP_SOURCES} closedcaptions/rdk/AampRDKCCManager.cpp)
457
- set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -lrdkCCReader -lrdkCCManager -lrdkCCGfx -l${DIRECTFB_LIBRARIES} " )
502
+ if (CMAKE_USE_CC_MANAGER_MOCKS)
503
+ find_path (STAGING_INCDIR closedcaption)
504
+ include_directories (${STAGING_INCDIR} /closedcaption)
505
+ include_directories (${STAGING_INCDIR} /closedcaption/ccGraphics)
506
+ include_directories (${STAGING_INCDIR} /closedcaption/ccManager)
507
+ set (LIBAAMP_MOCK_SOURCES ${LIBAAMP_MOCK_SOURCES} test /fakes/ccManagerFakes.cpp)
508
+ copy_staging_header_file(vlCCConstants.h)
509
+ else ()
510
+ set (LIBAAMP_DEPENDS "${LIBAAMP_DEPENDS} -lrdkCCReader -lrdkCCManager -lrdkCCGfx -l${DIRECTFB_LIBRARIES} " )
511
+ endif ()
458
512
endif ()
459
513
460
514
set (AAMP_SUBTEC_CLASS_SOURCES subtec/subtecparser/WebVttSubtecParser.cpp subtec/subtecparser/TtmlSubtecParser.cpp subtec/subtecparser/WebvttSubtecDevParser.cpp)
@@ -501,7 +555,7 @@ endif()
501
555
502
556
set (LIBAAMP_DEFINES "${LIBAAMP_DEFINES} ${SEC_CONTENT_METADATA_ENABLED} " )
503
557
504
- set (LIBAAMP_SOURCES "${LIBAAMP_SOURCES} " "${LIBAAMP_DRM_SOURCES} " )
558
+ set (LIBAAMP_SOURCES "${LIBAAMP_SOURCES} " "${LIBAAMP_DRM_SOURCES} " " ${LIBAAMP_MOCK_SOURCES} " )
505
559
506
560
add_library (aamp SHARED ${LIBAAMP_SOURCES} ${LIBAAMP_HELP_SOURCES} )
507
561
add_executable (aamp-cli ${AAMP_CLI_HEADERS} ${AAMP_CLI_SOURCES} )
@@ -567,7 +621,7 @@ endif()
567
621
568
622
message ("LIB_AAMP_DEPENDS is ${LIBAAMP_DEPENDS} " )
569
623
570
- target_link_libraries (aamp ${LIBAAMP_DEPENDS} )
624
+ target_link_libraries (aamp ${LIBAAMP_DEPENDS} ${LIBAAMP_MOCK_DEPENDS} )
571
625
572
626
if (CMAKE_WPEFRAMEWORK_REQUIRED)
573
627
# Remove compiler flag as it causes compilation issues with wpeframework headers
0 commit comments