Skip to content

Commit 97c627f

Browse files
committedJul 17, 2021
Squash: Support CLion
1 parent 12ba584 commit 97c627f

22 files changed

+135
-2322
lines changed
 

‎.github/workflows/codeql-analysis.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ on:
1818
# The branches below must be a subset of the branches above
1919
branches: [ 4.0release, develop ]
2020
schedule:
21-
- cron: '43 11 * * 0'
21+
# '20 19 * * 6' means 'At 19:20, only on Saturday' @see https://crontab.cronhub.io/
22+
- cron: '20 19 * * 6'
2223

2324
jobs:
2425
analyze:

‎.gitignore

+7-2
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,10 @@
3434
.idea
3535
.DS_Store
3636

37-
/cmake-build-debug/
38-
/CMakeLists.txt
37+
cmake-build-debug
38+
/trunk/ide/srs_clion/CMakeCache.txt
39+
/trunk/ide/srs_clion/CMakeFiles
40+
/trunk/ide/srs_clion/Makefile
41+
/trunk/ide/srs_clion/cmake_install.cmake
42+
/trunk/ide/srs_clion/srs
43+
/trunk/ide/srs_clion/Testing/

‎.run/srs.run.xml

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="srs" type="CMakeRunConfiguration" factoryName="Application" PROGRAM_PARAMS="-c conf/clion.conf" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" WORKING_DIR="file://$CMakeCurrentBuildDir$/../../../" PASS_PARENT_ENVS_2="true" PROJECT_NAME="srs" TARGET_NAME="srs" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="srs" RUN_TARGET_NAME="srs">
3+
<method v="2">
4+
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
5+
</method>
6+
</configuration>
7+
</component>

‎CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ The changelog for SRS.
2020

2121
## SRS 4.0 Changelog
2222

