Build uvgRTP as a shared library
Switch from static to shared library format and use whole-archive option to include POSIX threads and Crypto++ into the output library
This commit is contained in:
parent
171b73af21
commit
39f4e036cf
|
@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.5)
|
|||
|
||||
project(uvgrtp)
|
||||
|
||||
add_library(uvgrtp STATIC
|
||||
add_library(uvgrtp SHARED
|
||||
src/clock.cc
|
||||
src/crypto.cc
|
||||
src/dispatch.cc
|
||||
|
@ -28,6 +28,8 @@ add_library(uvgrtp STATIC
|
|||
src/formats/h264_pkt_handler.cc
|
||||
src/formats/h265.cc
|
||||
src/formats/h265_pkt_handler.cc
|
||||
src/formats/h266.cc
|
||||
src/formats/h266_pkt_handler.cc
|
||||
src/zrtp/zrtp_receiver.cc
|
||||
src/zrtp/hello.cc
|
||||
src/zrtp/hello_ack.cc
|
||||
|
@ -57,9 +59,12 @@ target_include_directories(uvgrtp
|
|||
)
|
||||
|
||||
if (UNIX)
|
||||
set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wuninitialized -Wshadow -O2 -std=c++17 -march=native -DNDEBUG")
|
||||
target_link_libraries(uvgrtp PRIVATE -Wl,--whole-archive -lpthread -lcryptopp -Wl,--no-whole-archive)
|
||||
|
||||
install(TARGETS uvgrtp
|
||||
ARCHIVE
|
||||
DESTINATION /usr/local/lib
|
||||
DESTINATION /usr/lib
|
||||
)
|
||||
install(DIRECTORY include/ DESTINATION /usr/local/include/uvgrtp
|
||||
FILES_MATCHING PATTERN "*.hh"
|
||||
|
@ -67,6 +72,9 @@ if (UNIX)
|
|||
endif (UNIX)
|
||||
|
||||
if (WIN32)
|
||||
# set(CMAKE_CXX_FLAGS "")
|
||||
# target_link_libraries(uvgrtp PRIVATE /WHOLEARCHIVE -lpthread -lcryptopp)
|
||||
|
||||
install(TARGETS uvgrtp
|
||||
ARCHIVE
|
||||
DESTINATION ${PROJECT_BINARY_DIR}/lib
|
||||
|
|
Loading…
Reference in New Issue