Commit a4a835e5 authored by jehan's avatar jehan

use cmake macro from bctbx to compute rpm build release

parent b9e17f85
......@@ -46,7 +46,6 @@ include(CheckIncludeFile)
include(CheckFunctionExists)
include(GNUInstallDirs)
add_subdirectory(build)
if(NOT CMAKE_INSTALL_RPATH AND CMAKE_INSTALL_PREFIX)
set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR})
......@@ -67,6 +66,8 @@ else()
find_package(BcToolbox 0.2.0 REQUIRED)
endif()
add_subdirectory(build)
check_include_file(sys/uio.h HAVE_SYS_UIO_H)
check_include_file(sys/audio.h HAVE_SYS_AUDIO_H)
if(NOT ANDROID)
......
What is it ?
************
oRTP is a GPLv2 licensed C library implementing the RTP protocol (rfc3550). It is available
for most unix clones (primilarly Linux and HP-UX), and Microsoft Windows.
Prior to version 1.0.0, oRTP was licensed under LGPLv2. Due to inclusion of new code licensed under GPLv2, oRTP has become GPLv2.
For the sake of clarity, all source files headers were updated to mention the GPLv2 only.
oRTP versions prior to 1.0.0 of course remain LGPLv2.
What are the build prequisites ?
********************************
libc library and header files.
How do you I test ?
*******************
There are shorts and easy to understand programs given with the library. There are good example
to understand how to use oRTP api.
- rtpsend : sends a stream from a file on disk.
- rtprecv : receives a stream and writes it to disk.
- mrtpsend: sends multiple streams from a file on disk to a range of remote port.
- mrtprecv: receives mutiple streams on a range of local ports and writes them on disk.
Is there some documentation ?
*****************************
See the doxygen generated API documentation in docs/html. Program examples are a very good
starting point.
What are the current features ?
******************************
- works with ipv6
- packet scheduler
- adaptive jitter compensation
- automatic sending of RTCP SR or RR coumpounded with a SDES
- RTCP parser API
What are the planned features ?
*******************************
- multi-endpoint rtp sessions.
In which application oRTP is being used ?
*****************************************
- linphone (http://www.linphone.org) was the first.
- the OCMP platform (a Hewlett Packard product).
How to compile my program using ortp ?
**************************************
with cmake, use find_package(ORTP)
with pkgconfig:
gcc -o myprogram `pkg-config --cflags ortp` myprogram.c \
`pkg-config --libs ortp`
What about Windows port ?
*************************
There are instructions and Microsoft Visual C++ project files in build/win32native/oRTP.
Rpm packaging
************************
ortp rpm can be generated with cmake3 using the following command:
mkdir WORK
cd WORK
cmake3 ../
make package_source
rpmbuild -ta --clean --rmsource --rmspec ortp-<version>-<release>.tar.gz
......@@ -46,6 +46,14 @@ Our CMake scripts may automatically add some paths into research paths of genera
To ensure that the installed binaries are striped of any rpath, use `-DCMAKE_SKIP_INSTALL_RPATH=ON`
while you invoke cmake.
Rpm packaging
ortp rpm can be generated with cmake3 using the following command:
mkdir WORK
cd WORK
cmake3 ../
make package_source
rpmbuild -ta --clean --rmsource --rmspec ortp-<version>-<release>.tar.gz
How do you I test ?
-------------------
......
......@@ -37,39 +37,12 @@ set(CPACK_SOURCE_IGNORE_FILES
"${CMAKE_BINARY_DIR}"
"^${PROJECT_SOURCE_DIR}/.git*"
)
find_program (WC wc)
bc_project_build_version(${PROJECT_VERSION} PROJECT_VERSION_BUILD)
if (WC)
set(GIT_MINIMUN_VERSION 1.7.1) #might be even lower
else()
set(GIT_MINIMUN_VERSION 1.7.10) # --count option of git rev-list is available only since (more or less) git 1.7.10)
endif()
set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}-${PROJECT_VERSION_BUILD}")
find_package(Git ${GIT_MINIMUN_VERSION})
string(COMPARE GREATER "${GIT_VERSION_STRING}" "1.7.10" GIT_REV_LIST_HAS_COUNT)
message("Package file name is ${CPACK_PACKAGE_FILE_NAME}" )
if (GIT_REV_LIST_HAS_COUNT)
set(GIT_REV_LIST_COMMAND "${GIT_EXECUTABLE}" "rev-list" "--count" "${PROJECT_VERSION}..HEAD")
set(WC_COMMAND "more") #nop
else()
set(GIT_REV_LIST_COMMAND "${GIT_EXECUTABLE}" "rev-list" "${PROJECT_VERSION}..HEAD")
set(WC_COMMAND "${WC}" "-l")
endif()
if(GIT_EXECUTABLE)
execute_process(
COMMAND ${GIT_REV_LIST_COMMAND}
COMMAND ${WC_COMMAND}
OUTPUT_VARIABLE PROJECT_VERSION_BUILD
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
)
# if BUILD VERSION is available, append it to package filename
if (PROJECT_VERSION_BUILD)
set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}-${PROJECT_VERSION_BUILD}")
endif()
message("Package file name is ${CPACK_PACKAGE_FILE_NAME}" )
endif()
set(CPACK_SOURCE_PACKAGE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME})
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/rpm/ortp.spec.cmake ${CMAKE_CURRENT_SOURCE_DIR}/../ortp.spec)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment