• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2include(${TOP_DIR}/engine/CMakeLists.txt)
3
4set(GTEST_DIRS ${THIRD_PARTY_DIR}/gtest)
5set(MOCKCPP_DIR ${THIRD_PARTY_DIR}/mockcpp)
6
7include_directories(
8        ${GTEST_ROOT_DIR}/include
9        ${MOCKCPP_DIR}/include
10)
11
12set(ffmpeg_inc_path ${THIRD_PARTY_DIR}/ffmpeg/windows/include)
13set(sdl_inc_path ${THIRD_PARTY_DIR}/SDL2.0/include)
14
15if (MINGW)
16set(ffmpeg_lib_path ${THIRD_PARTY_DIR}/ffmpeg/windows/lib)
17set(sdl_lib_path ${THIRD_PARTY_DIR}/SDL2.0/windows/lib/x64)
18set(gtest_lib_path ${GTEST_ROOT_DIR}/mingw64/lib/)
19else()
20    set(ffmpeg_lib_path ${THIRD_PARTY_DIR}/ffmpeg/linux/lib)
21    set(ffmpeg_inc_path ${THIRD_PARTY_DIR}/ffmpeg/linux/include)
22    set(sdl_lib_path ${THIRD_PARTY_DIR}/SDL2.0/linux/lib)
23    set(sdl_inc_path ${THIRD_PARTY_DIR}/SDL2.0/linux/include)
24    set(gtest_lib_path ${THIRD_PARTY_DIR}/gtest/linux/lib)
25    set(curl_lib_path ${THIRD_PARTY_DIR}/curl/lib/linux)
26    message(STATUS "ut ${ffmpeg_lib_path}")
27endif()
28
29include_directories(
30        ${ffmpeg_inc_path}
31        ${sdl_inc_path}
32)
33link_directories(
34        ${ffmpeg_lib_path}
35        ${sdl_lib_path}
36        ${gtest_lib_path}
37        ${curl_lib_path}
38)
39
40file(GLOB UT_TEST_SRCS
41        ../st/helper/media_data_source_imp.cpp
42        ../st/helper/std_player.cpp
43        ./*.cpp
44        )
45
46file(GLOB UT_TEST_PLUGINS ./plugins/*.cpp)
47
48set(SRC
49        ${HISTREAMER_SRCS}
50        ${UT_TEST_SRCS}
51        ${UT_TEST_PLUGINS}
52        ${3RDPARTY_SRCS}
53        ../main.cpp
54        )
55
56add_executable(HiStreamerUtTests ${SRC})
57
58link_directories(
59        ${MOCKCPP_DIR}/lib/
60        /usr/local/lib
61)
62
63target_compile_definitions(HiStreamerUtTests PRIVATE UNIT_TEST)
64
65if (MSVC)
66    target_link_libraries(HiStreamerUtTests
67            ${GTEST_ROOT_DIR}/lib/gtestd.lib
68            ${MOCKCPP_DIR}/lib/mockcpp.lib
69            pthreadVC2.lib
70            )
71elseif (MINGW)
72    set(ffmpeg_path ${THIRD_PARTY_DIR}/ffmpeg/windows)
73    set(sdl_path ${THIRD_PARTY_DIR}/SDL2.0/windows)
74    target_link_libraries(HiStreamerUtTests
75            # dl
76            ${sdl_path}/lib/x64/SDL2.lib
77            ${ffmpeg_path}/lib/libavcodec.dll.a
78            ${ffmpeg_path}/lib/libswresample.dll.a
79            ${ffmpeg_path}/lib/libavformat.dll.a
80            ${ffmpeg_path}/lib/libavutil.dll.a
81            ${ffmpeg_path}/lib/libavdevice.dll.a
82            ${ffmpeg_path}/lib/libavfilter.dll.a
83            ${ffmpeg_path}/lib/libswscale.dll.a
84            gtest
85            ${MOCKCPP_DIR}/lib/libmockcpp_mingw8.a
86            )
87    message(STATUS "CMAKE_BINARY_DIR: ${CMAKE_BINARY_DIR}")
88    file(GLOB ffmpeg_shared_libraries ${ffmpeg_path}/bin/*.dll)
89    file(GLOB sdl_shared_libraries ${sdl_path}/lib/x64/*.dll)
90    file(COPY ${ffmpeg_shared_libraries} DESTINATION ${CMAKE_BINARY_DIR}/_deps/histreamer-build/tests/ut)
91    file(COPY ${sdl_shared_libraries} DESTINATION ${CMAKE_BINARY_DIR}/_deps/histreamer-build/tests/ut)
92else ()
93    target_link_libraries(HiStreamerUtTests
94            dl
95            ${ffmpeg_lib_path}/libavformat.a
96            ${ffmpeg_lib_path}/libavcodec.a
97            ${ffmpeg_lib_path}/libavdevice.a
98            ${ffmpeg_lib_path}/libavfilter.a
99            ${ffmpeg_lib_path}/libavutil.a
100            ${ffmpeg_lib_path}/libswscale.a
101            ${ffmpeg_lib_path}/libswresample.a
102            ${ffmpeg_lib_path}/liblzma.a
103            m
104            /usr/lib/x86_64-linux-gnu/libz.so.1
105            SDL2-2.0
106            gtest
107            gtest_main
108            pthread
109            ${MOCKCPP_DIR}/lib/libmockcpp.a
110            curl
111            )
112endif ()
113add_test(Test histreamer_ut)
114enable_testing()
115