Browse Source

Prefer system FindSDL_audiolib

pull/4930/head
Sandro 4 years ago committed by Anders Jenbo
parent
commit
33aab7e4b2
  1. 2
      3rdParty/SDL_audiolib/CMakeLists.txt
  2. 11
      CMake/Dependencies.cmake
  3. 26
      CMake/finders/FindSDL_audiolib.cmake

2
3rdParty/SDL_audiolib/CMakeLists.txt vendored

@ -34,3 +34,5 @@ FetchContent_Declare(SDL_audiolib
URL https://github.com/realnc/SDL_audiolib/archive/1a69135313c79817b38a3a99826d4ac28d627fdf.tar.gz
URL_HASH MD5=0bb189ccf8d26e01d10a97a24d298d2a)
FetchContent_MakeAvailableExcludeFromAll(SDL_audiolib)
add_library(SDL_audiolib::SDL_audiolib ALIAS SDL_audiolib)

11
CMake/Dependencies.cmake

@ -118,7 +118,16 @@ else()
endif()
if(NOT NOSOUND)
dependency_options("SDL_audiolib" DEVILUTIONX_SYSTEM_SDL_AUDIOLIB OFF DEVILUTIONX_STATIC_SDL_AUDIOLIB)
if(NOT DEFINED DEVILUTIONX_SYSTEM_SDL_AUDIOLIB)
find_package(SDL_audiolib QUIET)
if(SDL_audiolib_FOUND)
message("-- Found SDL_audiolib")
else()
message("-- Suitable system SDL_audiolib package not found, will use SDL_audiolib from source")
set(DEVILUTIONX_SYSTEM_SDL_AUDIOLIB OFF)
endif()
endif()
dependency_options("SDL_audiolib" DEVILUTIONX_SYSTEM_SDL_AUDIOLIB ON DEVILUTIONX_STATIC_SDL_AUDIOLIB)
if(DEVILUTIONX_SYSTEM_SDL_AUDIOLIB)
find_package(SDL_audiolib REQUIRED)
else()

26
CMake/finders/FindSDL_audiolib.cmake

@ -0,0 +1,26 @@
find_package(PkgConfig)
pkg_check_modules(PC_SDL_audiolib QUIET SDL_audiolib)
find_path(SDL_audiolib_INCLUDE_DIR aulib.h
HINTS ${PC_SDL_audiolib_INCLUDEDIR} ${PC_SDL_audiolib_INCLUDE_DIRS})
find_library(SDL_audiolib_LIBRARY
NAMES SDL_audiolib libSDL_audiolib
HINTS ${PC_SDL_audiolib_LIBDIR} ${PC_SDL_audiolib_LIBRARY_DIRS})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SDL_audiolib DEFAULT_MSG
SDL_audiolib_INCLUDE_DIR SDL_audiolib_LIBRARY)
if(SDL_audiolib_FOUND AND NOT TARGET SDL_audiolib::SDL_audiolib)
add_library(SDL_audiolib::SDL_audiolib UNKNOWN IMPORTED)
set_target_properties(SDL_audiolib::SDL_audiolib PROPERTIES
IMPORTED_LOCATION ${SDL_audiolib_LIBRARY}
INTERFACE_INCLUDE_DIRECTORIES ${SDL_audiolib_INCLUDE_DIR})
endif()
if(SDL_audiolib_FOUND)
mark_as_advanced(SDL_audiolib_INCLUDE_DIR SDL_audiolib_LIBRARY)
set(SDL_audiolib_LIBRARIES ${SDL_audiolib_LIBRARY})
set(SDL_audiolib_INCLUDE_DIRS ${SDL_audiolib_INCLUDE_DIR})
endif()
Loading…
Cancel
Save