mirror of
https://github.com/coturn/coturn.git
synced 2025-10-27 13:00:59 +01:00
commit
8fac7d02c9
10
.travis.yml
10
.travis.yml
@ -9,6 +9,15 @@ before_install:
|
|||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink protobuf; fi
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink protobuf; fi
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install mysql sqlite hiredis; fi
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install mysql sqlite hiredis; fi
|
||||||
|
|
||||||
|
script:
|
||||||
|
- mkdir build
|
||||||
|
- cd build
|
||||||
|
- cmake .. -DCMAKE_INSTALL_PREFIX=`pwd`/install
|
||||||
|
- cmake --build .
|
||||||
|
- cmake --build . --target install
|
||||||
|
- cd ..
|
||||||
|
- ./configure && make && make test
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
include:
|
include:
|
||||||
- name: ubuntu focal AMD64 C
|
- name: ubuntu focal AMD64 C
|
||||||
@ -147,6 +156,7 @@ jobs:
|
|||||||
- libmysqlclient-dev
|
- libmysqlclient-dev
|
||||||
- libhiredis-dev
|
- libhiredis-dev
|
||||||
|
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
slack:
|
slack:
|
||||||
secure: N12+BCGiTDzfKkYnjF+666ZhREuBncfPpWge9AdG6DwusyGza+hNrjfRRHjF8WfGQj+X8ogFoF1lVFDC27lwH1ElOv4GJHShnGbtsWv10Va1GdDafDeC5JorUNWHlsDHC1AZkNUj9n2KAZTSbN076gUaNhwsXob/B1MEnNKXibitDdyE2FC6wCRu6ckXM4UiEXoG/a7lHS4m9dKt2xDUNK8vwhtRdCkip9YW8rUFdiwqMScdr9OdF8YWiKJIUYV7LC7eXF0YqslWTJkeIMEEnvotLs4JNytFz1wNPzTiY8hM4nPM0YwC1oPhFWlBodQ1x+dBX3vxitnque0gVhj/p6Eij0amM3tirgONw/r2V9JToE6vfh6ERAWIVzI/+tmqcEbZZvwcgafZphlT9W/8Gzy/av/zTpdfaTUEYnsuQRCA87FPIFAAVjzSmT3llY6WQXFB+UU0T0ZE42PkPqhR3zpjqt7nDXf2g1ZY5ZRkWRvznyqBdrVx0Ld8AKnv/Ynk/KqiJqV94DUMhGzAadqbYrDL/87eiDtW4lBpCl7cQnfEI7besdduNzWlgmJ93CU1kyruK37/w+D1jyBnc1ppQTj1+B2GanB0weY7ViNqyQmN+tam7EmM+9R8VKMi8EO0xlvb1YFL18NtrCMMMEsZRHj823g68lFntUWs5oGsFMI=
|
secure: N12+BCGiTDzfKkYnjF+666ZhREuBncfPpWge9AdG6DwusyGza+hNrjfRRHjF8WfGQj+X8ogFoF1lVFDC27lwH1ElOv4GJHShnGbtsWv10Va1GdDafDeC5JorUNWHlsDHC1AZkNUj9n2KAZTSbN076gUaNhwsXob/B1MEnNKXibitDdyE2FC6wCRu6ckXM4UiEXoG/a7lHS4m9dKt2xDUNK8vwhtRdCkip9YW8rUFdiwqMScdr9OdF8YWiKJIUYV7LC7eXF0YqslWTJkeIMEEnvotLs4JNytFz1wNPzTiY8hM4nPM0YwC1oPhFWlBodQ1x+dBX3vxitnque0gVhj/p6Eij0amM3tirgONw/r2V9JToE6vfh6ERAWIVzI/+tmqcEbZZvwcgafZphlT9W/8Gzy/av/zTpdfaTUEYnsuQRCA87FPIFAAVjzSmT3llY6WQXFB+UU0T0ZE42PkPqhR3zpjqt7nDXf2g1ZY5ZRkWRvznyqBdrVx0Ld8AKnv/Ynk/KqiJqV94DUMhGzAadqbYrDL/87eiDtW4lBpCl7cQnfEI7besdduNzWlgmJ93CU1kyruK37/w+D1jyBnc1ppQTj1+B2GanB0weY7ViNqyQmN+tam7EmM+9R8VKMi8EO0xlvb1YFL18NtrCMMMEsZRHj823g68lFntUWs5oGsFMI=
|
||||||
|
|||||||
@ -5,6 +5,7 @@ cmake_minimum_required(VERSION 3.5)
|
|||||||
project(coturn)
|
project(coturn)
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
|
||||||
|
# TODO: Modify this when the version is released
|
||||||
SET(BUILD_VERSION "4.5.2")
|
SET(BUILD_VERSION "4.5.2")
|
||||||
|
|
||||||
# Find Git Version Patch
|
# Find Git Version Patch
|
||||||
@ -37,7 +38,8 @@ set(VERSION ${BUILD_VERSION})
|
|||||||
if(NOT DEFINED CMAKE_BUILD_TYPE)
|
if(NOT DEFINED CMAKE_BUILD_TYPE)
|
||||||
set(CMAKE_BUILD_TYPE "Release")
|
set(CMAKE_BUILD_TYPE "Release")
|
||||||
endif(NOT DEFINED CMAKE_BUILD_TYPE)
|
endif(NOT DEFINED CMAKE_BUILD_TYPE)
|
||||||
if("Debug" STREQUAL CMAKE_BUILD_TYPE)
|
string(TOLOWER "${CMAKE_BUILD_TYPE}" build_type)
|
||||||
|
if("debug" STREQUAL build_type)
|
||||||
add_definitions(-D_DEBUG)
|
add_definitions(-D_DEBUG)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -60,6 +62,18 @@ include(CheckIncludeFile)
|
|||||||
include(CheckIncludeFileCXX)
|
include(CheckIncludeFileCXX)
|
||||||
include(CheckFunctionExists)
|
include(CheckFunctionExists)
|
||||||
|
|
||||||
|
# Create install runtime target
|
||||||
|
add_custom_target(install-runtime
|
||||||
|
COMMAND
|
||||||
|
"${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=Runtime
|
||||||
|
-P "${CMAKE_CURRENT_BINARY_DIR}/cmake_install.cmake"
|
||||||
|
)
|
||||||
|
# Create uninstall runtime target
|
||||||
|
add_custom_target(uninstall-runtime
|
||||||
|
COMMAND
|
||||||
|
"${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=Runtime
|
||||||
|
-P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
||||||
|
)
|
||||||
# Create will be delete files
|
# Create will be delete files
|
||||||
CONFIGURE_FILE(
|
CONFIGURE_FILE(
|
||||||
"${CMAKE_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
|
"${CMAKE_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
|
||||||
@ -72,3 +86,31 @@ ADD_CUSTOM_TARGET(uninstall
|
|||||||
|
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
|
|
||||||
|
install(DIRECTORY man DESTINATION .
|
||||||
|
COMPONENT Runtime)
|
||||||
|
install(DIRECTORY turndb/
|
||||||
|
DESTINATION share/turnserver
|
||||||
|
COMPONENT Runtime)
|
||||||
|
install(DIRECTORY turndb/
|
||||||
|
DESTINATION doc/turnserver
|
||||||
|
COMPONENT Runtime)
|
||||||
|
install(FILES
|
||||||
|
LICENSE
|
||||||
|
README.turnserver
|
||||||
|
README.turnadmin
|
||||||
|
README.turnutils
|
||||||
|
INSTALL
|
||||||
|
postinstall.txt
|
||||||
|
DESTINATION doc/turnserver
|
||||||
|
COMPONENT Runtime)
|
||||||
|
install(FILES examples/etc/turnserver.conf
|
||||||
|
DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}
|
||||||
|
COMPONENT Runtime
|
||||||
|
RENAME turnserver.conf.default
|
||||||
|
)
|
||||||
|
install(DIRECTORY
|
||||||
|
examples/etc
|
||||||
|
examples/scripts
|
||||||
|
DESTINATION share/examples/turnserver
|
||||||
|
PATTERN "rfc5769.sh" EXCLUDE
|
||||||
|
)
|
||||||
|
|||||||
56
INSTALL
56
INSTALL
@ -55,6 +55,8 @@ examples and documentation.
|
|||||||
|
|
||||||
III. BUILD
|
III. BUILD
|
||||||
|
|
||||||
|
1) Use autoconfigure build
|
||||||
|
|
||||||
If you are sure that you system is ready for the build (see the section
|
If you are sure that you system is ready for the build (see the section
|
||||||
"Extra libraries and Utilities" below) then you can build the system.
|
"Extra libraries and Utilities" below) then you can build the system.
|
||||||
First, you have to run the configure script:
|
First, you have to run the configure script:
|
||||||
@ -152,6 +154,60 @@ NOTE: On most modern systems, the build will produce dynamically linked
|
|||||||
executables. If you want statically linked executables, you have to modify,
|
executables. If you want statically linked executables, you have to modify,
|
||||||
accordingly, the Makefile.in template file.
|
accordingly, the Makefile.in template file.
|
||||||
|
|
||||||
|
2) Use cmake build
|
||||||
|
|
||||||
|
If you are sure that you system is ready for the build (see the section
|
||||||
|
"Extra libraries and Utilities" below) and cmake tools then you can build
|
||||||
|
the system.
|
||||||
|
First, create build directory. you have to run the follow script:
|
||||||
|
|
||||||
|
$ cd coturn
|
||||||
|
$ mkdir build
|
||||||
|
|
||||||
|
Then you have to run the configure script:
|
||||||
|
|
||||||
|
$ cmake ..
|
||||||
|
|
||||||
|
It will create a Makefile customized for your system.
|
||||||
|
|
||||||
|
By default, the generated Makefile will install everything to:
|
||||||
|
|
||||||
|
- /usr on Solaris.
|
||||||
|
- /usr/pkg on NetBSD.
|
||||||
|
- /usr/local everywhere else.
|
||||||
|
|
||||||
|
The binaries will be copied to the bin subdirectory of the installation
|
||||||
|
destination, config files copied to etc subdirectory. The default SQLite database
|
||||||
|
will be created in var/db/turndb. There will be
|
||||||
|
also documents, examples and some other files, in separate directories.
|
||||||
|
|
||||||
|
You can change the root configured destination directory by
|
||||||
|
setting CMAKE_INSTALL_PREFIX variable in the
|
||||||
|
configure command line. For example:
|
||||||
|
|
||||||
|
$ cmake .. -DCMAKE_INSTALL_PREFIX=/opt
|
||||||
|
|
||||||
|
Build the project:
|
||||||
|
|
||||||
|
$ cmake --build .
|
||||||
|
|
||||||
|
Install all files(runtime programmes and develop library):
|
||||||
|
|
||||||
|
$ cmake --build . --target install
|
||||||
|
|
||||||
|
Remove all installed:
|
||||||
|
|
||||||
|
$ cmake --build . --target uninstall
|
||||||
|
|
||||||
|
If you want to only install runtime programmes(programmes, configure files,
|
||||||
|
script files and database):
|
||||||
|
|
||||||
|
$ cmake --build . --target install-runtime
|
||||||
|
|
||||||
|
Remove all installed:
|
||||||
|
|
||||||
|
$ cmake --build . --target uninstall-runtime
|
||||||
|
|
||||||
IV. OPENSSL
|
IV. OPENSSL
|
||||||
|
|
||||||
If you are using the OpenSSL that is coming with your system, and you are
|
If you are using the OpenSSL that is coming with your system, and you are
|
||||||
|
|||||||
@ -43,6 +43,7 @@ add_library(${PROJECT_NAME} ${SOURCE_FILES} ${HEADER_FILES})
|
|||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME} PUBLIC ${COMMON_LIBS})
|
target_link_libraries(${PROJECT_NAME} PUBLIC ${COMMON_LIBS})
|
||||||
target_compile_definitions(${PROJECT_NAME} PUBLIC ${COMMON_DEFINED})
|
target_compile_definitions(${PROJECT_NAME} PUBLIC ${COMMON_DEFINED})
|
||||||
|
target_compile_options(${PROJECT_NAME} PUBLIC -Wno-deprecated-declarations)
|
||||||
|
|
||||||
# See: http://www.it1352.com/478094.html
|
# See: http://www.it1352.com/478094.html
|
||||||
target_include_directories(${PROJECT_NAME} PUBLIC
|
target_include_directories(${PROJECT_NAME} PUBLIC
|
||||||
@ -62,7 +63,9 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
|
|||||||
INSTALL(TARGETS ${PROJECT_NAME}
|
INSTALL(TARGETS ${PROJECT_NAME}
|
||||||
EXPORT ${PROJECT_NAME}Config
|
EXPORT ${PROJECT_NAME}Config
|
||||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||||
|
COMPONENT Runtime
|
||||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||||
|
COMPONENT Runtime
|
||||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||||
INCLUDES DESTINATION
|
INCLUDES DESTINATION
|
||||||
${CMAKE_INSTALL_INCLUDEDIR}
|
${CMAKE_INSTALL_INCLUDEDIR}
|
||||||
|
|||||||
@ -10,4 +10,5 @@ add_executable(${PROJECT_NAME} ${SOURCE_FILES})
|
|||||||
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
||||||
INSTALL(TARGETS ${PROJECT_NAME}
|
INSTALL(TARGETS ${PROJECT_NAME}
|
||||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||||
|
COMPONENT Runtime
|
||||||
)
|
)
|
||||||
|
|||||||
@ -10,4 +10,5 @@ add_executable(${PROJECT_NAME} ${SOURCE_FILES})
|
|||||||
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
||||||
INSTALL(TARGETS ${PROJECT_NAME}
|
INSTALL(TARGETS ${PROJECT_NAME}
|
||||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||||
|
COMPONENT Runtime
|
||||||
)
|
)
|
||||||
|
|||||||
@ -10,4 +10,5 @@ add_executable(${PROJECT_NAME} ${SOURCE_FILES})
|
|||||||
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
||||||
INSTALL(TARGETS ${PROJECT_NAME}
|
INSTALL(TARGETS ${PROJECT_NAME}
|
||||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||||
|
COMPONENT Runtime
|
||||||
)
|
)
|
||||||
|
|||||||
@ -94,6 +94,16 @@ target_link_libraries(${PROJECT_NAME} PRIVATE turn_server ${turnserver_LIBS})
|
|||||||
target_include_directories(${PROJECT_NAME} PRIVATE ${turnserver_include_dirs})
|
target_include_directories(${PROJECT_NAME} PRIVATE ${turnserver_include_dirs})
|
||||||
target_compile_definitions(${PROJECT_NAME} PRIVATE ${turnserver_DEFINED})
|
target_compile_definitions(${PROJECT_NAME} PRIVATE ${turnserver_DEFINED})
|
||||||
|
|
||||||
|
add_custom_target(turnadmin ALL
|
||||||
|
COMMAND
|
||||||
|
${CMAKE_COMMAND} -E create_symlink $<TARGET_FILE_NAME:${PROJECT_NAME}> turnadmin
|
||||||
|
DEPENDS ${PROJECT_NAME})
|
||||||
|
|
||||||
INSTALL(TARGETS ${PROJECT_NAME}
|
INSTALL(TARGETS ${PROJECT_NAME}
|
||||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||||
|
COMPONENT Runtime
|
||||||
)
|
)
|
||||||
|
|
||||||
|
INSTALL(FILES $<TARGET_FILE_DIR:${PROJECT_NAME}>/turnadmin
|
||||||
|
DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||||
|
COMPONENT Runtime)
|
||||||
|
|||||||
@ -10,4 +10,5 @@ add_executable(${PROJECT_NAME} ${SOURCE_FILES})
|
|||||||
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
||||||
INSTALL(TARGETS ${PROJECT_NAME}
|
INSTALL(TARGETS ${PROJECT_NAME}
|
||||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||||
|
COMPONENT Runtime
|
||||||
)
|
)
|
||||||
|
|||||||
@ -10,4 +10,5 @@ add_executable(${PROJECT_NAME} ${SOURCE_FILES})
|
|||||||
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
||||||
INSTALL(TARGETS ${PROJECT_NAME}
|
INSTALL(TARGETS ${PROJECT_NAME}
|
||||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||||
|
COMPONENT Runtime
|
||||||
)
|
)
|
||||||
|
|||||||
@ -12,4 +12,5 @@ add_executable(${PROJECT_NAME} ${SOURCE_FILES})
|
|||||||
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
||||||
INSTALL(TARGETS ${PROJECT_NAME}
|
INSTALL(TARGETS ${PROJECT_NAME}
|
||||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||||
|
COMPONENT Runtime
|
||||||
)
|
)
|
||||||
|
|||||||
@ -33,7 +33,9 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
|
|||||||
INSTALL(TARGETS ${PROJECT_NAME}
|
INSTALL(TARGETS ${PROJECT_NAME}
|
||||||
EXPORT ${PROJECT_NAME}Config
|
EXPORT ${PROJECT_NAME}Config
|
||||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||||
|
COMPONENT Runtime
|
||||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||||
|
COMPONENT Runtime
|
||||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||||
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/turn/client
|
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/turn/client
|
||||||
INCLUDES DESTINATION
|
INCLUDES DESTINATION
|
||||||
|
|||||||
@ -36,7 +36,9 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
|
|||||||
INSTALL(TARGETS ${PROJECT_NAME}
|
INSTALL(TARGETS ${PROJECT_NAME}
|
||||||
EXPORT ${PROJECT_NAME}Config
|
EXPORT ${PROJECT_NAME}Config
|
||||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||||
|
COMPONENT Runtime
|
||||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||||
|
COMPONENT Runtime
|
||||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||||
INCLUDES DESTINATION
|
INCLUDES DESTINATION
|
||||||
${CMAKE_INSTALL_INCLUDEDIR}
|
${CMAKE_INSTALL_INCLUDEDIR}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user