diff options
Diffstat (limited to 'indra/cmake/LibVLCPlugin.cmake')
| -rw-r--r-- | indra/cmake/LibVLCPlugin.cmake | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/indra/cmake/LibVLCPlugin.cmake b/indra/cmake/LibVLCPlugin.cmake index a38c660a33..c268d8d24e 100644 --- a/indra/cmake/LibVLCPlugin.cmake +++ b/indra/cmake/LibVLCPlugin.cmake @@ -9,15 +9,48 @@ set(LIBVLCPLUGIN ON CACHE BOOL "LIBVLCPLUGIN support for the llplugin/llmedia test apps.") if (LIBVLCPLUGIN) - if(LINUX) + if(DARWIN) + if (CMAKE_OSX_ARCHITECTURES MATCHES x86_64) + set(ARCHITECTURE intel64) + else () + set(ARCHITECTURE ${CMAKE_OSX_ARCHITECTURES}) + endif () + if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/vlc_installed OR NOT ${vlc_installed} EQUAL 0) + if (NOT EXISTS ${CMAKE_BINARY_DIR}/vlc-3.0.24-${ARCHITECTURE}.dmg) + file(DOWNLOAD + https://get.videolan.org/vlc/3.0.24/macosx/vlc-3.0.24-${ARCHITECTURE}.dmg + ${CMAKE_BINARY_DIR}/vlc-3.0.24-${ARCHITECTURE}.dmg + ) + endif () + file(WRITE ${PREBUILD_TRACKING_DIR}/vlc_installed "0") + endif () + execute_process( + COMMAND hdiutil attach -noverify vlc-3.0.24-${ARCHITECTURE}.dmg + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + ) + target_include_directories( ll::libvlc SYSTEM INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/include) + target_link_directories( ll::libvlc INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/lib) + target_link_libraries( ll::libvlc INTERFACE vlc vlccore ) + return() + elseif (NOT (${LINUX_DISTRO} MATCHES freedesktop OR WINDOWS)) find_package(PkgConfig REQUIRED) - pkg_check_modules(libvlc REQUIRED IMPORTED_TARGET libvlc) + pkg_check_modules(libvlc REQUIRED IMPORTED_TARGET libvlc vlc-plugin) + target_include_directories( ll::libvlc SYSTEM INTERFACE ${libvlc_INCLUDE_DIRS}) + target_link_directories( ll::libvlc INTERFACE ${libvlc_LIBRARY_DIRS}) target_link_libraries( ll::libvlc INTERFACE PkgConfig::libvlc) return() endif() use_prebuilt_binary(vlc-bin) + if (WINDOWS) + set(LIB_SUFFIX lib) + endif () + target_link_libraries( ll::libvlc INTERFACE + ${LIB_SUFFIX}vlc + ${LIB_SUFFIX}vlccore + ) + return() find_library(VLC_LIBRARY NAMES |
