Skip to content

Commit

Permalink
cmake: make FindVorbis.cmake compatible with upstream's VorbisConfig.…
Browse files Browse the repository at this point in the history
…cmake
  • Loading branch information
madebr authored and sezero committed Sep 26, 2022
1 parent c9f0946 commit e483f65
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 42 deletions.
20 changes: 10 additions & 10 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -458,8 +458,8 @@ if(SDL2MIXER_VORBIS_VORBISFILE)
set(BUILD_SHARED_LIBS ${SDL2MIXER_VORBIS_VORBISFILE_SHARED})
sdl_check_project_in_subfolder(external/vorbis vorbisfile SDL2MIXER_VENDORED)
add_subdirectory(external/vorbis EXCLUDE_FROM_ALL)
if(NOT TARGET vorbisfile::vorbisfile)
add_library(vorbisfile::vorbisfile ALIAS vorbisfile)
if(NOT TARGET Vorbis::vorbisfile)
add_library(Vorbis::vorbisfile ALIAS vorbisfile)
endif()
if(SDL2MIXER_VORBIS_VORBISFILE_SHARED OR NOT SDL2MIXER_BUILD_SHARED_LIBS)
list(APPEND INSTALL_EXTRA_TARGETS vorbis vorbisfile)
Expand All @@ -469,25 +469,25 @@ if(SDL2MIXER_VORBIS_VORBISFILE)
endif()
else()
message(STATUS "Using system vorbisfile")
find_package(vorbisfile REQUIRED)
find_package(Vorbis REQUIRED)
if(NOT SDL2MIXER_VORBIS_VORBISFILE_SHARED)
list(APPEND PC_REQUIRES vorbisfile)
endif()
endif()
if(SDL2MIXER_VORBIS_VORBISFILE_SHARED)
target_include_directories(SDL2_mixer PRIVATE
$<TARGET_PROPERTY:vorbisfile::vorbisfile,INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:vorbisfile::vorbisfile,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:vorbisfile::vorbisfile,INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Vorbis::vorbisfile,INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Vorbis::vorbisfile,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Vorbis::vorbisfile,INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>
)
target_get_dynamic_library(dynamic_vorbisfile vorbisfile::vorbisfile)
target_get_dynamic_library(dynamic_vorbisfile Vorbis::vorbisfile)
message(STATUS "Dynamic vorbisfile: ${dynamic_vorbisfile}")
target_compile_definitions(SDL2_mixer PRIVATE "OGG_DYNAMIC=\"${dynamic_vorbisfile}\"")
if(SDL2MIXER_VENDORED)
add_dependencies(SDL2_mixer vorbisfile::vorbisfile)
add_dependencies(SDL2_mixer Vorbis::vorbisfile)
endif()
else()
target_link_libraries(SDL2_mixer PRIVATE vorbisfile::vorbisfile)
target_link_libraries(SDL2_mixer PRIVATE Vorbis::vorbisfile)
endif()
endif()

Expand Down Expand Up @@ -807,7 +807,7 @@ if(SDL2MIXER_INSTALL)
cmake/Findmodplug.cmake
cmake/Findopusfile.cmake
cmake/FindMPG123.cmake
cmake/Findvorbisfile.cmake
cmake/FindVorbis.cmake
cmake/Findtremor.cmake
DESTINATION "${PKG_PREFIX}"
COMPONENT devel
Expand Down
32 changes: 32 additions & 0 deletions cmake/FindVorbis.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
include(FindPackageHandleStandardArgs)

find_library(Vorbis_vorbisfile_LIBRARY
NAMES vorbisfile
)

set(Vorbis_vorbisfile_COMPILE_OPTIONS "" CACHE STRING "Extra compile options of vorbisfile")

set(Vorbis_vorbisfile_LINK_LIBRARIES "" CACHE STRING "Extra link libraries of vorbisfile")

set(Vorbis_vorbisfile_LINK_FLAGS "" CACHE STRING "Extra link flags of vorbisfile")

find_path(Vorbis_vorbisfile_INCLUDE_PATH
NAMES vorbis/vorbisfile.h
)

find_package_handle_standard_args(Vorbis
REQUIRED_VARS Vorbis_vorbisfile_LIBRARY Vorbis_vorbisfile_INCLUDE_PATH
)

if (Vorbis_FOUND)
if (NOT TARGET Vorbis::vorbisfile)
add_library(Vorbis::vorbisfile UNKNOWN IMPORTED)
set_target_properties(Vorbis::vorbisfile PROPERTIES
IMPORTED_LOCATION "${Vorbis_vorbisfile_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${Vorbis_vorbisfile_INCLUDE_PATH}"
INTERFACE_COMPILE_OPTIONS "${Vorbis_vorbisfile_COMPILE_OPTIONS}"
INTERFACE_LINK_LIBRARIES "${Vorbis_vorbisfile_LINK_LIBRARIES}"
INTERFACE_LINK_FLAGS "${Vorbis_vorbisfile_LINK_FLAGS}"
)
endif()
endif()
32 changes: 0 additions & 32 deletions cmake/Findvorbisfile.cmake

This file was deleted.

0 comments on commit e483f65

Please sign in to comment.