CMakeLists.txt 1.4 KB
Newer Older
xiongziliang committed
1 2 3 4 5 6 7
#查找SDL2是否安装
find_package(SDL2 QUIET)
if (SDL2_FOUND)
    include_directories(${SDL2_INCLUDE_DIR})
    list(APPEND LINK_LIB_LIST ${SDL2_LIBRARY})
    message(STATUS "found SDL2:${SDL2_INCLUDE_DIR},${SDL2_LIBRARY}")
endif (SDL2_FOUND)
xzl committed
8 9 10 11

#查找ffmpeg/libutil是否安装
find_package(AVUTIL QUIET)
if(AVUTIL_FOUND)
12 13
    include_directories(${AVUTIL_INCLUDE_DIR})
    list(APPEND  LINK_LIB_LIST ${AVUTIL_LIBRARIES})
14
    message(STATUS "found  libutil ${AVUTIL_LIBRARIES}")
15
endif()
xzl committed
16 17 18 19

#查找ffmpeg/libavcodec是否安装
find_package(AVCODEC QUIET)
if(AVCODEC_FOUND)
20 21
    include_directories(${AVCODEC_INCLUDE_DIR})
    list(APPEND  LINK_LIB_LIST ${AVCODEC_LIBRARIES})
22
    message(STATUS "found  libavcodec ${AVCODEC_LIBRARIES}")
23
endif()
xzl committed
24

25
aux_source_directory(. TEST_SRC_LIST)
xzl committed
26
#如果ffmpeg/libavcodec ffmpeg/libavcodec SDL 都安装了则编译 test_player
xiongziliang committed
27
if(SDL2_FOUND AND AVCODEC_FOUND AND AVUTIL_FOUND)
28
    message(STATUS "test_player will be compiled")
29
else()
xiongziliang committed
30
    message(STATUS "test_player ingored, please install sdl2 ffmpeg/libavcodec ffmpeg/libavutil")
31
    list(REMOVE_ITEM TEST_SRC_LIST ./test_player.cpp)
32
endif()
33

34 35
foreach(TEST_SRC ${TEST_SRC_LIST})
    STRING(REGEX REPLACE "^\\./|\\.c[a-zA-Z0-9_]*$" "" TEST_EXE_NAME ${TEST_SRC})
36
    message(STATUS "add test:${TEST_EXE_NAME}")
37
    add_executable(${TEST_EXE_NAME} ${TEST_SRC})
38
    target_link_libraries(${TEST_EXE_NAME} ${LINK_LIB_LIST})
39
endforeach()
xzl committed
40 41 42 43 44 45 46 47 48 49 50 51 52