- add missed libsrtp files
This commit is contained in:
10
src/libs/libsrtp/cmake/ConfigSafeGuards.cmake
Normal file
10
src/libs/libsrtp/cmake/ConfigSafeGuards.cmake
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
||||||
|
message(
|
||||||
|
FATAL_ERROR
|
||||||
|
"In-source builds not allowed. Please make a build directory.")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT CMAKE_BUILD_TYPE)
|
||||||
|
message(STATUS "No build type selected, default to Debug")
|
||||||
|
set(CMAKE_BUILD_TYPE "Debug")
|
||||||
|
endif()
|
||||||
38
src/libs/libsrtp/cmake/FindMbedTLS.cmake
Normal file
38
src/libs/libsrtp/cmake/FindMbedTLS.cmake
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
find_path(MBEDTLS_INCLUDE_DIRS mbedtls/ssl.h)
|
||||||
|
|
||||||
|
find_library(MBEDTLS_LIBRARY mbedtls)
|
||||||
|
find_library(MBEDX509_LIBRARY mbedx509)
|
||||||
|
find_library(MBEDCRYPTO_LIBRARY mbedcrypto)
|
||||||
|
|
||||||
|
set(MBEDTLS_LIBRARIES "${MBEDTLS_LIBRARY}" "${MBEDX509_LIBRARY}" "${MBEDCRYPTO_LIBRARY}")
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(MbedTLS DEFAULT_MSG
|
||||||
|
MBEDTLS_LIBRARY MBEDTLS_INCLUDE_DIRS MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY)
|
||||||
|
|
||||||
|
mark_as_advanced(MBEDTLS_INCLUDE_DIRS MBEDTLS_LIBRARY MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY)
|
||||||
|
|
||||||
|
if(NOT TARGET MbedTLS)
|
||||||
|
message("in mbedtls ${MBEDTLS_LIBRARY}")
|
||||||
|
add_library(MbedTLS UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(MbedTLS PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${MBEDTLS_INCLUDE_DIRS}"
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||||
|
IMPORTED_LOCATION "${MBEDTLS_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT TARGET MbedCrypto)
|
||||||
|
add_library(MbedCrypto UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(MbedCrypto PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${MBEDTLS_INCLUDE_DIRS}"
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||||
|
IMPORTED_LOCATION "${MBEDCRYPTO_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT TARGET MbedX509)
|
||||||
|
add_library(MbedX509 UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(MbedX509 PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${MBEDTLS_INCLUDE_DIRS}"
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||||
|
IMPORTED_LOCATION "${MBEDX509_LIBRARY}")
|
||||||
|
endif()
|
||||||
15
src/libs/libsrtp/cmake/FindNSS.cmake
Normal file
15
src/libs/libsrtp/cmake/FindNSS.cmake
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
find_path(NSS_INCLUDE_DIR nss/nss.h)
|
||||||
|
find_path(NSPR_INCLUDE_DIR nspr/nspr.h)
|
||||||
|
|
||||||
|
set(NSS_INCLUDE_DIRS "${NSS_INCLUDE_DIR}/nss" "${NSPR_INCLUDE_DIR}/nspr")
|
||||||
|
|
||||||
|
find_library(NSS3_LIBRARY nss3)
|
||||||
|
find_library(NSPR4_LIBRARY nspr4)
|
||||||
|
|
||||||
|
set(NSS_LIBRARIES "${NSS3_LIBRARY}" "${NSPR4_LIBRARY}")
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(NSS DEFAULT_MSG
|
||||||
|
NSS3_LIBRARY NSS_INCLUDE_DIR NSPR4_LIBRARY NSPR_INCLUDE_DIR)
|
||||||
|
|
||||||
|
mark_as_advanced(NSS_INCLUDE_DIR NSPR_INCLUDE_DIR NSS3_LIBRARY NSPR4_LIBRARY)
|
||||||
12
src/libs/libsrtp/cmake/FindPCAP.cmake
Normal file
12
src/libs/libsrtp/cmake/FindPCAP.cmake
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
find_path(PCAP_INCLUDE_DIR_TEMP pcap.h)
|
||||||
|
find_library(PCAP_LIBRARY_TEMP pcap)
|
||||||
|
|
||||||
|
if (PCAP_INCLUDE_DIR_TEMP AND PCAP_LIBRARY_TEMP)
|
||||||
|
set(PCAP_LIBRARY pcap)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(PCAP DEFAULT_MSG
|
||||||
|
PCAP_LIBRARY)
|
||||||
|
|
||||||
|
mark_as_advanced(PCAP_LIBRARY)
|
||||||
22
src/libs/libsrtp/cmake/FindwolfSSL.cmake
Normal file
22
src/libs/libsrtp/cmake/FindwolfSSL.cmake
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
if (WOLFSSL_ROOT_DIR)
|
||||||
|
set(_WOLFSSL_ROOT_HINTS_AND_PATHS HINTS ${WOLFSSL_ROOT_DIR} PATH_SUFFIXES include lib NO_DEFAULT_PATH)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_path(WOLFSSL_INCLUDE_DIR wolfssl/ssl.h ${_WOLFSSL_ROOT_HINTS_AND_PATHS})
|
||||||
|
|
||||||
|
find_library(WOLFSSL_LIBRARY wolfssl ${_WOLFSSL_ROOT_HINTS_AND_PATHS})
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(wolfSSL DEFAULT_MSG
|
||||||
|
WOLFSSL_LIBRARY WOLFSSL_INCLUDE_DIR)
|
||||||
|
|
||||||
|
mark_as_advanced(WOLFSSL_INCLUDE_DIR WOLFSSL_LIBRARY)
|
||||||
|
|
||||||
|
if(NOT TARGET wolfSSL)
|
||||||
|
add_library(wolfSSL UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(wolfSSL PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${WOLFSSL_INCLUDE_DIR}"
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||||
|
IMPORTED_LOCATION "${WOLFSSL_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
|
||||||
19
src/libs/libsrtp/cmake/LTO.cmake
Normal file
19
src/libs/libsrtp/cmake/LTO.cmake
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
function(target_enable_lto)
|
||||||
|
set(oneValueArgs TARGET ENABLE)
|
||||||
|
cmake_parse_arguments(
|
||||||
|
LTO
|
||||||
|
"${options}"
|
||||||
|
"${oneValueArgs}"
|
||||||
|
"${multiValueArgs}"
|
||||||
|
${ARGN})
|
||||||
|
|
||||||
|
include(CheckIPOSupported)
|
||||||
|
check_ipo_supported(RESULT result OUTPUT output)
|
||||||
|
if(result)
|
||||||
|
message(STATUS "IPO/LTO is supported: ${LTO_TARGET}")
|
||||||
|
set_property(TARGET ${LTO_TARGET} PROPERTY INTERPROCEDURAL_OPTIMIZATION
|
||||||
|
${LTO_ENABLE})
|
||||||
|
else()
|
||||||
|
message(WARNING "IPO/LTO is not supported: ${LTO_TARGET}")
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
52
src/libs/libsrtp/cmake/Sanitizer.cmake
Normal file
52
src/libs/libsrtp/cmake/Sanitizer.cmake
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
function(add_sanitizer_flags)
|
||||||
|
if(NOT ENABLE_SANITIZE_ADDR AND NOT ENABLE_SANITIZE_UNDEF)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_C_COMPILER_ID MATCHES "Clang" OR CMAKE_C_COMPILER_ID MATCHES "GNU")
|
||||||
|
add_compile_options("-fno-omit-frame-pointer")
|
||||||
|
add_link_options("-fno-omit-frame-pointer")
|
||||||
|
|
||||||
|
if(ENABLE_SANITIZE_ADDR)
|
||||||
|
add_compile_options("-fsanitize=address")
|
||||||
|
add_link_options("-fsanitize=address")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ENABLE_SANITIZE_UNDEF)
|
||||||
|
add_compile_options("-fsanitize=undefined")
|
||||||
|
add_link_options("-fsanitize=undefined")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ENABLE_SANITIZE_LEAK)
|
||||||
|
add_compile_options("-fsanitize=leak")
|
||||||
|
add_link_options("-fsanitize=leak")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ENABLE_SANITIZE_THREAD)
|
||||||
|
if(ENABLE_SANITIZE_ADDR OR ENABLE_SANITIZE_LEAK)
|
||||||
|
message(WARNING "thread does not work with: address and leak")
|
||||||
|
endif()
|
||||||
|
add_compile_options("-fsanitize=thread")
|
||||||
|
add_link_options("-fsanitize=thread")
|
||||||
|
endif()
|
||||||
|
elseif(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
|
||||||
|
if(ENABLE_SANITIZE_ADDR)
|
||||||
|
add_compile_options("/fsanitize=address")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ENABLE_SANITIZE_UNDEF)
|
||||||
|
message(STATUS "sanitize=undefined not avail. for MSVC")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ENABLE_SANITIZE_LEAK)
|
||||||
|
message(STATUS "sanitize=leak not avail. for MSVC")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ENABLE_SANITIZE_THREAD)
|
||||||
|
message(STATUS "sanitize=thread not avail. for MSVC")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
message(WARNING "This sanitizer not supported in this environment (${CMAKE_C_COMPILER_ID})")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
endfunction(add_sanitizer_flags)
|
||||||
74
src/libs/libsrtp/cmake/Warnings.cmake
Normal file
74
src/libs/libsrtp/cmake/Warnings.cmake
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
function(target_set_warnings)
|
||||||
|
set(oneValueArgs TARGET ENABLE AS_ERRORS)
|
||||||
|
cmake_parse_arguments(
|
||||||
|
TARGET_SET_WARNINGS
|
||||||
|
"${options}"
|
||||||
|
"${oneValueArgs}"
|
||||||
|
"${multiValueArgs}"
|
||||||
|
${ARGN})
|
||||||
|
|
||||||
|
if(NOT ${TARGET_SET_WARNINGS_ENABLE})
|
||||||
|
message(STATUS "Warnings Disabled for: ${TARGET_SET_WARNINGS_TARGET}")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
message(STATUS "Warnings Active for: ${TARGET_SET_WARNINGS_TARGET}")
|
||||||
|
message(STATUS "Warnings as Errors: ${TARGET_SET_WARNINGS_AS_ERRORS}")
|
||||||
|
|
||||||
|
set(MSVC_WARNINGS
|
||||||
|
# Baseline
|
||||||
|
/W4 # Baseline reasonable warnings
|
||||||
|
/permissive- # standards conformance mode for MSVC compiler
|
||||||
|
# C and C++ Warnings
|
||||||
|
# /w14242 # conversion from 'type1' to 'type1', possible loss of data
|
||||||
|
# /w14254 # 'operator': conversion from 't1:field_bits' to 't2:field_bits'
|
||||||
|
# /w14287 # unsigned/negative constant mismatch
|
||||||
|
# /w14296 # expression is always 'boolean_value'
|
||||||
|
# /w14311 # pointer truncation from 'type1' to 'type2'
|
||||||
|
/w44062 # enumerator in a switch of enum 'enumeration' is not handled
|
||||||
|
# /w44242 # conversion from 'type1' to 'type2', possible loss of data
|
||||||
|
# /w14826 # Conversion from 'type1' to 'type_2' is sign-extended
|
||||||
|
# /w14905 # wide string literal cast to 'LPSTR'
|
||||||
|
# /w14906 # string literal cast to 'LPWSTR'
|
||||||
|
)
|
||||||
|
|
||||||
|
set(CLANG_WARNINGS
|
||||||
|
# Baseline
|
||||||
|
-Wall
|
||||||
|
-Wextra # reasonable and standard
|
||||||
|
-Wshadow # if a variable declaration shadows one from a parent context
|
||||||
|
-Wpedantic # warn if non-standard is used
|
||||||
|
# C and C++ Warnings
|
||||||
|
-Wunused # warn on anything being unused
|
||||||
|
# -Wformat=2 # warn on security issues around functions that format output
|
||||||
|
# -Wcast-align # warn for potential performance problem casts
|
||||||
|
# -Wconversion # warn on type conversions that may lose data
|
||||||
|
# -Wsign-conversion # warn on sign conversions
|
||||||
|
-Wnull-dereference # warn if a null dereference is detected
|
||||||
|
-Wdouble-promotion # warn if float is implicit promoted to double
|
||||||
|
-Wcast-qual
|
||||||
|
)
|
||||||
|
|
||||||
|
set(GCC_WARNINGS
|
||||||
|
${CLANG_WARNINGS}
|
||||||
|
-Wduplicated-cond # warn if if / else chain has duplicated conditions
|
||||||
|
-Wduplicated-branches # warn if if / else branches have duplicated code
|
||||||
|
-Wlogical-op # warn about logical operations being used where bitwise were probably wanted
|
||||||
|
)
|
||||||
|
|
||||||
|
if(${TARGET_SET_WARNINGS_AS_ERRORS})
|
||||||
|
set(CLANG_WARNINGS ${CLANG_WARNINGS} -Werror)
|
||||||
|
set(GCC_WARNINGS ${GCC_WARNINGS} -Werror)
|
||||||
|
set(MSVC_WARNINGS ${MSVC_WARNINGS} /WX)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_C_COMPILER_ID MATCHES "MSVC")
|
||||||
|
set(WARNINGS ${MSVC_WARNINGS})
|
||||||
|
elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||||
|
set(WARNINGS ${CLANG_WARNINGS})
|
||||||
|
elseif(CMAKE_C_COMPILER_ID MATCHES "GNU")
|
||||||
|
set(WARNINGS ${GCC_WARNINGS})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_compile_options(${TARGET_SET_WARNINGS_TARGET} PRIVATE ${WARNINGS})
|
||||||
|
|
||||||
|
endfunction(target_set_warnings)
|
||||||
Reference in New Issue
Block a user