23+
* v4.0, 2021-07-17, Fix bugs and enhance code. 4.0.142
24+
* v4.0, 2021-07-16, Support [CLion and cmake](https://github.com/ossrs/srs/wiki/v4_CN_IDE#clion) to build and debug SRS. 4.0.141
2325
* v4.0, 2021-07-08, For [#2403](https://github.com/ossrs/srs/issues/2403), fix padding packets for RTMP2RTC. 4.0.140
2426
* v4.0, 2021-07-04, For [#2424](https://github.com/ossrs/srs/issues/2424), use srandom/random to generate. 4.0.139
2527
* v4.0, 2021-07-01, Merge [#2452](https://github.com/ossrs/srs/pull/2452), fix FFmpeg bug by updating channel_layout. 4.0.138

‎README.md

+1
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ Other API used by [ossrs.net](https://ossrs.net):
136136
* `/service/v1/` The latest available version API.
137137
* `/ws-service/v1/` The latest available version API, by websocket.
138138
* `/im-service/v1/` The latest available version API, by IM.
139+
* `/code-service/v1/` The latest available version API, by Code verification.
139140

140141
## Features
141142

‎trunk/.gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,3 @@ bug
4949
/research/thread-model/thread-local
5050
*.gcp
5151
*.svg
52-

‎trunk/conf/clion.conf

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
2+
listen 1935;
3+
max_connections 1000;
4+
daemon off;
5+
srs_log_tank console;
6+
7+
http_server {
8+
enabled on;
9+
listen 8080;
10+
dir ./objs/nginx/html;
11+
}
12+
13+
http_api {
14+
enabled on;
15+
listen 1985;
16+
}
17+
stats {
18+
network 0;
19+
}
20+
rtc_server {
21+
enabled on;
22+
# Listen at udp://8000
23+
listen 8000;
24+
#
25+
# The $CANDIDATE means fetch from env, if not configed, use * as default.
26+
#
27+
# The * means retrieving server IP automatically, from all network interfaces,
28+
# @see https://github.com/ossrs/srs/wiki/v4_CN_RTCWiki#config-candidate
29+
candidate $CANDIDATE;
30+
}
31+
32+
vhost __defaultVhost__ {
33+
rtc {
34+
enabled on;
35+
}
36+
http_remux {
37+
enabled on;
38+
mount [vhost]/[app]/[stream].flv;
39+
}
40+
}
41+

‎trunk/ide/readme.txt

-5
This file was deleted.

‎trunk/ide/srs_clion/CMakeLists.txt

+56-39
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,66 @@
1-
cmake_minimum_required(VERSION 2.6.4)
1+
cmake_minimum_required(VERSION 2.8.12)
22
project(srs CXX)
33

4-
INCLUDE_DIRECTORIES(../../objs
5-
../../objs/st
6-
../../objs/hp
7-
../../objs/openssl/include
8-
../../src/core
9-
../../src/kernel
10-
../../src/protocol
11-
../../src/app
12-
../../src/service
13-
../../objs/srtp2/include
14-
../../objs/opus/include
15-
../../objs/ffmpeg/include)
16-
17-
set(SOURCE_FILES ../../src/main/srs_main_server.cpp)
18-
AUX_SOURCE_DIRECTORY(../../src/core SOURCE_FILES)
19-
AUX_SOURCE_DIRECTORY(../../src/kernel SOURCE_FILES)
20-
AUX_SOURCE_DIRECTORY(../../src/protocol SOURCE_FILES)
21-
AUX_SOURCE_DIRECTORY(../../src/app SOURCE_FILES)
22-
AUX_SOURCE_DIRECTORY(../../src/service SOURCE_FILES)
4+
###########################################################
5+
execute_process(
6+
COMMAND bash -c "cd ${PROJECT_SOURCE_DIR}/../../ && pwd"
7+
OUTPUT_VARIABLE SRS_DIR
8+
)
9+
string(STRIP ${SRS_DIR} SRS_DIR)
10+
message("SRS home is ${SRS_DIR}")
11+
12+
###########################################################
13+
# Start to configure SRS with jobs of number of CPUs.
14+
include(ProcessorCount)
15+
ProcessorCount(JOBS)
16+
17+
set(DEPS_LIBS ${SRS_DIR}/objs/st/libst.a
18+
${SRS_DIR}/objs/openssl/lib/libssl.a
19+
${SRS_DIR}/objs/openssl/lib/libcrypto.a
20+
${SRS_DIR}/objs/srtp2/lib/libsrtp2.a
21+
${SRS_DIR}/objs/opus/lib/libopus.a
22+
${SRS_DIR}/objs/ffmpeg/lib/libavutil.a
23+
${SRS_DIR}/objs/ffmpeg/lib/libavcodec.a
24+
${SRS_DIR}/objs/ffmpeg/lib/libswresample.a)
25+
foreach(DEPS_LIB ${DEPS_LIBS})
26+
IF (NOT EXISTS ${DEPS_LIB})
27+
MESSAGE("${DEPS_LIB} not found")
28+
IF (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
29+
EXEC_PROGRAM("cd ${SRS_DIR} && ./configure --osx --jobs=${JOBS}")
30+
ELSE ()
31+
EXEC_PROGRAM("cd ${SRS_DIR} && ./configure --jobs=${JOBS}")
32+
ENDIF ()
33+
ELSE ()
34+
MESSAGE("${DEPS_LIB} is ok")
35+
ENDIF ()
36+
endforeach()
37+
38+
###########################################################
39+
# Setup SRS project
40+
INCLUDE_DIRECTORIES(${SRS_DIR}/objs
41+
${SRS_DIR}/objs/st
42+
${SRS_DIR}/objs/openssl/include
43+
${SRS_DIR}/objs/srtp2/include
44+
${SRS_DIR}/objs/opus/include
45+
${SRS_DIR}/objs/ffmpeg/include
46+
${SRS_DIR}/src/core
47+
${SRS_DIR}/src/kernel
48+
${SRS_DIR}/src/protocol
49+
${SRS_DIR}/src/app
50+
${SRS_DIR}/src/service)
51+
52+
set(SOURCE_FILES ${SRS_DIR}/src/main/srs_main_server.cpp)
53+
AUX_SOURCE_DIRECTORY(${SRS_DIR}/src/core SOURCE_FILES)
54+
AUX_SOURCE_DIRECTORY(${SRS_DIR}/src/kernel SOURCE_FILES)
55+
AUX_SOURCE_DIRECTORY(${SRS_DIR}/src/protocol SOURCE_FILES)
56+
AUX_SOURCE_DIRECTORY(${SRS_DIR}/src/app SOURCE_FILES)
2357

2458
ADD_DEFINITIONS("-g -O0")
2559

2660
ADD_EXECUTABLE(srs ${SOURCE_FILES})
2761
TARGET_LINK_LIBRARIES(srs dl)
28-
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a)
29-
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/openssl/lib/libssl.a)
30-
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/openssl/lib/libcrypto.a)
31-
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/srtp2/lib/libsrtp2.a)
32-
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/opus/lib/libopus.a)
33-
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/ffmpeg/lib/libavutil.a)
34-
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/ffmpeg/lib/libavcodec.a)
35-
TARGET_LINK_LIBRARIES(srs ${PROJECT_SOURCE_DIR}/../../objs/ffmpeg/lib/libswresample.a)
62+
TARGET_LINK_LIBRARIES(srs ${DEPS_LIBS})
3663
TARGET_LINK_LIBRARIES(srs -ldl)
3764

38-
IF (NOT EXISTS ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a)
39-
MESSAGE("srs_libs not found")
40-
EXEC_PROGRAM("cd .. && ./configure")
41-
ELSE (NOT EXISTS ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a)
42-
MESSAGE("srs_libs is ok")
43-
ENDIF (NOT EXISTS ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a)
44-
45-
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/ossrs/srs/wiki/v1_CN_IDE#jetbrains")
46-
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/ossrs/srs/wiki/v1_CN_IDE#jetbrains")
47-
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/ossrs/srs/wiki/v1_CN_IDE#jetbrains")
48-
MESSAGE(STATUS "use ./configure && make, @see https://github.com/ossrs/srs#usage")
65+
MESSAGE(STATUS "@see https://github.com/ossrs/srs/wiki/v4_CN_IDE")
4966

‎trunk/ide/srs_qt/srs-qt.pro

-35
This file was deleted.

0 commit comments

Comments
 (0)