CMakeLists.txt 2.45 KB
Newer Older
1
execute_process(COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/ssl.p12 ${EXECUTABLE_OUTPUT_PATH}/)
2 3

#查找SDL2是否安装
xiongziliang committed
4 5 6 7
find_package(SDL2 QUIET)
if (SDL2_FOUND)
    include_directories(${SDL2_INCLUDE_DIR})
    list(APPEND LINK_LIB_LIST ${SDL2_LIBRARY})
8
    message(STATUS "found library:${SDL2_LIBRARY}")
xiongziliang committed
9
endif (SDL2_FOUND)
xzl committed
10

11 12
find_package(PkgConfig QUIET)

xzl committed
13
#查找ffmpeg/libutil是否安装
14 15 16
if(PKG_CONFIG_FOUND)
    pkg_check_modules(AVUTIL QUIET IMPORTED_TARGET libavutil)
    if(AVUTIL_FOUND)
17
        include_directories(${AVUTIL_INCLUDE_DIRS})
18 19 20
        link_directories(${AVUTIL_LIBRARY_DIRS})
        list(APPEND  LINK_LIB_LIST ${AVUTIL_LIBRARIES})
        message(STATUS "found library:${AVUTIL_LIBRARIES}")
21 22 23 24 25 26 27 28
    endif()
else()
    find_package(AVUTIL QUIET)
    if(AVUTIL_FOUND)
        include_directories(${AVUTIL_INCLUDE_DIR})
        list(APPEND  LINK_LIB_LIST ${AVUTIL_LIBRARIES})
        message(STATUS "found library:${AVUTIL_LIBRARIES}")
    endif()
29
endif()
xzl committed
30 31

#查找ffmpeg/libavcodec是否安装
32 33 34
if(PKG_CONFIG_FOUND)
    pkg_check_modules(AVCODEC QUIET IMPORTED_TARGET libavcodec)
    if(AVCODEC_FOUND)
35
        include_directories(${AVCODEC_INCLUDE_DIRS})
36 37 38
        link_directories(${AVCODEC_LIBRARY_DIRS})
        list(APPEND  LINK_LIB_LIST ${AVCODEC_LIBRARIES})
        message(STATUS "found library:${AVCODEC_LIBRARIES}")
39 40 41 42 43 44 45 46
    endif()
else()
    find_package(AVCODEC QUIET)
    if(AVCODEC_FOUND)
        include_directories(${AVCODEC_INCLUDE_DIR})
        list(APPEND  LINK_LIB_LIST ${AVCODEC_LIBRARIES})
        message(STATUS "found library:${AVCODEC_LIBRARIES}")
    endif()
47
endif()
xzl committed
48

49
aux_source_directory(. TEST_SRC_LIST)
xzl committed
50
#如果ffmpeg/libavcodec ffmpeg/libavcodec SDL 都安装了则编译 test_player
xiongziliang committed
51
if(SDL2_FOUND AND AVCODEC_FOUND AND AVUTIL_FOUND)
52
else()
xiongziliang committed
53
    message(STATUS "test_player ingored, please install sdl2 ffmpeg/libavcodec ffmpeg/libavutil")
54
    list(REMOVE_ITEM TEST_SRC_LIST ./test_player.cpp)
55
endif()
56

57 58
foreach(TEST_SRC ${TEST_SRC_LIST})
    STRING(REGEX REPLACE "^\\./|\\.c[a-zA-Z0-9_]*$" "" TEST_EXE_NAME ${TEST_SRC})
59
    message(STATUS "add test:${TEST_EXE_NAME}")
60
    add_executable(${TEST_EXE_NAME} ${TEST_SRC})
61 62 63 64

	if(WIN32)
		set_target_properties(${TEST_EXE_NAME} PROPERTIES COMPILE_FLAGS ${VS_FALGS} )
	endif(WIN32)
xiongziliang committed
65
    target_link_libraries(${TEST_EXE_NAME} ${LINK_LIB_LIST})
66
endforeach()
xzl committed
67

xiongziliang committed
68
if(MSVC AND SDL2_FOUND AND AVCODEC_FOUND AND AVUTIL_FOUND)
69
    set_target_properties(test_player PROPERTIES LINK_FLAGS "/SAFESEH:NO /SUBSYSTEM:WINDOWS" )
xiongziliang committed
70
endif()
xzl committed
71 72 73 74 75 76 77 78 79 80 81 82