[DO-971] ffmpeg recipe with requirements (!9)

Co-authored-by: aleksandr.vodyanov <aleksandr.vodyanov@avroid.tech>
Reviewed-on: https://git.avroid.tech/Conan/conan_build/pulls/9
This commit is contained in:
Aleksandr Vodyanov
2024-12-25 17:47:28 +03:00
parent e58f90de0e
commit 39afe6a1dd
212 changed files with 9263 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
Backport in 1.3.6 some build improvements of 1.3.7:
* link to libm
* usage of find_package to discover Ogg and link with Ogg:ogg target
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,6 +4,7 @@ project(vorbis)
# Required modules
include(GNUInstallDirs)
include(CheckIncludeFiles)
+include(CheckLibraryExists)
# Build options
option(BUILD_SHARED_LIBS "Build shared library" OFF)
@@ -52,18 +53,12 @@ endfunction()
message(STATUS "Configuring ${PROJECT_NAME} ${PROJECT_VERSION}")
+# Find math library
+
+check_library_exists(m floor "" HAVE_LIBM)
+
# Find ogg dependency
-if(NOT OGG_ROOT)
- find_package(PkgConfig QUIET)
- pkg_check_modules(PC_OGG QUIET ogg)
- find_path(OGG_INCLUDE_DIRS NAMES ogg/ogg.h HINTS ${PC_OGG_INCLUDE_DIRS} PATH_SUFFIXES ogg)
- find_library(OGG_LIBRARIES NAMES ogg HINTS ${PC_OGG_LIBRARY_DIRS})
-else()
- find_path(OGG_INCLUDE_DIRS NAMES ogg/ogg.h HINTS ${OGG_ROOT}/include PATH_SUFFIXES ogg)
- find_library(OGG_LIBRARIES NAMES ogg HINTS ${OGG_ROOT}/lib ${OGG_ROOT}/lib64)
-endif()
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(OGG DEFAULT_MSG OGG_INCLUDE_DIRS OGG_LIBRARIES)
+find_package(Ogg REQUIRED)
add_subdirectory(lib)
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -83,9 +83,12 @@ if (NOT BUILD_FRAMEWORK)
get_version_info(VORBISFILE_VERSION_INFO "VF_LIB_CURRENT" "VF_LIB_AGE" "VF_LIB_REVISION")
set_target_properties(vorbisfile PROPERTIES SOVERSION ${VORBISFILE_VERSION_INFO})
- target_link_libraries(vorbis ${OGG_LIBRARIES})
- target_link_libraries(vorbisenc ${OGG_LIBRARIES} vorbis)
- target_link_libraries(vorbisfile ${OGG_LIBRARIES} vorbis)
+ target_link_libraries(vorbis
+ PUBLIC Ogg::ogg
+ PRIVATE $<$<BOOL:${HAVE_LIBM}>:m>
+ )
+ target_link_libraries(vorbisenc PUBLIC vorbis)
+ target_link_libraries(vorbisfile PUBLIC vorbis)
install(FILES ${VORBIS_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/vorbis)

View File

@@ -0,0 +1,29 @@
--- a/win32/vorbis.def
+++ b/win32/vorbis.def
@@ -1,6 +1,6 @@
; vorbis.def
;
-LIBRARY
+
EXPORTS
_floor_P
_mapping_P
--- a/win32/vorbisenc.def
+++ b/win32/vorbisenc.def
@@ -1,6 +1,5 @@
; vorbisenc.def
;
-LIBRARY
EXPORTS
vorbis_encode_init
--- a/win32/vorbisfile.def
+++ b/win32/vorbisfile.def
@@ -1,6 +1,6 @@
; vorbisfile.def
;
-LIBRARY
+
EXPORTS
ov_clear
ov_open