set SDLMIXER_VENDORED to ON and vendor the required libraries into libs/SDL3_mixer/external
disable SDLMIXER_VORBIS_VORBISFILE add ogg v1.3.5-SDL add opus v1.4.x-SDL add opusfile v0.13-git-SDL
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
find_package(Ogg CONFIG)
|
||||
if(NOT TARGET Ogg::ogg)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(Ogg REQUIRED IMPORTED_TARGET ogg)
|
||||
set_target_properties(PkgConfig::Ogg PROPERTIES IMPORTED_GLOBAL TRUE)
|
||||
add_library(Ogg::ogg ALIAS PkgConfig::Ogg)
|
||||
endif()
|
||||
@@ -0,0 +1,7 @@
|
||||
find_package(Opus CONFIG)
|
||||
if(NOT TARGET Opus::opus)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(Opus REQUIRED IMPORTED_TARGET opus)
|
||||
set_target_properties(PkgConfig::Opus PROPERTIES IMPORTED_GLOBAL TRUE)
|
||||
add_library(Opus::opus ALIAS PkgConfig::Opus)
|
||||
endif()
|
||||
@@ -0,0 +1,52 @@
|
||||
@PACKAGE_INIT@
|
||||
|
||||
# Ported from CMakeFindDependencyMacro.cmake (finding configs and using pkgconfig as fallback)
|
||||
set(cmake_quiet_arg)
|
||||
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
|
||||
set(cmake_quiet_arg QUIET)
|
||||
endif()
|
||||
set(cmake_required_arg)
|
||||
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED)
|
||||
set(cmake_required_arg REQUIRED)
|
||||
endif()
|
||||
|
||||
find_package(Ogg CONFIG ${cmake_quiet_arg})
|
||||
if(NOT TARGET Ogg::ogg)
|
||||
find_package(PkgConfig REQUIRED ${cmake_quiet_arg})
|
||||
pkg_check_modules(Ogg ${cmake_required_arg} ${cmake_quiet_arg} IMPORTED_TARGET ogg)
|
||||
set_target_properties(PkgConfig::Ogg PROPERTIES IMPORTED_GLOBAL TRUE)
|
||||
add_library(Ogg::ogg ALIAS PkgConfig::Ogg)
|
||||
endif()
|
||||
|
||||
if (NOT TARGET Ogg::ogg)
|
||||
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "${CMAKE_FIND_PACKAGE_NAME} could not be found because dependency Ogg could not be found.")
|
||||
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND False)
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package(Opus CONFIG ${cmake_quiet_arg})
|
||||
if(NOT TARGET Opus::opus)
|
||||
find_package(PkgConfig REQUIRED ${cmake_quiet_arg})
|
||||
pkg_check_modules(Opus ${cmake_required_arg} ${cmake_quiet_arg} IMPORTED_TARGET opus)
|
||||
set_target_properties(PkgConfig::Opus PROPERTIES IMPORTED_GLOBAL TRUE)
|
||||
add_library(Opus::opus ALIAS PkgConfig::Opus)
|
||||
endif()
|
||||
|
||||
if (NOT TARGET Opus::opus)
|
||||
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "${CMAKE_FIND_PACKAGE_NAME} could not be found because dependency Opus could not be found.")
|
||||
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND False)
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(cmake_fd_required_arg)
|
||||
set(cmake_fd_quiet_arg)
|
||||
|
||||
if (NOT @OP_DISABLE_HTTP@)
|
||||
include(CMakeFindDependencyMacro)
|
||||
find_dependency(OpenSSL)
|
||||
endif()
|
||||
|
||||
# Including targets of opusfile
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/OpusFileTargets.cmake")
|
||||
|
||||
check_required_components(OpusFile)
|
||||
@@ -0,0 +1,71 @@
|
||||
if(__opusfile_version)
|
||||
return()
|
||||
endif()
|
||||
set(__opusfile_version INCLUDED)
|
||||
|
||||
function(get_package_version PACKAGE_VERSION PROJECT_VERSION)
|
||||
|
||||
find_package(Git)
|
||||
if(GIT_FOUND AND EXISTS "${CMAKE_CURRENT_LIST_DIR}/.git")
|
||||
execute_process(COMMAND ${GIT_EXECUTABLE}
|
||||
--git-dir=${CMAKE_CURRENT_LIST_DIR}/.git describe
|
||||
--tags --match "v*" OUTPUT_VARIABLE OPUSFILE_PACKAGE_VERSION)
|
||||
if(OPUSFILE_PACKAGE_VERSION)
|
||||
string(STRIP ${OPUSFILE_PACKAGE_VERSION}, OPUSFILE_PACKAGE_VERSION)
|
||||
string(REPLACE \n
|
||||
""
|
||||
OPUSFILE_PACKAGE_VERSION
|
||||
${OPUSFILE_PACKAGE_VERSION})
|
||||
string(REPLACE ,
|
||||
""
|
||||
OPUSFILE_PACKAGE_VERSION
|
||||
${OPUSFILE_PACKAGE_VERSION})
|
||||
|
||||
string(SUBSTRING ${OPUSFILE_PACKAGE_VERSION}
|
||||
1
|
||||
-1
|
||||
OPUSFILE_PACKAGE_VERSION)
|
||||
message(STATUS "Opus package version from git repo: ${OPUSFILE_PACKAGE_VERSION}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/package_version"
|
||||
AND NOT OPUSFILE_PACKAGE_VERSION)
|
||||
# Not a git repo, lets' try to parse it from package_version file if exists
|
||||
file(STRINGS package_version OPUSFILE_PACKAGE_VERSION
|
||||
LIMIT_COUNT 1
|
||||
REGEX "PACKAGE_VERSION=")
|
||||
string(REPLACE "PACKAGE_VERSION="
|
||||
""
|
||||
OPUSFILE_PACKAGE_VERSION
|
||||
${OPUSFILE_PACKAGE_VERSION})
|
||||
string(REPLACE "\""
|
||||
""
|
||||
OPUSFILE_PACKAGE_VERSION
|
||||
${OPUSFILE_PACKAGE_VERSION})
|
||||
# In case we have a unknown dist here we just replace it with 0
|
||||
string(REPLACE "unknown"
|
||||
"0"
|
||||
OPUSFILE_PACKAGE_VERSION
|
||||
${OPUSFILE_PACKAGE_VERSION})
|
||||
message(STATUS "Opus package version from package_version file: ${OPUSFILE_PACKAGE_VERSION}")
|
||||
endif()
|
||||
|
||||
if(OPUSFILE_PACKAGE_VERSION)
|
||||
string(REGEX
|
||||
REPLACE "^([0-9]+.[0-9]+\\.?([0-9]+)?).*"
|
||||
"\\1"
|
||||
OPUSFILE_PROJECT_VERSION
|
||||
${OPUSFILE_PACKAGE_VERSION})
|
||||
else()
|
||||
# fail to parse version from git and package version
|
||||
message(WARNING "Could not get package version.")
|
||||
set(OPUSFILE_PACKAGE_VERSION 0)
|
||||
set(OPUSFILE_PROJECT_VERSION 0.0)
|
||||
endif()
|
||||
|
||||
message(STATUS "Opus project version: ${OPUSFILE_PROJECT_VERSION}")
|
||||
|
||||
set(PACKAGE_VERSION ${OPUSFILE_PACKAGE_VERSION} PARENT_SCOPE)
|
||||
set(PROJECT_VERSION ${OPUSFILE_PROJECT_VERSION} PARENT_SCOPE)
|
||||
endfunction()
|
||||
Reference in New Issue
Block a user