Skip to content

Commit

Permalink
[build] Fix pc file generation when use mbedtls
Browse files Browse the repository at this point in the history
mbedtls doesn't create .pc file by itself. Put mbedtls under
Requires.private leads to pkg-config check error.
  • Loading branch information
quink-black authored and maxsharabayko committed Apr 12, 2021
1 parent c3864aa commit e63edad
Showing 1 changed file with 27 additions and 24 deletions.
51 changes: 27 additions & 24 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -283,14 +283,29 @@ if (ENABLE_ENCRYPTION)
link_directories(
${SSL_LIBRARY_DIRS}
)
else() # Common for mbedtls and openssl
if ("${USE_ENCLIB}" STREQUAL "mbedtls")
add_definitions(-DUSE_MBEDTLS=1)
set (SSL_REQUIRED_MODULES "mbedtls mbedcrypto")
else()
add_definitions(-DUSE_OPENSSL=1)
set (SSL_REQUIRED_MODULES "openssl libcrypto")
elseif ("${USE_ENCLIB}" STREQUAL "mbedtls")
add_definitions(-DUSE_MBEDTLS=1)
if ("${SSL_LIBRARY_DIRS}" STREQUAL "")
set(MBEDTLS_PREFIX "${CMAKE_PREFIX_PATH}" CACHE PATH "The path of mbedtls")
find_package(MbedTLS REQUIRED)
set (SSL_INCLUDE_DIRS ${MBEDTLS_INCLUDE_DIR})
set (SSL_LIBRARIES ${MBEDTLS_LIBRARIES})
endif()
if ("${SSL_LIBRARIES}" STREQUAL "")
set (SSL_LIBRARIES mbedtls mbedcrypto)
endif()
message(STATUS "SSL enforced mbedtls: -I ${SSL_INCLUDE_DIRS} -l;${SSL_LIBRARIES}")

foreach(LIB ${SSL_LIBRARIES})
if(IS_ABSOLUTE ${LIB} AND EXISTS ${LIB})
set (SRT_LIBS_PRIVATE ${SRT_LIBS_PRIVATE} ${LIB})
else()
set(SRT_LIBS_PRIVATE ${SRT_LIBS_PRIVATE} "-l${LIB}")
endif()
endforeach()
else() # openssl
add_definitions(-DUSE_OPENSSL=1)
set (SSL_REQUIRED_MODULES "openssl libcrypto")
# Try using pkg-config method first if enabled,
# fall back to find_package method otherwise
if (USE_OPENSSL_PC)
Expand All @@ -315,24 +330,12 @@ if (ENABLE_ENCRYPTION)
)
message(STATUS "SSL via pkg-config: -L ${SSL_LIBRARY_DIRS} -I ${SSL_INCLUDE_DIRS} -l;${SSL_LIBRARIES}")
else()
if ("${USE_ENCLIB}" STREQUAL "mbedtls")
if ("${SSL_LIBRARY_DIRS}" STREQUAL "")
set(MBEDTLS_PREFIX "${CMAKE_PREFIX_PATH}" CACHE PATH "The path of mbedtls")
find_package(MbedTLS REQUIRED)
set (SSL_INCLUDE_DIRS ${MBEDTLS_INCLUDE_DIR})
set (SSL_LIBRARIES ${MBEDTLS_LIBRARIES})
endif()
if ("${SSL_LIBRARIES}" STREQUAL "")
set (SSL_LIBRARIES mbedtls mbedcrypto)
endif()
message(STATUS "SSL enforced mbedtls: -I ${SSL_INCLUDE_DIRS} -l;${SSL_LIBRARIES}")
else()
find_package(OpenSSL REQUIRED)
set (SSL_INCLUDE_DIRS ${OPENSSL_INCLUDE_DIR})
set (SSL_LIBRARIES ${OPENSSL_LIBRARIES})
message(STATUS "SSL via find_package(OpenSSL): -I ${SSL_INCLUDE_DIRS} -l;${SSL_LIBRARIES}")
endif()
find_package(OpenSSL REQUIRED)
set (SSL_INCLUDE_DIRS ${OPENSSL_INCLUDE_DIR})
set (SSL_LIBRARIES ${OPENSSL_LIBRARIES})
message(STATUS "SSL via find_package(OpenSSL): -I ${SSL_INCLUDE_DIRS} -l;${SSL_LIBRARIES}")
endif()

endif()

add_definitions(-DSRT_ENABLE_ENCRYPTION)
Expand Down

0 comments on commit e63edad

Please sign in to comment.