1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

UTest: Upgrade gtest to 1.11 and support clion. (#2970)

This commit is contained in:
Winlin 2022-03-17 16:56:52 +08:00 committed by GitHub
parent c5cc79ee6f
commit 350c05c589
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
83 changed files with 40318 additions and 31 deletions

View file

@ -1,5 +1,14 @@
# Name of the project.
# Language "C" is required for find_package(Threads).
if (CMAKE_VERSION VERSION_LESS 3.0)
project(srs CXX C)
else()
cmake_policy(SET CMP0048 NEW)
project(srs VERSION 4.0.0 LANGUAGES CXX C)
endif()
cmake_minimum_required(VERSION 2.8.12)
project(srs CXX)
# For utest required C++11.
set (CMAKE_CXX_STANDARD 11)
###########################################################
@ -17,9 +26,9 @@ ProcessorCount(JOBS)
# We should always configure SRS for switching between branches.
IF (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
EXEC_PROGRAM("cd ${SRS_DIR} && ./configure --osx --srt=on --jobs=${JOBS}")
EXEC_PROGRAM("cd ${SRS_DIR} && ./configure --osx --srt=on --utest=on --jobs=${JOBS}")
ELSE ()
EXEC_PROGRAM("cd ${SRS_DIR} && ./configure --jobs=${JOBS}")
EXEC_PROGRAM("cd ${SRS_DIR} && ./configure --srt=on --utest=on --jobs=${JOBS}")
ENDIF ()
set(DEPS_LIBS ${SRS_DIR}/objs/st/libst.a
@ -40,7 +49,7 @@ foreach(DEPS_LIB ${DEPS_LIBS})
endforeach()
###########################################################
# Setup SRS project
# For whole project.
INCLUDE_DIRECTORIES(${SRS_DIR}/objs
${SRS_DIR}/objs/st
${SRS_DIR}/objs/openssl/include
@ -55,22 +64,48 @@ INCLUDE_DIRECTORIES(${SRS_DIR}/objs
${SRS_DIR}/src/service
${SRS_DIR}/src/srt)
set(SOURCE_FILES ${SRS_DIR}/src/main/srs_main_server.cpp)
# Common used sources for SRS and utest.
AUX_SOURCE_DIRECTORY(${SRS_DIR}/src/core SOURCE_FILES)
AUX_SOURCE_DIRECTORY(${SRS_DIR}/src/kernel SOURCE_FILES)
AUX_SOURCE_DIRECTORY(${SRS_DIR}/src/protocol SOURCE_FILES)
AUX_SOURCE_DIRECTORY(${SRS_DIR}/src/app SOURCE_FILES)
AUX_SOURCE_DIRECTORY(${SRS_DIR}/src/srt SOURCE_FILES)
# Remove the duplicated main.
# Remove the duplicated test main for srt.
# TODO: FIMXE: Remove the file directly, use utest or main or research.
list(REMOVE_ITEM SOURCE_FILES ${SRS_DIR}/src/srt/ts_demux_test.cpp)
ADD_DEFINITIONS("-g -O0")
ADD_EXECUTABLE(srs ${SOURCE_FILES})
###########################################################
# Setup SRS project
set(SRS_SOURCE_FILES ${SOURCE_FILES})
list(APPEND SRS_SOURCE_FILES ${SRS_DIR}/src/main/srs_main_server.cpp)
ADD_EXECUTABLE(srs ${SRS_SOURCE_FILES})
TARGET_LINK_LIBRARIES(srs dl)
TARGET_LINK_LIBRARIES(srs ${DEPS_LIBS})
TARGET_LINK_LIBRARIES(srs -ldl -pthread)
###########################################################
# For utest.
# See https://google.github.io/googletest/quickstart-cmake.html
# See https://stackoverflow.com/a/21479008/17679565
ADD_SUBDIRECTORY(${SRS_DIR}/3rdparty/gtest-fit gtest-fit)
INCLUDE_DIRECTORIES(${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR})
INCLUDE_DIRECTORIES(${SRS_DIR}/src/utest)
set(UTEST_SOURCE_FILES ${SOURCE_FILES})
AUX_SOURCE_DIRECTORY(${SRS_DIR}/src/utest UTEST_SOURCE_FILES)
ADD_EXECUTABLE(utest ${UTEST_SOURCE_FILES})
TARGET_LINK_LIBRARIES(utest gtest gtest_main)
TARGET_LINK_LIBRARIES(utest dl)
TARGET_LINK_LIBRARIES(utest ${DEPS_LIBS})
TARGET_LINK_LIBRARIES(utest -ldl -pthread)
###########################################################
# Done
MESSAGE(STATUS "@see https://github.com/ossrs/srs/wiki/v4_CN_IDE")