improved lib/CMakeLists.txt for non-avahi installs (possible in FreeBSD)

This commit is contained in:
fduncanh
2021-11-23 17:36:31 -05:00
parent 1ffd870ae5
commit 24f2b6a46a
4 changed files with 24 additions and 23 deletions

View File

@@ -30,8 +30,7 @@
<p>_If you cannot find a libplist-2.x package that installs on your older distribution, and you dont wish to upgrade, see the instructions below (in the macOS section) on building libplist from source (you need autoconf, automake, libtool, and may need to also install some libpython*-dev package) but (unlike the statically-linked macOS case) do not uninstall the libplist library after building uxplay; it must remain installed. It is in /usr/local/lib. If uxplay fails to find libplist when you run it, this is probably because /usr/local/lib is not in the library path (by default, this is the case in ubuntu). To fix this, run “sudo ldconfig” (you might also need to create a file /etc/ld.so.conf.d/libplist.conf containing the text “/usr/local/lib” before running ldconfig) to permanently add /usr/local/lib to the library path._</p>
<p><strong>Red Hat, Fedora, CentOS:</strong> (sudo yum install) openssl-devel libplist-devel avahi-compat-libdns_sd-devel (+libX11-devel for ZOOMFIX). The required GStreamer packages are: gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-libav gstreamer1-plugins-bad-free ( + gstreamer1-vaapi for intel graphics).</p>
<p><strong>OpenSUSE:</strong> (sudo zypper install) libopenssl-devel libplist-devel avahi-compat-mDNSResponder-devel (+ libX11-devel for ZOOMFIX). The required GStreamer packages are: gstreamer-devel gstreamer-plugins-base-devel gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi for Intel graphics).</p>
<p><strong>FreeBSD:</strong> (sudo pkg install) libplist gstreamer1, gstreamer1-libav, gstreamer1-plugins, gstreamer1-plugins-* (* = core, good, bad, x, gtk, gl, vulkan, pulse …), (+ gstreamer1-vaapi for Intel graphics). Also install avahi-libdns unless you are using an alternative such as mDNSResponder for mdns-dnssd service (in that case, if dns_sd.h is not found, you may need to specify its location (e.g “export CPATH=/usr/local/include” if that is where it is) before running cmake.</p>
<p>OpenSSL is already installed. “ZOOMFIX” is untested; dont try to use it unless you need it.</p>
<p><strong>FreeBSD:</strong> (sudo pkg install) libplist gstreamer1, gstreamer1-libav, gstreamer1-plugins, gstreamer1-plugins-* (* = core, good, bad, x, gtk, gl, vulkan, pulse …), (+ gstreamer1-vaapi for Intel graphics). Either avahi-libdns or mDNSResponder must also be installed to provide the dns_sd library. OpenSSL is already installed as a System Library. “ZOOMFIX” is untested; dont try to use it on FreeBSD unless you need it.</p>
<h1 id="building-this-version-macos">Building this version (macOS):</h1>
<p><strong>(Only tested on Intel X86_64 Macs)</strong></p>
<p><em>Note: A native AirPlay Server feature is included in upcoming macOS 12 Monterey, but UxPlay can run on older macOS systems that will not be able to run Monterey.</em></p>

View File

@@ -123,11 +123,9 @@ GStreamer packages are:
gstreamer-devel gstreamer-plugins-base-devel gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi for Intel graphics).
**FreeBSD:** (sudo pkg install) libplist gstreamer1, gstreamer1-libav, gstreamer1-plugins, gstreamer1-plugins-*
(\* = core, good, bad, x, gtk, gl, vulkan, pulse ...), (+ gstreamer1-vaapi for Intel graphics). Also install avahi-libdns unless you are using an alternative such
as mDNSResponder for mdns-dnssd service (in that case, if dns_sd.h is not found, you may need to specify its location (e.g "export CPATH=/usr/local/include"
if that is where it is) before running cmake.
OpenSSL is already installed. "ZOOMFIX" is untested; don't try to use it unless you need it.
(\* = core, good, bad, x, gtk, gl, vulkan, pulse ...), (+ gstreamer1-vaapi for Intel graphics).
Either avahi-libdns or mDNSResponder must also be installed to provide the dns_sd library.
OpenSSL is already installed as a System Library. "ZOOMFIX" is untested; don't try to use it on FreeBSD unless you need it.
# Building this version (macOS):

View File

@@ -155,14 +155,11 @@ gstreamer-plugins-bad (+ gstreamer-plugins-vaapi for Intel graphics).
**FreeBSD:** (sudo pkg install) libplist gstreamer1, gstreamer1-libav,
gstreamer1-plugins, gstreamer1-plugins-\* (\* = core, good, bad, x, gtk,
gl, vulkan, pulse ...), (+ gstreamer1-vaapi for Intel graphics). Also
install avahi-libdns unless you are using an alternative such as
mDNSResponder for mdns-dnssd service (in that case, if dns\_sd.h is not
found, you may need to specify its location (e.g "export
CPATH=/usr/local/include" if that is where it is) before running cmake.
OpenSSL is already installed. "ZOOMFIX" is untested; don't try to use it
unless you need it.
gl, vulkan, pulse ...), (+ gstreamer1-vaapi for Intel graphics). Either
avahi-libdns or mDNSResponder must also be installed to provide the
dns\_sd library. OpenSSL is already installed as a System Library.
"ZOOMFIX" is untested; don't try to use it on FreeBSD unless you need
it.
Building this version (macOS):
==============================

View File

@@ -80,13 +80,20 @@ if ( UNIX AND NOT APPLE )
if (AVAHI_DNSSD_FOUND)
target_include_directories( airplay PUBLIC ${AVAHI_DNSSD_INCLUDE_DIRS} )
target_link_libraries( airplay ${AVAHI_DNSSD_LIBRARIES} )
else() # this might still work if mdnsd (mDNSResponder) is present instead of avahi
find_library( DNS_SD dns_sd )
if( NOT DNS_SD )
message( FATAL_ERROR "libdns_sd not found: install avahi_compat-libdns_sd" )
else()
target_link_libraries(airplay dns_sd )
else() # UxPlay can also build if mDNSResponder or another implementation of dns_sd is present instead of Avahi
find_library( DNSSD dns_sd )
if( NOT DNSSD )
message( FATAL_ERROR "libdns_sd missing; can be provided by avahi_compat-libdns_sd or mDNSResponder." )
else()
message( STATUS "dns_sd: found" ${DNSSD} )
endif()
endif()
find_path(DNSSD_INCLUDE_DIR dns_sd.h HINTS ${CMAKE_INSTALL_INCLUDEDIR} )
if ( NOT DNSSD_INCLUDE_DIR )
message( FATAL_ERROR " dns_sd.h not found ")
else()
message( STATUS "found dns_sd.h in " ${DNSSD_INCLUDE_DIR} )
endif()
target_include_directories( airplay PUBLIC ${DNSSD_INCLUDE_DIR} )
target_link_libraries(airplay dns_sd )
endif()
endif()