-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
147 lines (140 loc) · 3.79 KB
/
CMakeLists.txt
File metadata and controls
147 lines (140 loc) · 3.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
set(SOURCE_FILES
../include/NFDecoder/NFDecoderMimeTypes.h
../include/NFDecoder/Factory.h
../include/NFDecoder/Decoder.h
../include/NFDecoder/DataProvider.h
../include/NFDecoder/DataProviderFactory.h
../include/NFDecoder/Decrypter.h
../include/NFDecoder/DecrypterFactory.h
../include/NFDecoder/Manifest.h
../include/NFDecoder/ManifestFactory.h
NFDecoderMimeTypes.cpp
Factory.cpp
Decoder.cpp
FactoryCommonImplementation.h
FactoryCommonImplementation.cpp
FactoryNormalisationImplementation.h
FactoryNormalisationImplementation.cpp
FactoryAppleImplementation.h
FactoryAppleImplementation.cpp
FactoryLGPLImplementation.h
FactoryLGPLImplementation.cpp
DataProvider.cpp
DataProviderFactory.cpp
DataProviderFactoryImplementation.h
DataProviderFactoryImplementation.cpp
DataProviderFileImplementation.h
DataProviderFileImplementation.cpp
DecoderOggImplementation.h
DecoderOggImplementation.cpp
DecoderVorbisImplementation.h
DecoderVorbisImplementation.cpp
DecoderOpusImplementation.h
DecoderOpusImplementation.cpp
DataProviderHTTPImplementation.h
DataProviderHTTPImplementation.cpp
DecoderWavImplementation.h
DecoderWavImplementation.cpp
DecoderAudioConverterImplementation.h
DecoderAudioConverterImplementation.cpp
DecoderAVCodecImplementation.h
DecoderAVCodecImplementation.cpp
DecoderNormalisationImplementation.h
DecoderNormalisationImplementation.cpp
DecoderMidiImplementation.h
DecoderMidiImplementation.cpp
base64.h
base64.cpp
DecrypterFactory.cpp
DecrypterFactoryImplementation.h
DecrypterFactoryImplementation.cpp
Path.h
Path.cpp
LicenseManager.h
ManifestFactory.cpp
ManifestFactoryImplementation.h
ManifestFactoryImplementation.cpp
Decrypter.cpp
LicenseManager.cpp
FactoryServiceImplementation.h
FactoryServiceImplementation.cpp
DataProviderMemoryImplementation.h
DataProviderMemoryImplementation.cpp
DecoderFLACImplementation.h
DecoderFLACImplementation.cpp
DecoderDashToHLSTransmuxerImplementation.h
DecoderDashToHLSTransmuxerImplementation.cpp
FactoryTransmuxerImplementation.h
FactoryTransmuxerImplementation.cpp
DecoderAndroidImplementation.h
DecoderAndroidImplementation.cpp
FactoryAndroidImplementation.h
FactoryAndroidImplementation.cpp
DecoderSpeexImplementation.h
DecoderSpeexImplementation.cpp)
set(LINK_LIBRARIES
ogg
vorbis
vorbisfile
opus
opusfile
libresample
NFHTTP
${OPENSSL_LIBRARIES}
flac
TinySoundFont
speex
)
set(INCLUDE_DIRS
../include
../libraries/vorbis/include
../libraries/opus/include
${OPUSFILE_INCLUDE_DIR}
../libraries/ogg/include
../libraries/NFHTTP/include
../libraries/universal-dash-transmuxer/include
../libraries/speex/include
${CMAKE_BINARY_DIR}/output)
if(INCLUDE_UDT)
set(DASH_LIBRARIES
DashToHlsLibrary
DashToHlsDash
DashToHlsTs
DashToHlsPs
)
list(APPEND LINK_LIBRARIES ${DASH_LIBRARIES})
endif()
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
find_library(AUDIO_TOOLBOX AudioToolbox)
list(APPEND LINK_LIBRARIES ${AUDIO_TOOLBOX})
endif()
if(FFMPEG_FOUND)
list(APPEND LINK_LIBRARIES
AvCodec
AvDevice
AvFilter
AvFormat
AvResample
AvUtil
SwResample
SwScale)
list(APPEND INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR})
endif()
add_library(NFDecoder STATIC ${SOURCE_FILES})
target_include_directories(NFDecoder PUBLIC ../include PRIVATE ${INCLUDE_DIRS})
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
target_link_libraries(NFDecoder ${LINK_LIBRARIES})
else()
target_link_libraries(NFDecoder -Wl,--start-group
${LINK_LIBRARIES}
-Wl,--end-group)
endif()
if(NOT IOS)
add_subdirectory(cli)
endif()
if(USE_FFMPEG)
target_compile_definitions(NFDecoder PRIVATE USE_FFMPEG=1)
endif()
if(INCLUDE_UDT)
add_definitions(-DINCLUDE_UDT=1)
endif()