Update ffmpeg 2.1.3 -> 5.0.1
Old ffmpeg has a lot of vulnerabilities that have been fixed in newer versions, see https://www.cvedetails.com/vulnerability-list/vendor_id-3611/Ffmpeg.html.
This commit is contained in:
@@ -17,7 +17,7 @@ set(CPACK_NSIS_URL_INFO_ABOUT "https://www.itgmania.com/")
|
||||
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
|
||||
set(CPACK_RESOURCE_FILE_README "${SM_ROOT_DIR}/README.md")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${SM_CMAKE_DIR}/license_install.txt")
|
||||
set(CPACK_PACKAGE_EXECUTABLES "${SM_EXE_NAME}" "ITGmania ${SM_VERSION_MAJOR}")
|
||||
set(CPACK_PACKAGE_EXECUTABLES "${SM_EXE_NAME}" "ITGmania")
|
||||
set(CPACK_NSIS_MUI_ICON "${SM_INSTALLER_DIR}/install.ico")
|
||||
set(CPACK_NSIS_MUI_UNIICON "${SM_INSTALLER_DIR}/uninstall.ico")
|
||||
set(CPACK_NSIS_COMPRESSOR "/SOLID lzma")
|
||||
|
||||
@@ -27,9 +27,6 @@ option(
|
||||
"Build without the ROLC assembly instructions for tomcrypt."
|
||||
OFF)
|
||||
|
||||
# Turn this option off to not use the GPL exclusive components.
|
||||
option(WITH_GPL_LIBS "Build with GPL libraries." ON)
|
||||
|
||||
# Turn this option off to disable using WAV files with the game. Note that it is
|
||||
# recommended to keep this on.
|
||||
option(WITH_WAV "Build with WAV Support." ON)
|
||||
@@ -79,7 +76,6 @@ elseif(LINUX)
|
||||
option(WITH_SYSTEM_FFMPEG
|
||||
"Build with the system's FFMPEG, disabled build with bundled's FFMPEG"
|
||||
OFF)
|
||||
option(WITH_CRYSTALHD_DISABLED "Build FFMPEG without Crystal HD support." OFF)
|
||||
option(WITH_MINIMAID "Build with Minimaid Lights Support." OFF)
|
||||
option(WITH_TTY "Build with Linux TTY Input Support." OFF)
|
||||
option(WITH_PROFILING "Build with Profiling Support." OFF)
|
||||
|
||||
@@ -3,13 +3,17 @@
|
||||
# The following will be set:
|
||||
|
||||
# VA_INCLUDE_DIR VA_LIBRARY VA_FOUND
|
||||
# VA_DRM_INCLUDE_DIR VA_DRM_LIBRARY VA_DRM_FOUND
|
||||
|
||||
find_path(VA_INCLUDE_DIR NAMES va/va.h)
|
||||
find_path(VA_DRM_INCLUDE_DIR NAMES va/va_drm.h)
|
||||
|
||||
set(VA_NAMES "${VA_NAMES}" "va" "libva")
|
||||
find_library(VA_LIBRARY NAMES ${VA_NAMES})
|
||||
find_library(VA_LIBRARY NAMES "va" REQUIRED)
|
||||
find_library(VA_DRM_LIBRARY NAMES "va-drm" REQUIRED)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(VA DEFAULT_MSG VA_LIBRARY VA_INCLUDE_DIR)
|
||||
find_package_handle_standard_args(VA_DRM DEFAULT_MSG VA_DRM_LIBRARY VA_DRM_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(VA_LIBRARY VA_INCLUDE_DIR)
|
||||
mark_as_advanced(VA_LIBRARY VA_INCLUDE_DIR
|
||||
VA_DRM_LIBRARY VA_DRM_INCLUDE_DIR)
|
||||
|
||||
@@ -599,9 +599,9 @@ FunctionEnd
|
||||
|
||||
; Modify the settings for MUI_PAGE_FINISH here.
|
||||
!define MUI_FINISHPAGE_NOAUTOCLOSE
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\Program\StepMania.exe"
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\Program\ITGmania.exe"
|
||||
!define MUI_FINISHPAGE_RUN_NOTCHECKED
|
||||
!define MUI_FINISHPAGE_RUN_TEXT "Launch StepMania"
|
||||
!define MUI_FINISHPAGE_RUN_TEXT "Launch ITGmania"
|
||||
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
@@ -696,7 +696,7 @@ Section "-Core installation"
|
||||
Push "@CPACK_PACKAGE_VERSION@"
|
||||
Call ConditionalAddToRegisty
|
||||
Push "Comments"
|
||||
Push "StepMania @CPACK_PACKAGE_VERSION_MAJOR@ is a rhythm game simulator."
|
||||
Push "ITGmania is a rhythm game simulator."
|
||||
Call ConditionalAddToRegisty
|
||||
Push "Publisher"
|
||||
Push "@CPACK_PACKAGE_VENDOR@"
|
||||
@@ -738,15 +738,15 @@ Section "-Core installation"
|
||||
|
||||
; Associate SMZIP files. (Yes, we still use them it seems)
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile" "" "SMZIP package"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile\DefaultIcon" "" "$INSTDIR\Program\StepMania.exe,1"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile\shell\open\command" "" '"$INSTDIR\Program\StepMania.exe" "%1"'
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile\DefaultIcon" "" "$INSTDIR\Program\ITGmania.exe,1"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile\shell\open\command" "" '"$INSTDIR\Program\ITGmania.exe" "%1"'
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\.smzip" "" "smzipfile"
|
||||
|
||||
; Associate SMURL protocol.
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\stepmania" "" "StepMania protocol handler"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\stepmania" "" "ITGmania protocol handler"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\stepmania" "URL Protocol" ""
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\stepmania\DefaultIcon" "" "$INSTDIR\Program\StepMania.exe"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\stepmania\shell\open\command" "" '"$INSTDIR\Program\StepMania.exe" "%1"'
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\stepmania\DefaultIcon" "" "$INSTDIR\Program\ITGmania.exe"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\stepmania\shell\open\command" "" '"$INSTDIR\Program\ITGmania.exe" "%1"'
|
||||
|
||||
!insertmacro MUI_INSTALLOPTIONS_READ $INSTALL_DESKTOP "NSIS.InstallOptions.ini" "Field 5" "State"
|
||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
|
||||
|
||||
+26
-67
@@ -5,32 +5,27 @@ if(CMAKE_GENERATOR MATCHES "Ninja")
|
||||
)
|
||||
endif()
|
||||
|
||||
set(SM_FFMPEG_VERSION "2.1.3")
|
||||
set(SM_FFMPEG_SRC_LIST
|
||||
"${SM_EXTERN_DIR}"
|
||||
"/ffmpeg-linux-"
|
||||
"${SM_FFMPEG_VERSION}")
|
||||
list(JOIN SM_FFMPEG_SRC_LIST "" SM_FFMPEG_SRC_DIR)
|
||||
set(SM_FFMPEG_SRC_DIR "${SM_EXTERN_DIR}/ffmpeg")
|
||||
set(SM_FFMPEG_CONFIGURE_EXE "${SM_FFMPEG_SRC_DIR}/configure")
|
||||
if(MINGW)
|
||||
# Borrow from http://stackoverflow.com/q/11845823 string(SUBSTRING
|
||||
# ${SM_FFMPEG_CONFIGURE_EXE} 0 1 FIRST_LETTER) string(TOLOWER ${FIRST_LETTER}
|
||||
# FIRST_LETTER_LOW) string(REPLACE "${FIRST_LETTER}:" "/${FIRST_LETTER_LOW}" #
|
||||
# SM_FFMPEG_CONFIGURE_EXE ${SM_FFMPEG_CONFIGURE_EXE}) string(REGEX REPLACE
|
||||
# "\\\\" "/" SM_FFMPEG_CONFIGURE_EXE "${SM_FFMPEG_CONFIGURE_EXE}")
|
||||
set(SM_FFMPEG_CONFIGURE_EXE
|
||||
"extern/ffmpeg-linux-${SM_FFMPEG_VERSION}/configure")
|
||||
endif()
|
||||
|
||||
list(APPEND FFMPEG_CONFIGURE
|
||||
"${SM_FFMPEG_CONFIGURE_EXE}"
|
||||
"--disable-programs"
|
||||
"--disable-doc"
|
||||
"--disable-autodetect"
|
||||
"--disable-avdevice"
|
||||
"--disable-swresample"
|
||||
"--disable-postproc"
|
||||
"--disable-avfilter"
|
||||
"--disable-shared"
|
||||
"--disable-devices"
|
||||
"--disable-doc"
|
||||
"--disable-filters"
|
||||
"--disable-lzma"
|
||||
"--disable-network"
|
||||
"--disable-postproc"
|
||||
"--disable-programs"
|
||||
"--disable-swresample"
|
||||
"--enable-bzlib"
|
||||
"--enable-gpl"
|
||||
"--enable-pthreads"
|
||||
"--enable-static"
|
||||
"--enable-zlib"
|
||||
"--prefix=/")
|
||||
|
||||
if(CMAKE_POSITION_INDEPENDENT_CODE)
|
||||
@@ -40,16 +35,10 @@ endif()
|
||||
if(MACOSX)
|
||||
find_program(FFMPEG_YASM_EXECUTABLE yasm
|
||||
PATHS /usr/bin /usr/local/bin /opt/local/bin)
|
||||
list(APPEND FFMPEG_CONFIGURE "--yasmexe=${FFMPEG_YASM_EXECUTABLE}")
|
||||
list(APPEND FFMPEG_CONFIGURE "--disable-asm")
|
||||
endif()
|
||||
|
||||
if(WITH_GPL_LIBS)
|
||||
list(APPEND FFMPEG_CONFIGURE "--enable-gpl")
|
||||
endif()
|
||||
|
||||
if(WITH_CRYSTALHD_DISABLED)
|
||||
list(APPEND FFMPEG_CONFIGURE "--disable-crystalhd")
|
||||
list(APPEND FFMPEG_CONFIGURE "--x86asmexe=${FFMPEG_YASM_EXECUTABLE}")
|
||||
list(APPEND FFMPEG_CONFIGURE "--enable-videotoolbox")
|
||||
else()
|
||||
list(APPEND FFMPEG_CONFIGURE "--enable-vaapi")
|
||||
endif()
|
||||
|
||||
if(NOT WITH_EXTERNAL_WARNINGS)
|
||||
@@ -62,43 +51,13 @@ if(WITH_FFMPEG_JOBS GREATER 0)
|
||||
endif()
|
||||
list(APPEND SM_FFMPEG_MAKE "&&" "make" "DESTDIR=./dest" "install")
|
||||
|
||||
if(IS_DIRECTORY "${SM_FFMPEG_SRC_DIR}")
|
||||
externalproject_add("ffmpeg"
|
||||
SOURCE_DIR
|
||||
"${SM_FFMPEG_SRC_DIR}"
|
||||
CONFIGURE_COMMAND
|
||||
${FFMPEG_CONFIGURE}
|
||||
BUILD_COMMAND
|
||||
"${SM_FFMPEG_MAKE}"
|
||||
UPDATE_COMMAND
|
||||
""
|
||||
INSTALL_COMMAND
|
||||
""
|
||||
TEST_COMMAND
|
||||
"")
|
||||
else()
|
||||
# --shlibdir=$our_installdir/stepmania-$VERSION
|
||||
externalproject_add("ffmpeg"
|
||||
DOWNLOAD_COMMAND
|
||||
git
|
||||
clone
|
||||
"--branch"
|
||||
"n${SM_FFMPEG_VERSION}"
|
||||
"--depth"
|
||||
"1"
|
||||
"https://github.com/stepmania/ffmpeg.git"
|
||||
"${SM_FFMPEG_SRC_DIR}"
|
||||
CONFIGURE_COMMAND
|
||||
"${FFMPEG_CONFIGURE}"
|
||||
BUILD_COMMAND
|
||||
"${SM_FFMPEG_MAKE}"
|
||||
UPDATE_COMMAND
|
||||
""
|
||||
INSTALL_COMMAND
|
||||
""
|
||||
TEST_COMMAND
|
||||
"")
|
||||
endif()
|
||||
externalproject_add("ffmpeg"
|
||||
SOURCE_DIR "${SM_FFMPEG_SRC_DIR}"
|
||||
CONFIGURE_COMMAND ${FFMPEG_CONFIGURE}
|
||||
BUILD_COMMAND "${SM_FFMPEG_MAKE}"
|
||||
UPDATE_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
TEST_COMMAND "")
|
||||
|
||||
externalproject_get_property("ffmpeg" BINARY_DIR)
|
||||
set(SM_FFMPEG_LIB ${BINARY_DIR}/dest/lib)
|
||||
|
||||
Reference in New Issue
Block a user