1##########################################################################################" 2# VS Style management of ffmpeg libs 3# We raw import binaries from somewhere else as they have been compiled with mingw 4# 5# Add -DIMPORT_FOLDER=foobar on cmake 6# 7# 8##########################################################################################" 9IF(NOT IMPORT_FOLDER) 10 SET(IMPORT_FOLDER "d://import//") #Default value 11ENDIF(NOT IMPORT_FOLDER) 12MESSAGE(STATUS "Importing ffmpeg binaries from ${IMPORT_FOLDER}") 13 14SET(LIB_IMPORT_FOLDER "${IMPORT_FOLDER}\\lib") 15INCLUDE_DIRECTORIES(${IMPORT_FOLDER}/include) 16LINK_DIRECTORIES(${IMPORT_FOLDER}/lib) 17set(LIBAVCODEC_LIB ${IMPORT_FOLDER}/lib/avcodec.lib) 18set(LIBAVFORMAT_LIB ${IMPORT_FOLDER}/lib/avformat.lib) 19set(LIBAVUTIL_LIB ${IMPORT_FOLDER}/lib/avutil.lib) 20set(LIBPOSTPROC_LIB ${IMPORT_FOLDER}/lib/postproc.lib) 21set(LIBSWSCALE_LIB ${IMPORT_FOLDER}/lib/swscale.lib) 22 23# Actual lib 24 25add_library(ADM_libswscale UNKNOWN IMPORTED) 26add_library(ADM_libpostproc UNKNOWN IMPORTED) 27add_library(ADM_libavutil UNKNOWN IMPORTED) 28add_library(ADM_libavcodec UNKNOWN IMPORTED) 29add_library(ADM_libavformat UNKNOWN IMPORTED) 30 31 32set_property(TARGET ADM_libswscale PROPERTY IMPORTED_LOCATION "${LIBSWSCALE_LIB}") 33set_property(TARGET ADM_libpostproc PROPERTY IMPORTED_LOCATION "${LIBPOSTPROC_LIB}") 34set_property(TARGET ADM_libavutil PROPERTY IMPORTED_LOCATION "${LIBAVUTIL_LIB}") 35set_property(TARGET ADM_libavcodec PROPERTY IMPORTED_LOCATION "${LIBAVCODEC_LIB}") 36set_property(TARGET ADM_libavformat PROPERTY IMPORTED_LOCATION "${LIBAVFORMAT_LIB}") 37 38# install .dll.a 39ADM_INSTALL_LIB_FILES("${LIBAVCODEC_LIB}") 40ADM_INSTALL_LIB_FILES("${LIBAVFORMAT_LIB}") 41ADM_INSTALL_LIB_FILES("${LIBAVUTIL_LIB}") 42ADM_INSTALL_LIB_FILES("${LIBPOSTPROC_LIB}") 43ADM_INSTALL_LIB_FILES("${LIBSWSCALE_LIB}") 44#INSTALL .dll => TODO 45 46# install header 47INSTALL(FILES "${IMPORT_FOLDER}/include/libavutil/avconfig.h" DESTINATION "${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/libavutil" COMPONENT dev) 48 49INSTALL(FILES "${IMPORT_FOLDER}/include/libavcodec/avcodec.h" "${IMPORT_FOLDER}/include/libavcodec/vdpau.h" 50 "${IMPORT_FOLDER}/include/libavcodec/version.h" 51 #"${IMPORT_FOLDER}/include/libavcodec/audioconvert.h" 52 53 DESTINATION "${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/libavcodec" COMPONENT dev) 54 55INSTALL(FILES "${IMPORT_FOLDER}/include/libavformat/avformat.h" "${IMPORT_FOLDER}/include/libavformat/avio.h" 56 "${IMPORT_FOLDER}/include/libavformat/version.h" 57 "${IMPORT_FOLDER}/include/libavformat/flv.h" 58 DESTINATION "${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/libavformat" COMPONENT dev) 59 60INSTALL(FILES "${IMPORT_FOLDER}/include/libavutil/attributes.h" 61 "${IMPORT_FOLDER}/include/libavutil/avutil.h" 62 "${IMPORT_FOLDER}/include/libavutil/buffer.h" 63 "${IMPORT_FOLDER}/include/libavutil/bswap.h" 64 "${IMPORT_FOLDER}/include/libavutil/common.h" 65 "${IMPORT_FOLDER}/include/libavutil/cpu.h" 66 "${IMPORT_FOLDER}/include/libavutil/frame.h" 67 "${IMPORT_FOLDER}/include/libavutil/log.h" 68 "${IMPORT_FOLDER}/include/libavutil/mathematics.h" 69 "${IMPORT_FOLDER}/include/libavutil/mem.h" 70 "${IMPORT_FOLDER}/include/libavutil/pixfmt.h" 71 "${IMPORT_FOLDER}/include/libavutil/pixdesc.h" 72 "${IMPORT_FOLDER}/include/libavutil/channel_layout.h" 73 "${IMPORT_FOLDER}/include/libavutil/error.h" 74 "${IMPORT_FOLDER}/include/libavutil/dict.h" 75 "${IMPORT_FOLDER}/include/libavutil/version.h" 76 "${IMPORT_FOLDER}/include/libavutil/time.h" 77 "${IMPORT_FOLDER}/include/libavutil/opt.h" 78 "${IMPORT_FOLDER}/include/libavutil/intfloat.h" 79 "${IMPORT_FOLDER}/include/libavutil/macros.h" 80 "${IMPORT_FOLDER}/include/libavutil/samplefmt.h" 81 "${IMPORT_FOLDER}/include/libavutil/rational.h" 82 "${IMPORT_FOLDER}/include/libavutil/hwcontext_dxva2.h" 83 "${IMPORT_FOLDER}/include/libavutil/hwcontext.h" 84 DESTINATION "${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/libavutil" COMPONENT dev) 85 86INSTALL(FILES "${IMPORT_FOLDER}/include/libpostproc/postprocess.h" DESTINATION "${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/libpostproc" COMPONENT dev) 87INSTALL(FILES "${IMPORT_FOLDER}/include/libpostproc/version.h" DESTINATION "${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/libpostproc" COMPONENT dev) 88INSTALL(FILES "${IMPORT_FOLDER}/include/libswscale/swscale.h" DESTINATION "${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/libswscale" COMPONENT dev) 89INSTALL(FILES "${IMPORT_FOLDER}/include/libswscale/version.h" DESTINATION "${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/libswscale" COMPONENT dev) 90 91 92IF(USE_DXVA2) 93 INSTALL(FILES "${IMPORT_FOLDER}/include/libavcodec/dxva2.h" DESTINATION "${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/libavcodec" COMPONENT dev) 94 INSTALL(FILES "${IMPORT_FOLDER}/include/libavcodec/d3d11va.h" DESTINATION "${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/libavcodec" COMPONENT dev) 95 INSTALL(FILES "${IMPORT_FOLDER}/include/libavcodec/dxva2_internal.h" DESTINATION "${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/libavcodec" COMPONENT dev) 96ENDIF(USE_DXVA2) 97 98#The above install the .libs 99# also install the .dll manually 100 101FILE(GLOB ffmpegDll "${IMPORT_FOLDER}/lib/*-*.dll") 102FOREACH(one ${ffmpegDll}) 103 ADM_INSTALL_LIB_FILES(${one}) 104ENDFOREACH(one ${ffmpegDll}) 105# EOF 106