zeek/auxil/vcpkg/ports/librtmp/CMakeLists.txt
Patrick Kelley 8fd444092b initial
2025-05-07 15:35:15 -04:00

69 lines
1.7 KiB
CMake

cmake_minimum_required(VERSION 3.10)
project(librtmp C)
find_package(ZLIB REQUIRED)
find_package(OpenSSL REQUIRED)
include_directories(${ZLIB_INCLUDE_DIRS})
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
if(MSVC)
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
add_definitions(-D_WINSOCK_DEPRECATED_NO_WARNINGS)
endif()
add_definitions(-DLIBRTMP_ONLY)
# List the header files
set(HEADERS librtmp/amf.h
librtmp/bytes.h
librtmp/dh.h
librtmp/dhgroups.h
librtmp/handshake.h
librtmp/http.h
librtmp/log.h
librtmp/rtmp.h
librtmp/rtmp_sys.h
)
# List the source files
set(SRCS librtmp/amf.c
librtmp/hashswf.c
librtmp/log.c
librtmp/parseurl.c
librtmp/rtmp.c
)
if(MSVC)
set(SRCS_MSVC "librtmp/librtmp.def")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996")
endif()
add_library(rtmp ${SRCS} ${HEADERS} ${SRCS_MSVC})
target_include_directories(rtmp PRIVATE ./librtmp)
target_link_libraries(rtmp PRIVATE ${ZLIB_LIBRARIES} ${OPENSSL_LIBRARIES})
if(MSVC OR MINGW)
target_link_libraries(rtmp PRIVATE Ws2_32.lib Winmm.lib)
endif()
set(libdir [[${prefix}/lib]])
set(VERSION 2.6) # from ChangeLog
set(CRYPTO_REQ "libssl,libcrypto")
if(MSVC OR MINGW)
set(PRIVATE_LIBS "-lWS2_32 -lWinMM")
endif()
configure_file(librtmp/librtmp.pc.in librtmp.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/librtmp.pc
DESTINATION lib/pkgconfig
)
install(TARGETS rtmp
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
install(DIRECTORY ${PROJECT_SOURCE_DIR}/librtmp DESTINATION include FILES_MATCHING PATTERN "*.h")