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