mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
[IDE] Support CLion and cmake to build and debug SRS. 4.0.141
1. Remove all except JetBrains clion by cmake 2. Add .run/srs.run.xml for debugging for CLion. 3. Auto configure SRS when load CMakeLists.txt
This commit is contained in:
parent
3182dee1c5
commit
c209e547a8
17 changed files with 82 additions and 2284 deletions
|
@ -1,6 +1,34 @@
|
|||
cmake_minimum_required(VERSION 2.6.4)
|
||||
cmake_minimum_required(VERSION 2.8.12)
|
||||
project(srs CXX)
|
||||
|
||||
###########################################################
|
||||
# Start to configure SRS with jobs of number of CPUs.
|
||||
include(ProcessorCount)
|
||||
ProcessorCount(JOBS)
|
||||
|
||||
set(DEPS_LIBS ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a
|
||||
${PROJECT_SOURCE_DIR}/../../objs/openssl/lib/libssl.a
|
||||
${PROJECT_SOURCE_DIR}/../../objs/openssl/lib/libcrypto.a
|
||||
${PROJECT_SOURCE_DIR}/../../objs/srtp2/lib/libsrtp2.a
|
||||
${PROJECT_SOURCE_DIR}/../../objs/opus/lib/libopus.a
|
||||
${PROJECT_SOURCE_DIR}/../../objs/ffmpeg/lib/libavutil.a
|
||||
${PROJECT_SOURCE_DIR}/../../objs/ffmpeg/lib/libavcodec.a
|
||||
${PROJECT_SOURCE_DIR}/../../objs/ffmpeg/lib/libswresample.a)
|
||||
foreach(DEPS_LIB ${DEPS_LIBS})
|
||||
IF (NOT EXISTS ${DEPS_LIB})
|
||||
MESSAGE("${DEPS_LIB} not found")
|
||||
IF (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
EXEC_PROGRAM("cd ../../.. && ./configure --osx --jobs=${JOBS}")
|
||||
ELSE ()
|
||||
EXEC_PROGRAM("cd ../../.. && ./configure --jobs=${JOBS}")
|
||||
ENDIF ()
|
||||
ELSE ()
|
||||
MESSAGE("${DEPS_LIB} is ok")
|
||||
ENDIF ()
|
||||
endforeach()
|
||||
|
||||
###########################################################
|
||||
# Setup SRS project
|
||||
INCLUDE_DIRECTORIES(../../objs
|
||||
../../objs/st
|
||||
../../objs/hp
|
||||
|
@ -19,31 +47,13 @@ AUX_SOURCE_DIRECTORY(../../src/core SOURCE_FILES)
|
|||
AUX_SOURCE_DIRECTORY(../../src/kernel SOURCE_FILES)
|
||||
AUX_SOURCE_DIRECTORY(../../src/protocol SOURCE_FILES)
|
||||
AUX_SOURCE_DIRECTORY(../../src/app SOURCE_FILES)
|
||||
AUX_SOURCE_DIRECTORY(../../src/service SOURCE_FILES)
|
||||
|
||||
ADD_DEFINITIONS("-g -O0")
|
||||
|
||||
ADD_EXECUTABLE(srs ${SOURCE_FILES})
|
||||
TARGET_LINK_LIBRARIES(srs dl)
|
||||
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a)
|
||||
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/openssl/lib/libssl.a)
|
||||
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/openssl/lib/libcrypto.a)
|
||||
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/srtp2/lib/libsrtp2.a)
|
||||
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/opus/lib/libopus.a)
|
||||
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/ffmpeg/lib/libavutil.a)
|
||||
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/ffmpeg/lib/libavcodec.a)
|
||||
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/ffmpeg/lib/libswresample.a)
|
||||
TARGET_LINK_LIBRARIES(srs ${DEPS_LIBS})
|
||||
TARGET_LINK_LIBRARIES(srs -ldl)
|
||||
|
||||
IF (NOT EXISTS ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a)
|
||||
MESSAGE("srs_libs not found")
|
||||
EXEC_PROGRAM("cd .. && ./configure")
|
||||
ELSE (NOT EXISTS ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a)
|
||||
MESSAGE("srs_libs is ok")
|
||||
ENDIF (NOT EXISTS ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a)
|
||||
|
||||
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/ossrs/srs/wiki/v1_CN_IDE#jetbrains")
|
||||
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/ossrs/srs/wiki/v1_CN_IDE#jetbrains")
|
||||
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/ossrs/srs/wiki/v1_CN_IDE#jetbrains")
|
||||
MESSAGE(STATUS "use ./configure && make, @see https://github.com/ossrs/srs#usage")
|
||||
MESSAGE(STATUS "@see https://github.com/ossrs/srs/wiki/v4_CN_IDE")
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue