mirror of
https://github.com/coturn/coturn.git
synced 2025-10-26 20:41:07 +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 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:
|
||||
include:
|
||||
- name: ubuntu focal AMD64 C
|
||||
@ -147,6 +156,7 @@ jobs:
|
||||
- libmysqlclient-dev
|
||||
- libhiredis-dev
|
||||
|
||||
|
||||
notifications:
|
||||
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=
|
||||
|
||||
@ -5,6 +5,7 @@ cmake_minimum_required(VERSION 3.5)
|
||||
project(coturn)
|
||||
|
||||
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")
|
||||
|
||||
# Find Git Version Patch
|
||||
@ -37,7 +38,8 @@ set(VERSION ${BUILD_VERSION})
|
||||
if(NOT DEFINED CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
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)
|
||||
endif()
|
||||
|
||||
@ -60,6 +62,18 @@ include(CheckIncludeFile)
|
||||
include(CheckIncludeFileCXX)
|
||||
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
|
||||
CONFIGURE_FILE(
|
||||
"${CMAKE_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
|
||||
@ -72,3 +86,31 @@ ADD_CUSTOM_TARGET(uninstall
|
||||
|
||||
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
|
||||
|
||||
1) Use autoconfigure build
|
||||
|
||||
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.
|
||||
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,
|
||||
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
|
||||
|
||||
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_compile_definitions(${PROJECT_NAME} PUBLIC ${COMMON_DEFINED})
|
||||
target_compile_options(${PROJECT_NAME} PUBLIC -Wno-deprecated-declarations)
|
||||
|
||||
# See: http://www.it1352.com/478094.html
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC
|
||||
@ -62,7 +63,9 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||
INSTALL(TARGETS ${PROJECT_NAME}
|
||||
EXPORT ${PROJECT_NAME}Config
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
COMPONENT Runtime
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
COMPONENT Runtime
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
INCLUDES DESTINATION
|
||||
${CMAKE_INSTALL_INCLUDEDIR}
|
||||
|
||||
@ -10,4 +10,5 @@ add_executable(${PROJECT_NAME} ${SOURCE_FILES})
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
||||
INSTALL(TARGETS ${PROJECT_NAME}
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
COMPONENT Runtime
|
||||
)
|
||||
|
||||
@ -10,4 +10,5 @@ add_executable(${PROJECT_NAME} ${SOURCE_FILES})
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
||||
INSTALL(TARGETS ${PROJECT_NAME}
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
COMPONENT Runtime
|
||||
)
|
||||
|
||||
@ -10,4 +10,5 @@ add_executable(${PROJECT_NAME} ${SOURCE_FILES})
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
||||
INSTALL(TARGETS ${PROJECT_NAME}
|
||||
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_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}
|
||||
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)
|
||||
INSTALL(TARGETS ${PROJECT_NAME}
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
COMPONENT Runtime
|
||||
)
|
||||
|
||||
@ -10,4 +10,5 @@ add_executable(${PROJECT_NAME} ${SOURCE_FILES})
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
||||
INSTALL(TARGETS ${PROJECT_NAME}
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
COMPONENT Runtime
|
||||
)
|
||||
|
||||
@ -12,4 +12,5 @@ add_executable(${PROJECT_NAME} ${SOURCE_FILES})
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE turnclient)
|
||||
INSTALL(TARGETS ${PROJECT_NAME}
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
COMPONENT Runtime
|
||||
)
|
||||
|
||||
@ -33,7 +33,9 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||
INSTALL(TARGETS ${PROJECT_NAME}
|
||||
EXPORT ${PROJECT_NAME}Config
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
COMPONENT Runtime
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
COMPONENT Runtime
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/turn/client
|
||||
INCLUDES DESTINATION
|
||||
|
||||
@ -36,7 +36,9 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||
INSTALL(TARGETS ${PROJECT_NAME}
|
||||
EXPORT ${PROJECT_NAME}Config
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
COMPONENT Runtime
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
COMPONENT Runtime
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
INCLUDES DESTINATION
|
||||
${CMAKE_INSTALL_INCLUDEDIR}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user