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 ./*.cpp) 41 42file(GLOB UT_TEST_PLUGINS ./plugins/*.cpp) 43 44set(SRC 45 ${HISTREAMER_SRCS} 46 ${UT_TEST_SRCS} 47 ${UT_TEST_PLUGINS} 48 ${3RDPARTY_SRCS} 49 ../main.cpp 50 ) 51 52add_executable(histreamer_unittest ${SRC}) 53 54link_directories( 55 ${MOCKCPP_DIR}/lib/ 56 /usr/local/lib 57) 58 59target_compile_definitions(histreamer_unittest PRIVATE UNIT_TEST) 60 61if (MSVC) 62 target_link_libraries(histreamer_unittest 63 ${GTEST_ROOT_DIR}/lib/gtestd.lib 64 ${MOCKCPP_DIR}/lib/mockcpp.lib 65 pthreadVC2.lib 66 ) 67elseif (MINGW) 68 set(ffmpeg_path ${THIRD_PARTY_DIR}/ffmpeg/windows) 69 set(sdl_path ${THIRD_PARTY_DIR}/SDL2.0/windows) 70 target_link_libraries(histreamer_unittest 71 # dl 72 ${sdl_path}/lib/x64/SDL2.lib 73 ${ffmpeg_path}/lib/libavcodec.dll.a 74 ${ffmpeg_path}/lib/libswresample.dll.a 75 ${ffmpeg_path}/lib/libavformat.dll.a 76 ${ffmpeg_path}/lib/libavutil.dll.a 77 ${ffmpeg_path}/lib/libavdevice.dll.a 78 ${ffmpeg_path}/lib/libavfilter.dll.a 79 ${ffmpeg_path}/lib/libswscale.dll.a 80 gtest 81 ${MOCKCPP_DIR}/lib/libmockcpp_mingw8.a 82 ) 83 message(STATUS "CMAKE_BINARY_DIR: ${CMAKE_BINARY_DIR}") 84 file(GLOB ffmpeg_shared_libraries ${ffmpeg_path}/bin/*.dll) 85 file(GLOB sdl_shared_libraries ${sdl_path}/lib/x64/*.dll) 86 file(COPY ${ffmpeg_shared_libraries} DESTINATION ${CMAKE_BINARY_DIR}/_deps/media_foundation-build/test/unittest) 87 file(COPY ${sdl_shared_libraries} DESTINATION ${CMAKE_BINARY_DIR}/_deps/media_foundation-build/test/unittest) 88else () 89 target_link_libraries(histreamer_unittest 90 dl 91 ${ffmpeg_lib_path}/libavformat.a 92 ${ffmpeg_lib_path}/libavcodec.a 93 ${ffmpeg_lib_path}/libavdevice.a 94 ${ffmpeg_lib_path}/libavfilter.a 95 ${ffmpeg_lib_path}/libavutil.a 96 ${ffmpeg_lib_path}/libswscale.a 97 ${ffmpeg_lib_path}/libswresample.a 98 ${ffmpeg_lib_path}/liblzma.a 99 m 100 /usr/lib/x86_64-linux-gnu/libz.so.1 101 SDL2-2.0 102 gtest 103 gtest_main 104 pthread 105 ${MOCKCPP_DIR}/lib/libmockcpp.a 106 curl 107 ) 108endif () 109add_test(Test histreamer_ut) 110enable_testing() 111