Darwin-Streaming-Server/CMakeLists.txt
Darren VanBuren 56b7fad502 Make PlaylistBroadcaster compile
Also extracted QTAtom*cpp to another variable to clean up some duplication
 that will probably happen in some other places as more is compiled
2017-03-08 14:23:18 -08:00

449 lines
No EOL
18 KiB
CMake

cmake_minimum_required(VERSION 3.6)
set(CMAKE_CXX_STANDARD 98)
project(DarwinStreamingServer C CXX)
include_directories(APICommonCode
APIModules/QTSSAccessLogModule
APIModules/QTSSAccessModule
APIModules/QTSSAdminModule
APIModules/QTSSDemoAuthorizationModule.bproj
APIModules/QTSSDemoRedirectModule.bproj
APIModules/QTSSDemoSMILModule.bproj
APIModules/QTSSDSAuthModule
APIModules/QTSSDSAuthModule/DSWrappers
APIModules/QTSSFileModule
APIModules/QTSSFilePrivsModule.bproj
APIModules/QTSSFlowControlModule
APIModules/QTSSHomeDirectoryModule
APIModules/QTSSHttpFileModule
APIModules/QTSSMP3StreamingModule
APIModules/QTSSPOSIXFileSysModule
APIModules/QTSSProxyModule
APIModules/QTSSRawFileModule.bproj
APIModules/QTSSReflectorModule
APIModules/QTSSRefMovieModule
APIModules/QTSSRTPFileModule
APIModules/QTSSSpamDefenseModule.bproj
APIModules/QTSSWebDebugModule
APIModules/QTSSWebStatsModule
APIStubLib
AtomicLib
broadcasterctl
CommonUtilitiesLib
HTTPUtilitiesLib
MP3Broadcaster
PlaylistBroadcaster.tproj
PrefsSourceLib
QTFileLib
QTFileTools/RTPFileGen.tproj
RTCPUtilitiesLib
RTPMetaInfoLib
RTSPClientLib
Server.tproj
StreamingProxy.tproj)
add_definitions(-D_REENTRANT -D__USE_POSIX -D__linux__ -D__PTHREADS_MUTEXES__ -D__PTHREADS__)
#target_link_libraries(DarwinStreamingServer -lpthread -ldl -lstdc++ -lm -lcrypt)
set(DSS_SOURCE_FILES
APICommonCode/QTAccessFile.cpp
APICommonCode/QTSS3GPPModuleUtils.cpp
APICommonCode/QTSSModuleUtils.cpp
APICommonCode/QTSSRollingLog.cpp
APICommonCode/SDPSourceInfo.cpp
APICommonCode/SourceInfo.cpp
APIModules/OSMemory_Modules/OSMemory_Modules.cpp
APIModules/QTSSAccessLogModule/QTSSAccessLogModule.cpp
APIModules/QTSSAccessModule/AccessChecker.cpp
APIModules/QTSSAccessModule/QTSSAccessModule.cpp
APIModules/QTSSAdminModule/AdminElementNode.cpp
APIModules/QTSSAdminModule/AdminQuery.cpp
APIModules/QTSSAdminModule/QTSSAdminModule.cpp
APIModules/QTSSDemoAuthorizationModule.bproj/QTSSDemoAuthorizationModule.cpp
APIModules/QTSSDemoRedirectModule.bproj/QTSSDemoRedirectModule.cpp
APIModules/QTSSDemoSMILModule.bproj/QTSSDemoSMILModule.cpp
# This module uses DirectoryServices, so could not compile on Linux
# APIModules/QTSSDSAuthModule/DSWrappers/CDirService.cpp
# APIModules/QTSSDSAuthModule/DSWrappers/DSBuffer.cpp
# APIModules/QTSSDSAuthModule/DSAccessChecker.cpp
# APIModules/QTSSDSAuthModule/QTSSDSAuthModule.cpp
APIModules/QTSSFileModule/QTSSFileModule.cpp
APIModules/QTSSFilePrivsModule.bproj/QTSSFilePrivsModule.cpp
APIModules/QTSSFlowControlModule/QTSSFlowControlModule.cpp
APIModules/QTSSHomeDirectoryModule/DirectoryInfo.cpp
APIModules/QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.cpp
APIModules/QTSSHttpFileModule/QTSSHttpFileModule.cpp
APIModules/QTSSMP3StreamingModule/QTSSMP3StreamingModule.cpp
APIModules/QTSSPOSIXFileSysModule/QTSSPosixFileSysModule.cpp
APIModules/QTSSProxyModule/QTSSProxyModule.cpp
APIModules/QTSSRawFileModule.bproj/QTSSRawFileModule.cpp
APIModules/QTSSReflectorModule/QTSSReflectorModule.cpp
APIModules/QTSSReflectorModule/QTSSRelayModule.cpp
# APIModules/QTSSReflectorModule/QTSSSplitterModule.cpp
APIModules/QTSSReflectorModule/RCFSourceInfo.cpp
APIModules/QTSSReflectorModule/ReflectorSession.cpp
APIModules/QTSSReflectorModule/ReflectorStream.cpp
APIModules/QTSSReflectorModule/RelayOutput.cpp
APIModules/QTSSReflectorModule/RelaySDPSourceInfo.cpp
APIModules/QTSSReflectorModule/RelaySession.cpp
APIModules/QTSSReflectorModule/RTPSessionOutput.cpp
APIModules/QTSSReflectorModule/RTSPSourceInfo.cpp
APIModules/QTSSReflectorModule/SequenceNumberMap.cpp
APIModules/QTSSRefMovieModule/QTSSRefMovieModule.cpp
APIModules/QTSSRTPFileModule/QTSSRTPFileModule.cpp
APIModules/QTSSRTPFileModule/RTPFileSession.cpp
APIModules/QTSSSpamDefenseModule.bproj/QTSSSpamDefenseModule.cpp
APIModules/QTSSWebDebugModule/QTSSWebDebugModule.cpp
APIModules/QTSSWebStatsModule/QTSSWebStatsModule.cpp
APIStubLib/QTSS_Private.cpp
# Not sure what these are for
# AtomicLib/hmi.c
# AtomicLib/timescale.c
CommonUtilitiesLib/atomic.cpp
CommonUtilitiesLib/base64.c
CommonUtilitiesLib/ConfParser.cpp
CommonUtilitiesLib/daemon.c
CommonUtilitiesLib/DateTranslator.cpp
CommonUtilitiesLib/ev.cpp
CommonUtilitiesLib/EventContext.cpp
CommonUtilitiesLib/getopt.c
CommonUtilitiesLib/GetWord.c
CommonUtilitiesLib/IdleTask.cpp
CommonUtilitiesLib/MakeDir.c
CommonUtilitiesLib/md5.c
CommonUtilitiesLib/md5digest.cpp
CommonUtilitiesLib/MyAssert.cpp
# This relied on the Mach header file
# CommonUtilitiesLib/mycondition.cpp
# CommonUtilitiesLib/mymutex.cpp
CommonUtilitiesLib/OS.cpp
CommonUtilitiesLib/OSArrayObjectDeleter.h
CommonUtilitiesLib/OSBufferPool.cpp
CommonUtilitiesLib/OSCodeFragment.cpp
CommonUtilitiesLib/OSCond.cpp
CommonUtilitiesLib/OSFileSource.cpp
CommonUtilitiesLib/OSHeaders.c
CommonUtilitiesLib/OSHeap.cpp
CommonUtilitiesLib/OSMutex.cpp
CommonUtilitiesLib/OSMutexRW.cpp
CommonUtilitiesLib/OSQueue.cpp
CommonUtilitiesLib/OSRef.cpp
CommonUtilitiesLib/OSThread.cpp
CommonUtilitiesLib/QueryParamList.cpp
CommonUtilitiesLib/ResizeableStringFormatter.cpp
CommonUtilitiesLib/SDPUtils.cpp
CommonUtilitiesLib/Socket.cpp
CommonUtilitiesLib/SocketUtils.cpp
CommonUtilitiesLib/StringFormatter.cpp
CommonUtilitiesLib/StringParser.cpp
CommonUtilitiesLib/StringTranslator.cpp
CommonUtilitiesLib/StrPtrLen.cpp
CommonUtilitiesLib/Task.cpp
CommonUtilitiesLib/TCPListenerSocket.cpp
CommonUtilitiesLib/TCPSocket.cpp
CommonUtilitiesLib/TimeoutTask.cpp
CommonUtilitiesLib/Trim.c
CommonUtilitiesLib/UDPDemuxer.cpp
CommonUtilitiesLib/UDPSocket.cpp
CommonUtilitiesLib/UDPSocketPool.cpp
CommonUtilitiesLib/UserAgentParser.cpp
# Uses Win32
# CommonUtilitiesLib/win32ev.cpp
HTTPUtilitiesLib/HTTPProtocol.cpp
HTTPUtilitiesLib/HTTPRequest.cpp
OSMemoryLib/OSMemory.cpp
PrefsSourceLib/FilePrefsSource.cpp
# Uses NetInfo (which isn't even in OS X later than Tiger..)
# PrefsSourceLib/NetInfoPrefsSource.cpp
# PrefsSourceLib/nilib2.c
PrefsSourceLib/XMLParser.cpp
PrefsSourceLib/XMLPrefsParser.cpp
QTFileLib/QTAtom.cpp
QTFileLib/QTAtom_dref.cpp
QTFileLib/QTAtom_elst.cpp
QTFileLib/QTAtom_hinf.cpp
QTFileLib/QTAtom_mdhd.cpp
QTFileLib/QTAtom_mvhd.cpp
QTFileLib/QTAtom_stco.cpp
QTFileLib/QTAtom_stsc.cpp
QTFileLib/QTAtom_stsd.cpp
QTFileLib/QTAtom_stss.cpp
QTFileLib/QTAtom_stsz.cpp
QTFileLib/QTAtom_stts.cpp
QTFileLib/QTAtom_tkhd.cpp
QTFileLib/QTAtom_tref.cpp
QTFileLib/QTFile.cpp
QTFileLib/QTFile_FileControlBlock.cpp
QTFileLib/QTHintTrack.cpp
QTFileLib/QTRTPFile.cpp
QTFileLib/QTTrack.cpp
QTFileTools/QTRTPFileTest.tproj/QTRTPFileTest.cpp
QTFileTools/QTRTPGen.tproj/QTRTPGen.cpp
QTFileTools/QTSampleLister.tproj/QTSampleLister.cpp
QTFileTools/QTSDPGen.tproj/QTSDPGen.cpp
QTFileTools/QTTrackInfo.tproj/QTTrackInfo.cpp
QTFileTools/RTPFileGen.tproj/RTPFileGen.cpp
qtpasswd.tproj/QTSSPasswd.cpp
RTCPUtilitiesLib/RTCPAckPacket.cpp
RTCPUtilitiesLib/RTCPAPPNADUPacket.cpp
RTCPUtilitiesLib/RTCPAPPPacket.cpp
RTCPUtilitiesLib/RTCPAPPQTSSPacket.cpp
RTCPUtilitiesLib/RTCPPacket.cpp
RTCPUtilitiesLib/RTCPSRPacket.cpp
RTPMetaInfoLib/RTPMetaInfoPacket.cpp
RTSPClientLib/ClientSession.cpp
RTSPClientLib/ClientSocket.cpp
RTSPClientLib/RTSPClient.cpp
# Implements the same as InternalStdLib, but is for Dynamically loaded modules
# SafeStdLib/DynamicModuleStdLib.cpp
SafeStdLib/InternalStdLib.cpp
Server.tproj/GenerateXMLPrefs.cpp
Server.tproj/main.cpp
Server.tproj/QTSSCallbacks.cpp
Server.tproj/QTSSDataConverter.cpp
Server.tproj/QTSSDictionary.cpp
Server.tproj/QTSSErrorLogModule.cpp
Server.tproj/QTSServer.cpp
Server.tproj/QTSServerInterface.cpp
Server.tproj/QTSServerPrefs.cpp
Server.tproj/QTSSExpirationDate.cpp
Server.tproj/QTSSFile.cpp
Server.tproj/QTSSMessages.cpp
Server.tproj/QTSSModule.cpp
Server.tproj/QTSSPrefs.cpp
Server.tproj/QTSSSocket.cpp
Server.tproj/QTSSUserProfile.cpp
Server.tproj/RTCPTask.cpp
Server.tproj/RTPBandwidthTracker.cpp
Server.tproj/RTPOverbufferWindow.cpp
Server.tproj/RTPPacketResender.cpp
Server.tproj/RTPSession.cpp
Server.tproj/RTPSession3GPP.cpp
Server.tproj/RTPSessionInterface.cpp
Server.tproj/RTPStream.cpp
Server.tproj/RTPStream3GPP.cpp
Server.tproj/RTSPProtocol.cpp
Server.tproj/RTSPRequest.cpp
Server.tproj/RTSPRequest3GPP.cpp
Server.tproj/RTSPRequestInterface.cpp
Server.tproj/RTSPRequestStream.cpp
Server.tproj/RTSPResponseStream.cpp
Server.tproj/RTSPSession.cpp
Server.tproj/RTSPSession3GPP.cpp
Server.tproj/RTSPSessionInterface.cpp
Server.tproj/RunServer.cpp
StreamingProxy.tproj/get_opt.c
StreamingProxy.tproj/proxy.c
StreamingProxy.tproj/proxy_unix.c
StreamingProxy.tproj/shared_udp.c
StreamingProxy.tproj/util.c)
add_executable(DarwinStreamingServer ${DSS_SOURCE_FILES})
target_link_libraries(DarwinStreamingServer pthread crypt dl m stdc++)
set(STREAMING_LOAD_TOOL_SOURCE_FILES
APICommonCode/SDPSourceInfo.cpp
APICommonCode/SourceInfo.cpp
SafeStdLib/InternalStdLib.cpp
CommonUtilitiesLib/atomic.cpp
CommonUtilitiesLib/base64.c
CommonUtilitiesLib/ConfParser.cpp
CommonUtilitiesLib/ev.cpp
CommonUtilitiesLib/EventContext.cpp
CommonUtilitiesLib/GetWord.c
CommonUtilitiesLib/IdleTask.cpp
CommonUtilitiesLib/md5.c
CommonUtilitiesLib/md5digest.cpp
CommonUtilitiesLib/MyAssert.cpp
CommonUtilitiesLib/OS.cpp
CommonUtilitiesLib/OSCond.cpp
CommonUtilitiesLib/OSHeap.cpp
CommonUtilitiesLib/OSMutex.cpp
CommonUtilitiesLib/OSMutexRW.cpp
CommonUtilitiesLib/OSRef.cpp
CommonUtilitiesLib/OSThread.cpp
CommonUtilitiesLib/OSQueue.cpp
CommonUtilitiesLib/ResizeableStringFormatter.cpp
CommonUtilitiesLib/SDPUtils.cpp
CommonUtilitiesLib/Socket.cpp
CommonUtilitiesLib/SocketUtils.cpp
CommonUtilitiesLib/StringFormatter.cpp
CommonUtilitiesLib/StringParser.cpp
CommonUtilitiesLib/StrPtrLen.cpp
CommonUtilitiesLib/Task.cpp
CommonUtilitiesLib/TCPSocket.cpp
CommonUtilitiesLib/TimeoutTask.cpp
CommonUtilitiesLib/Trim.c
CommonUtilitiesLib/UDPSocket.cpp
OSMemoryLib/OSMemory.cpp
PrefsSourceLib/FilePrefsSource.cpp
RTPMetaInfoLib/RTPMetaInfoPacket.cpp
RTCPUtilitiesLib/RTCPPacket.cpp
RTSPClientLib/ClientSession.cpp
RTSPClientLib/ClientSocket.cpp
RTSPClientLib/RTSPClient.cpp
StreamingLoadTool/StreamingLoadTool.cpp)
add_executable(StreamingLoadTool ${STREAMING_LOAD_TOOL_SOURCE_FILES})
target_link_libraries(StreamingLoadTool pthread)
set(QTATOM_SOURCE_FILES
QTFileLib/QTAtom.cpp
QTFileLib/QTAtom_dref.cpp
QTFileLib/QTAtom_elst.cpp
QTFileLib/QTAtom_hinf.cpp
QTFileLib/QTAtom_mdhd.cpp
QTFileLib/QTAtom_mvhd.cpp
QTFileLib/QTAtom_stco.cpp
QTFileLib/QTAtom_stsc.cpp
QTFileLib/QTAtom_stsd.cpp
QTFileLib/QTAtom_stss.cpp
QTFileLib/QTAtom_stsz.cpp
QTFileLib/QTAtom_stts.cpp
QTFileLib/QTAtom_tkhd.cpp
QTFileLib/QTAtom_tref.cpp)
set(PLAYLIST_BROADCASTER_SOURCE_FILES
APICommonCode/SDPSourceInfo.cpp
APICommonCode/SourceInfo.cpp
APICommonCode/QTSSRollingLog.cpp
SafeStdLib/InternalStdLib.cpp
CommonUtilitiesLib/atomic.cpp
CommonUtilitiesLib/base64.c
CommonUtilitiesLib/ConfParser.cpp
CommonUtilitiesLib/DateTranslator.cpp
CommonUtilitiesLib/ev.cpp
CommonUtilitiesLib/EventContext.cpp
CommonUtilitiesLib/GetWord.c
CommonUtilitiesLib/IdleTask.cpp
CommonUtilitiesLib/md5.c
CommonUtilitiesLib/md5digest.cpp
CommonUtilitiesLib/MyAssert.cpp
CommonUtilitiesLib/OS.cpp
CommonUtilitiesLib/OSCond.cpp
CommonUtilitiesLib/OSFileSource.cpp
CommonUtilitiesLib/OSHeap.cpp
CommonUtilitiesLib/OSMutex.cpp
CommonUtilitiesLib/OSMutexRW.cpp
CommonUtilitiesLib/OSQueue.cpp
CommonUtilitiesLib/OSRef.cpp
CommonUtilitiesLib/OSThread.cpp
CommonUtilitiesLib/SDPUtils.cpp
CommonUtilitiesLib/ResizeableStringFormatter.cpp
CommonUtilitiesLib/StringFormatter.cpp
CommonUtilitiesLib/StringParser.cpp
CommonUtilitiesLib/StringTranslator.cpp
CommonUtilitiesLib/StrPtrLen.cpp
CommonUtilitiesLib/Socket.cpp
CommonUtilitiesLib/SocketUtils.cpp
CommonUtilitiesLib/Task.cpp
CommonUtilitiesLib/TimeoutTask.cpp
CommonUtilitiesLib/TCPSocket.cpp
CommonUtilitiesLib/Trim.c
CommonUtilitiesLib/UDPSocket.cpp
OSMemoryLib/OSMemory.cpp
${QTATOM_SOURCE_FILES}
QTFileLib/QTFile.cpp
QTFileLib/QTFile_FileControlBlock.cpp
QTFileLib/QTHintTrack.cpp
QTFileLib/QTRTPFile.cpp
QTFileLib/QTTrack.cpp
RTPMetaInfoLib/RTPMetaInfoPacket.cpp
RTSPClientLib/ClientSocket.cpp
RTSPClientLib/RTSPClient.cpp
PlaylistBroadcaster.tproj/BCasterTracker.cpp
PlaylistBroadcaster.tproj/BroadcasterSession.cpp
PlaylistBroadcaster.tproj/BroadcastLog.cpp
PlaylistBroadcaster.tproj/GetLocalIPAddressString.c
PlaylistBroadcaster.tproj/NoRepeat.cpp
PlaylistBroadcaster.tproj/notes.c
PlaylistBroadcaster.tproj/PickerFromFile.cpp
PlaylistBroadcaster.tproj/playlist_broadcaster.cpp
PlaylistBroadcaster.tproj/playlist_elements.cpp
PlaylistBroadcaster.tproj/playlist_lists.cpp
PlaylistBroadcaster.tproj/playlist_parsers.cpp
PlaylistBroadcaster.tproj/playlist_QTRTPBroadcastFile.cpp
PlaylistBroadcaster.tproj/playlist_SDPGen.cpp
PlaylistBroadcaster.tproj/playlist_SimpleParse.cpp
PlaylistBroadcaster.tproj/playlist_utils.cpp
PlaylistBroadcaster.tproj/PlaylistBroadcaster.cpp
PlaylistBroadcaster.tproj/PlaylistPicker.cpp
PlaylistBroadcaster.tproj/PLBroadcastDef.cpp)
add_executable(PlaylistBroadcaster ${PLAYLIST_BROADCASTER_SOURCE_FILES})
target_link_libraries(PlaylistBroadcaster pthread)
set(MP3_BROADCASTER_SOURCE_FILES
APICommonCode/QTSSRollingLog.cpp
SafeStdLib/InternalStdLib.cpp
CommonUtilitiesLib/atomic.cpp
CommonUtilitiesLib/ConfParser.cpp
CommonUtilitiesLib/ev.cpp
CommonUtilitiesLib/EventContext.cpp
CommonUtilitiesLib/GetWord.c
CommonUtilitiesLib/MyAssert.cpp
CommonUtilitiesLib/OS.cpp
CommonUtilitiesLib/OSCond.cpp
CommonUtilitiesLib/OSFileSource.cpp
CommonUtilitiesLib/OSHeap.cpp
CommonUtilitiesLib/OSMutex.cpp
CommonUtilitiesLib/OSMutexRW.cpp
CommonUtilitiesLib/OSQueue.cpp
CommonUtilitiesLib/OSRef.cpp
CommonUtilitiesLib/OSThread.cpp
CommonUtilitiesLib/ResizeableStringFormatter.cpp
CommonUtilitiesLib/Socket.cpp
CommonUtilitiesLib/SocketUtils.cpp
CommonUtilitiesLib/StringFormatter.cpp
CommonUtilitiesLib/StringParser.cpp
CommonUtilitiesLib/StringTranslator.cpp
CommonUtilitiesLib/StrPtrLen.cpp
CommonUtilitiesLib/Task.cpp
CommonUtilitiesLib/TCPSocket.cpp
CommonUtilitiesLib/Trim.c
OSMemoryLib/OSMemory.cpp
PlaylistBroadcaster.tproj/NoRepeat.cpp
PlaylistBroadcaster.tproj/PickerFromFile.cpp
PlaylistBroadcaster.tproj/PlaylistPicker.cpp
MP3Broadcaster/BroadcasterMain.cpp
MP3Broadcaster/MP3Broadcaster.cpp
MP3Broadcaster/MP3Broadcaster.h
MP3Broadcaster/MP3BroadcasterLog.cpp
MP3Broadcaster/MP3BroadcasterLog.h
MP3Broadcaster/MP3FileBroadcaster.cpp
MP3Broadcaster/MP3FileBroadcaster.h
MP3Broadcaster/MP3MetaInfoUpdater.cpp
MP3Broadcaster/MP3MetaInfoUpdater.h)
add_executable(MP3Broadcaster ${MP3_BROADCASTER_SOURCE_FILES})
target_link_libraries(MP3Broadcaster pthread)
set(QTFILELIB_COMMON_SOURCE_FILES
SafeStdLib/InternalStdLib.cpp
CommonUtilitiesLib/DateTranslator.cpp
CommonUtilitiesLib/MyAssert.cpp
CommonUtilitiesLib/OS.cpp
CommonUtilitiesLib/OSCond.cpp
CommonUtilitiesLib/OSFileSource.cpp
CommonUtilitiesLib/OSMutex.cpp
CommonUtilitiesLib/OSQueue.cpp
CommonUtilitiesLib/StringParser.cpp
CommonUtilitiesLib/StrPtrLen.cpp
RTPMetaInfoLib/RTPMetaInfoPacket.cpp
${QTATOM_SOURCE_FILES}
QTFileLib/QTFile.cpp
QTFileLib/QTHintTrack.cpp
QTFileLib/QTTrack.cpp
QTFileLib/QTFile_FileControlBlock.cpp)
add_executable(QTBroadcaster ${QTFILELIB_COMMON_SOURCE_FILES}
QTFileLib/QTRTPFile.cpp
QTFileTools/QTBroadcaster.tproj/QTBroadcaster.cpp)
target_link_libraries(QTBroadcaster pthread)
add_executable(QTFileInfo ${QTFILELIB_COMMON_SOURCE_FILES} QTFileTools/QTFileInfo.tproj/QTFileInfo.cpp)
target_link_libraries(QTFileInfo pthread)
add_executable(QTFileTest ${QTFILELIB_COMMON_SOURCE_FILES} QTFileTools/QTFileTest.tproj/QTFileTest.cpp)
target_link_libraries(QTFileTest pthread)