| # - Find opus | |
| # Find the native opus includes and libraries | |
| # | |
| # OPUS_INCLUDE_DIRS - where to find opus.h, etc. | |
| # OPUS_LIBRARIES - List of libraries when using opus. | |
| # OPUS_FOUND - True if Opus found. | |
| if (OPUS_INCLUDE_DIR) | |
| # Already in cache, be silent | |
| set(OPUS_FIND_QUIETLY TRUE) | |
| endif () | |
| find_package (Ogg QUIET) | |
| find_package (PkgConfig QUIET) | |
| pkg_check_modules(PC_OPUS QUIET opus>=1.1) | |
| set (OPUS_VERSION ${PC_OPUS_VERSION}) | |
| find_path (OPUS_INCLUDE_DIR opus/opus.h | |
| HINTS | |
| ${PC_OPUS_INCLUDEDIR} | |
| ${PC_OPUS_INCLUDE_DIRS} | |
| ${OPUS_ROOT} | |
| ) | |
| # MSVC built opus may be named opus_static. | |
| # The provided project files name the library with the lib prefix. | |
| find_library (OPUS_LIBRARY | |
| NAMES | |
| opus | |
| opus_static | |
| libopus | |
| libopus_static | |
| HINTS | |
| ${PC_OPUS_LIBDIR} | |
| ${PC_OPUS_LIBRARY_DIRS} | |
| ${OPUS_ROOT} | |
| ) | |
| # Handle the QUIETLY and REQUIRED arguments and set OPUS_FOUND | |
| # to TRUE if all listed variables are TRUE. | |
| include(FindPackageHandleStandardArgs) | |
| find_package_handle_standard_args (Opus | |
| REQUIRED_VARS | |
| OPUS_LIBRARY | |
| OPUS_INCLUDE_DIR | |
| OGG_FOUND | |
| VERSION_VAR | |
| OPUS_VERSION | |
| ) | |
| if (OPUS_FOUND) | |
| set (OPUS_LIBRARIES ${OPUS_LIBRARY}) | |
| set (OPUS_INCLUDE_DIRS ${OPUS_INCLUDE_DIR}) | |
| if (NOT TARGET Opus::opus) | |
| add_library (Opus::opus UNKNOWN IMPORTED) | |
| set_target_properties (Opus::opus PROPERTIES | |
| INTERFACE_INCLUDE_DIRECTORIES "${OPUS_INCLUDE_DIRS}" | |
| IMPORTED_LOCATION "${OPUS_LIBRARIES}" | |
| ) | |
| endif () | |
| endif () | |
| mark_as_advanced(OPUS_INCLUDE_DIR OPUS_LIBRARY) |