1fa7767c5Sopenharmony_ci
2fa7767c5Sopenharmony_ci#include(${TOP_DIR}/src/CMakeLists.txt)
3fa7767c5Sopenharmony_ci
4fa7767c5Sopenharmony_ciset(GTEST_DIRS ${THIRD_PARTY_DIR}/gtest)
5fa7767c5Sopenharmony_ciset(MOCKCPP_DIR ${THIRD_PARTY_DIR}/mockcpp)
6fa7767c5Sopenharmony_ci
7fa7767c5Sopenharmony_ciinclude_directories(
8fa7767c5Sopenharmony_ci        ${GTEST_ROOT_DIR}/include
9fa7767c5Sopenharmony_ci        ${MOCKCPP_DIR}/include
10fa7767c5Sopenharmony_ci)
11fa7767c5Sopenharmony_ci
12fa7767c5Sopenharmony_ciset(sdl_inc_path ${THIRD_PARTY_DIR}/SDL2.0/include)
13fa7767c5Sopenharmony_ci
14fa7767c5Sopenharmony_ciif (MINGW)
15fa7767c5Sopenharmony_ciset(sdl_lib_path ${THIRD_PARTY_DIR}/SDL2.0/windows/lib/x64)
16fa7767c5Sopenharmony_ciset(gtest_lib_path ${GTEST_ROOT_DIR}/mingw64/lib/)
17fa7767c5Sopenharmony_cielse()
18fa7767c5Sopenharmony_ci    set(sdl_lib_path ${THIRD_PARTY_DIR}/SDL2.0/linux/lib)
19fa7767c5Sopenharmony_ci    set(sdl_inc_path ${THIRD_PARTY_DIR}/SDL2.0/linux/include)
20fa7767c5Sopenharmony_ci    set(gtest_lib_path ${THIRD_PARTY_DIR}/gtest/linux/lib)
21fa7767c5Sopenharmony_ci    set(curl_lib_path ${THIRD_PARTY_DIR}/curl/lib/linux)
22fa7767c5Sopenharmony_ciendif()
23fa7767c5Sopenharmony_ci
24fa7767c5Sopenharmony_ciinclude_directories(
25fa7767c5Sopenharmony_ci        ${sdl_inc_path}
26fa7767c5Sopenharmony_ci)
27fa7767c5Sopenharmony_cilink_directories(
28fa7767c5Sopenharmony_ci        ${sdl_lib_path}
29fa7767c5Sopenharmony_ci        ${gtest_lib_path}
30fa7767c5Sopenharmony_ci        ${curl_lib_path}
31fa7767c5Sopenharmony_ci)
32fa7767c5Sopenharmony_ci
33fa7767c5Sopenharmony_cifile(GLOB_RECURSE FOUNDATION_SRCS
34fa7767c5Sopenharmony_ci        ${TOP_DIR}/src/meta/*.cpp
35fa7767c5Sopenharmony_ci        ${TOP_DIR}/../3rdparty/gtest/mingw64/src/gtest/src/hwext/*.cpp
36fa7767c5Sopenharmony_ci        ${TOP_DIR}/../3rdparty/gtest/mingw64/src/gtest/src/hwext/*.cc
37fa7767c5Sopenharmony_ci        )
38fa7767c5Sopenharmony_ciADD_DEFINITIONS(
39fa7767c5Sopenharmony_ci        -DHST_ANY_WITH_NO_RTTI
40fa7767c5Sopenharmony_ci        -DMEDIA_NO_OHOS
41fa7767c5Sopenharmony_ci)
42fa7767c5Sopenharmony_ci#message(STATUS "ut ----------------")
43fa7767c5Sopenharmony_ci#message(${FOUNDATION_SRCS})
44fa7767c5Sopenharmony_ci#message(STATUS "ut ut ----------------")
45fa7767c5Sopenharmony_ci
46fa7767c5Sopenharmony_cifile(GLOB NEW_UT_TEST_SRCS ./meta/*.cpp)
47fa7767c5Sopenharmony_ci
48fa7767c5Sopenharmony_ciset(METATEST_SRCS
49fa7767c5Sopenharmony_ci        ${FOUNDATION_SRCS}
50fa7767c5Sopenharmony_ci        ${NEW_UT_TEST_SRCS}
51fa7767c5Sopenharmony_ci        ${3RDPARTY_SRCS}
52fa7767c5Sopenharmony_ci        ../main.cpp
53fa7767c5Sopenharmony_ci        )
54fa7767c5Sopenharmony_ci
55fa7767c5Sopenharmony_ciadd_executable(histreamer_new_unittest ${METATEST_SRCS})
56fa7767c5Sopenharmony_ci
57fa7767c5Sopenharmony_cilink_directories(
58fa7767c5Sopenharmony_ci        ${MOCKCPP_DIR}/lib/
59fa7767c5Sopenharmony_ci        /usr/local/lib
60fa7767c5Sopenharmony_ci)
61fa7767c5Sopenharmony_ci
62fa7767c5Sopenharmony_citarget_compile_definitions(histreamer_new_unittest PRIVATE NEW_UNIT_TEST)
63fa7767c5Sopenharmony_ci
64fa7767c5Sopenharmony_ciif (MSVC)
65fa7767c5Sopenharmony_ci    target_link_libraries(histreamer_new_unittest
66fa7767c5Sopenharmony_ci            ${GTEST_ROOT_DIR}/lib/gtestd.lib
67fa7767c5Sopenharmony_ci            ${MOCKCPP_DIR}/lib/mockcpp.lib
68fa7767c5Sopenharmony_ci            pthreadVC2.lib
69fa7767c5Sopenharmony_ci            )
70fa7767c5Sopenharmony_cielseif (MINGW)
71fa7767c5Sopenharmony_ci    set(sdl_path ${THIRD_PARTY_DIR}/SDL2.0/windows)
72fa7767c5Sopenharmony_ci    target_link_libraries(histreamer_new_unittest
73fa7767c5Sopenharmony_ci            ${sdl_path}/lib/x64/SDL2.lib
74fa7767c5Sopenharmony_ci            gtest
75fa7767c5Sopenharmony_ci            ${MOCKCPP_DIR}/lib/libmockcpp_mingw8.a
76fa7767c5Sopenharmony_ci            )
77fa7767c5Sopenharmony_ci    message(STATUS "CMAKE_BINARY_DIR: ${CMAKE_BINARY_DIR}")
78fa7767c5Sopenharmony_ci    file(GLOB sdl_shared_libraries ${sdl_path}/lib/x64/*.dll)
79fa7767c5Sopenharmony_ci    file(COPY ${sdl_shared_libraries} DESTINATION ${CMAKE_BINARY_DIR}/_deps/media_foundation-build/tests/unittest)
80fa7767c5Sopenharmony_cielse ()
81fa7767c5Sopenharmony_ci    target_link_libraries(media_foundation_unit_test
82fa7767c5Sopenharmony_ci            dl
83fa7767c5Sopenharmony_ci            m
84fa7767c5Sopenharmony_ci            /usr/lib/x86_64-linux-gnu/libz.so.1
85fa7767c5Sopenharmony_ci            SDL2-2.0
86fa7767c5Sopenharmony_ci            gtest
87fa7767c5Sopenharmony_ci            gtest_main
88fa7767c5Sopenharmony_ci            pthread
89fa7767c5Sopenharmony_ci            ${MOCKCPP_DIR}/lib/libmockcpp.a
90fa7767c5Sopenharmony_ci            curl
91fa7767c5Sopenharmony_ci            )
92fa7767c5Sopenharmony_ciendif ()
93fa7767c5Sopenharmony_ciadd_test(Test histreamer_new_ut)
94fa7767c5Sopenharmony_cienable_testing()
95