| 
									
										
										
										
											2020-04-17 09:27:37 +00:00
										 |  |  | cmake_minimum_required(VERSION 3.5)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-27 11:07:24 +00:00
										 |  |  | project(uvgrtp)
 | 
					
						
							| 
									
										
										
										
											2020-04-17 09:27:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 06:12:15 +00:00
										 |  |  | option(DISABLE_CRYPTO "Do not build uvgRTP with crypto enabled")
 | 
					
						
							|  |  |  | option(PTHREADS_PATH  "Path to POSIX threads static library")
 | 
					
						
							|  |  |  | option(CRYPTOPP_PATH  "Path to Crypto++ static library")
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | add_library(uvgrtp STATIC | 
					
						
							| 
									
										
										
										
											2020-12-11 04:39:18 +00:00
										 |  |  |     src/clock.cc
 | 
					
						
							|  |  |  |     src/crypto.cc
 | 
					
						
							|  |  |  |     src/dispatch.cc
 | 
					
						
							|  |  |  |     src/frame.cc
 | 
					
						
							|  |  |  |     src/hostname.cc
 | 
					
						
							|  |  |  |     src/lib.cc
 | 
					
						
							|  |  |  |     src/media_stream.cc
 | 
					
						
							|  |  |  |     src/mingw_inet.cc
 | 
					
						
							|  |  |  |     src/multicast.cc
 | 
					
						
							|  |  |  |     src/pkt_dispatch.cc
 | 
					
						
							|  |  |  |     src/poll.cc
 | 
					
						
							|  |  |  |     src/queue.cc
 | 
					
						
							|  |  |  |     src/random.cc
 | 
					
						
							|  |  |  |     src/rtcp.cc
 | 
					
						
							|  |  |  |     src/rtp.cc
 | 
					
						
							|  |  |  |     src/runner.cc
 | 
					
						
							|  |  |  |     src/session.cc
 | 
					
						
							|  |  |  |     src/socket.cc
 | 
					
						
							|  |  |  |     src/zrtp.cc
 | 
					
						
							| 
									
										
										
										
											2021-02-14 01:36:27 +00:00
										 |  |  |     src/holepuncher.cc
 | 
					
						
							| 
									
										
										
										
											2020-12-11 04:39:18 +00:00
										 |  |  |     src/formats/media.cc
 | 
					
						
							|  |  |  |     src/formats/h26x.cc
 | 
					
						
							|  |  |  |     src/formats/h264.cc
 | 
					
						
							|  |  |  |     src/formats/h264_pkt_handler.cc
 | 
					
						
							|  |  |  |     src/formats/h265.cc
 | 
					
						
							|  |  |  |     src/formats/h265_pkt_handler.cc
 | 
					
						
							| 
									
										
										
										
											2020-12-11 05:54:44 +00:00
										 |  |  |     src/formats/h266.cc
 | 
					
						
							|  |  |  |     src/formats/h266_pkt_handler.cc
 | 
					
						
							| 
									
										
										
										
											2020-12-11 04:39:18 +00:00
										 |  |  |     src/zrtp/zrtp_receiver.cc
 | 
					
						
							|  |  |  |     src/zrtp/hello.cc
 | 
					
						
							|  |  |  |     src/zrtp/hello_ack.cc
 | 
					
						
							|  |  |  |     src/zrtp/commit.cc
 | 
					
						
							|  |  |  |     src/zrtp/dh_kxchng.cc
 | 
					
						
							|  |  |  |     src/zrtp/confirm.cc
 | 
					
						
							|  |  |  |     src/zrtp/confack.cc
 | 
					
						
							|  |  |  |     src/zrtp/error.cc
 | 
					
						
							|  |  |  |     src/rtcp/app.cc
 | 
					
						
							|  |  |  |     src/rtcp/sdes.cc
 | 
					
						
							|  |  |  |     src/rtcp/bye.cc
 | 
					
						
							|  |  |  |     src/rtcp/receiver.cc
 | 
					
						
							|  |  |  |     src/rtcp/sender.cc
 | 
					
						
							|  |  |  |     src/rtcp/rtcp_runner.cc
 | 
					
						
							|  |  |  |     src/srtp/base.cc
 | 
					
						
							|  |  |  |     src/srtp/srtp.cc
 | 
					
						
							|  |  |  |     src/srtp/srtcp.cc
 | 
					
						
							| 
									
										
										
										
											2020-04-17 09:27:37 +00:00
										 |  |  | )
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-27 11:07:24 +00:00
										 |  |  | target_include_directories(uvgrtp | 
					
						
							| 
									
										
										
										
											2020-04-17 09:27:37 +00:00
										 |  |  |     PUBLIC
 | 
					
						
							| 
									
										
										
										
											2020-04-21 13:41:05 +00:00
										 |  |  |         ${PROJECT_SOURCE_DIR}/include
 | 
					
						
							| 
									
										
										
										
											2020-12-11 04:39:18 +00:00
										 |  |  |         ${PROJECT_SOURCE_DIR}/include/formats
 | 
					
						
							|  |  |  |         ${PROJECT_SOURCE_DIR}/include/zrtp
 | 
					
						
							|  |  |  |         ${PROJECT_SOURCE_DIR}/include/rtcp
 | 
					
						
							|  |  |  |         ${PROJECT_SOURCE_DIR}/include/srtp
 | 
					
						
							| 
									
										
										
										
											2020-04-17 09:27:37 +00:00
										 |  |  | )
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 06:12:15 +00:00
										 |  |  | set(LIBRARY_PATHS "")
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if (PTHREADS_PATH)
 | 
					
						
							|  |  |  |     separate_arguments(LIBRARY_PATHS NATIVE_COMMAND ${PTHREADS_PATH})
 | 
					
						
							|  |  |  | endif (PTHREADS_PATH)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if (CRYPTOPP_PATH AND NOT DISABLE_CRYPTO)
 | 
					
						
							|  |  |  |     separate_arguments(LIBRARY_PATHS NATIVE_COMMAND "${LIBRARY_PATHS} ${CRYPTOPP_PATH}")
 | 
					
						
							|  |  |  | endif (CRYPTOPP_PATH AND NOT DISABLE_CRYPTO)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-17 09:27:37 +00:00
										 |  |  | if (UNIX)
 | 
					
						
							| 
									
										
										
										
											2021-04-22 09:39:07 +00:00
										 |  |  |     set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wuninitialized -Wshadow -O2 -g -std=c++17 -march=native -DNDEBUG")
 | 
					
						
							| 
									
										
										
										
											2021-01-11 06:14:32 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-12 06:12:15 +00:00
										 |  |  |     if (DISABLE_CRYPTO)
 | 
					
						
							|  |  |  |         string(APPEND CMAKE_CXX_FLAGS " -D__RTP_NO_CRYPTO__")
 | 
					
						
							|  |  |  |     endif(DISABLE_CRYPTO)
 | 
					
						
							| 
									
										
										
										
											2021-01-11 06:14:32 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-22 23:25:57 +00:00
										 |  |  |     # if (NOT "${LIBRARY_PATHS}" STREQUAL "")
 | 
					
						
							|  |  |  |     #     add_custom_command(TARGET uvgrtp POST_BUILD
 | 
					
						
							|  |  |  |     #         COMMAND ar crsT ARGS libuvgrtp_thin.a libuvgrtp.a ${LIBRARY_PATHS}
 | 
					
						
							|  |  |  |     #         BYPRODUCTS libuvgrtp_thin.a
 | 
					
						
							|  |  |  |     #         COMMENT "Creating combined archive"
 | 
					
						
							|  |  |  |     #     )
 | 
					
						
							|  |  |  |     #     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libuvgrtp_thin.a
 | 
					
						
							|  |  |  |     #             RENAME libuvgrtp.a
 | 
					
						
							|  |  |  |     #             DESTINATION /usr/local/lib
 | 
					
						
							|  |  |  |     #     )
 | 
					
						
							|  |  |  |     # else (NOT "${LIBRARY_PATHS}" STREQUAL "")
 | 
					
						
							| 
									
										
										
										
											2021-01-12 06:12:15 +00:00
										 |  |  |         install(TARGETS uvgrtp | 
					
						
							|  |  |  |                 ARCHIVE
 | 
					
						
							|  |  |  |                 DESTINATION /usr/local/lib
 | 
					
						
							|  |  |  |         )
 | 
					
						
							| 
									
										
										
										
											2021-03-22 23:25:57 +00:00
										 |  |  |     # endif (NOT "${LIBRARY_PATHS}" STREQUAL "")
 | 
					
						
							| 
									
										
										
										
											2020-12-11 05:54:44 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-11 04:39:18 +00:00
										 |  |  |     install(DIRECTORY include/ DESTINATION /usr/local/include/uvgrtp | 
					
						
							|  |  |  |             FILES_MATCHING PATTERN "*.hh"
 | 
					
						
							|  |  |  |     )
 | 
					
						
							| 
									
										
										
										
											2020-04-17 09:27:37 +00:00
										 |  |  | endif (UNIX)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if (WIN32)
 | 
					
						
							| 
									
										
										
										
											2021-04-19 04:32:09 +00:00
										 |  |  |     if(MSVC)
 | 
					
						
							|  |  |  |         set(CMAKE_CXX_FLAGS "/O2 /std:c++17 /DNDEBUG")
 | 
					
						
							|  |  |  |     else(MSVC)
 | 
					
						
							|  |  |  |         set(CMAKE_CXX_FLAGS "-O2 -std=c++17 -DNDEBUG")
 | 
					
						
							|  |  |  |     endif(MSVC)
 | 
					
						
							| 
									
										
										
										
											2021-01-12 06:12:15 +00:00
										 |  |  |     SET(OUT_DIR ${CMAKE_BINARY_DIR}/Debug)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if (DISABLE_CRYPTO)
 | 
					
						
							| 
									
										
										
										
											2021-04-19 04:32:09 +00:00
										 |  |  |         if(MSVC)
 | 
					
						
							|  |  |  |             string(APPEND CMAKE_CXX_FLAGS " /D__RTP_NO_CRYPTO__")
 | 
					
						
							|  |  |  |         else(MSVC)
 | 
					
						
							|  |  |  |             string(APPEND CMAKE_CXX_FLAGS " -D__RTP_NO_CRYPTO__")
 | 
					
						
							|  |  |  |         endif(MSVC)
 | 
					
						
							| 
									
										
										
										
											2021-01-12 06:12:15 +00:00
										 |  |  |     endif(DISABLE_CRYPTO)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-22 23:25:57 +00:00
										 |  |  |     # if (NOT "${LIBRARY_PATHS}" STREQUAL "")
 | 
					
						
							|  |  |  |     #     add_custom_command(TARGET uvgrtp POST_BUILD
 | 
					
						
							|  |  |  |     #         COMMAND lib /out:${OUT_DIR}/uvgrtp.lib ${OUT_DIR}/uvgrtp.lib ${LIBRARY_PATHS}
 | 
					
						
							|  |  |  |     #         BYPRODUCTS uvgrtp.lib
 | 
					
						
							|  |  |  |     #         COMMENT "Creating combined archive"
 | 
					
						
							|  |  |  |     #     )
 | 
					
						
							|  |  |  |     # else (NOT "${LIBRARY_PATHS}" STREQUAL "")
 | 
					
						
							| 
									
										
										
										
											2021-01-12 06:12:15 +00:00
										 |  |  |         install(TARGETS uvgrtp | 
					
						
							|  |  |  |                 ARCHIVE
 | 
					
						
							|  |  |  |                 DESTINATION ${PROJECT_BINARY_DIR}/lib
 | 
					
						
							|  |  |  |         )
 | 
					
						
							| 
									
										
										
										
											2021-03-22 23:25:57 +00:00
										 |  |  |     # endif (NOT "${LIBRARY_PATHS}" STREQUAL "")
 | 
					
						
							| 
									
										
										
										
											2020-12-11 05:54:44 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-11 04:39:18 +00:00
										 |  |  |     install(DIRECTORY include/ DESTINATION ${PROJECT_BINARY_DIR}/include | 
					
						
							|  |  |  |             FILES_MATCHING PATTERN "*.hh"
 | 
					
						
							|  |  |  |     )
 | 
					
						
							| 
									
										
										
										
											2020-04-17 09:27:37 +00:00
										 |  |  | endif (WIN32)
 |