Commit Graph

84 Commits

Author SHA1 Message Date
Joni Räsänen f5b692b05b build: Add missing defines header to be included in project files 2022-02-28 09:37:00 +02:00
Joni Räsänen f62ade9c70 Merge branch 'example_improvements'
# Conflicts:
#	CMakeLists.txt
#	src/formats/h264.hh
#	src/formats/h265.hh
#	src/formats/h266.hh
#	src/formats/h26x.cc
#	src/formats/h26x.hh
#	src/lib.cc
#	src/pkt_dispatch.hh
#	src/rtp.cc
#	uvgRTP.pro
2022-02-22 14:03:49 +02:00
Marco Tranzatto 84ed8c6ba8 build: fix error set_target_properties called with incorrect number of arguments
When compiling the project with cmake withing a ROS1 environment, the compiler termites with an error about "CMake Error at CMakeLists.txt:21 (set_target_properties): set_target_properties called with incorrect number of arguments".
Fixed by inserting cmake variables within double quotes.
2022-02-17 18:44:28 +01:00
Jin Heo 9df3f2c848 build: add macro to pc generation with CXX and LINKER flags 2021-10-01 03:21:08 +00:00
Joni Räsänen 9002dc6679 build: Move pc file template to cmake folder 2021-09-23 12:14:43 +03:00
Joni Räsänen d149f76245
Merge branch 'master' into pkgconfig_install 2021-09-23 11:13:39 +03:00
Joni Räsänen 19fb7769c8 build: Better organize the MSVC project generated by CMake
Added some missing headers and organized the headers into folders that
reflect how they are on the disk.
2021-09-08 11:19:36 +03:00
dennis 837b58351e build: Completely Redesigned CMake files (#44)
Primary changes are:
- Versioning integrated in cmake build system with library for version usage in end user programs
- New minimum CMAke required version is 3.14
- Created install capabilities. Allows uvgRTP to be used in different scenarios for win and lin (mac-os still missing)
- Added testing environment with automatically fetched google test and some example test code.
- Added packaging capabilities (and some placeholders that have to be changed)
- Create Shared library with -DBUILD_SHARED_LIBS=TRUE
2021-08-08 22:18:40 +02:00
Joni Räsänen 3b5acb7f88 build: Move includes to include/uvgrtp folder 2021-07-09 12:11:05 +03:00
Joni Räsänen f1ac4d5b15 formats: Combine source files of same class
I think it is better to have all code belonging to a single class be
included in one code file. If the code file gets too large, then the
probably the class itself has too many responsibilities.
2021-06-23 17:36:18 +03:00
Joni Räsänen 40895b0fff rtcp: Combine rtcp implementation files
Although it is possible to separate a class implementation to different
files, I would consider this class too large instead. It is somewhat
confusing having to look for implementations from different files. I
would try to make the class smaller instead by dividing it on class
level.
2021-06-11 14:29:12 +03:00
Joni Räsänen 9f65174be9 common: Enable debug logging for debug build 2021-06-10 15:46:25 +03:00
Joni Räsänen ebe7ee3ba3 zrtp: Create a parent class for all zrtp messages
This enables removal of some duplicate code in creation of the messages.
Mainly that all zrtp messages have the same header.
2021-06-10 11:20:59 +03:00
Joni Räsänen decde85859 build: Move private headers out from include folder 2021-06-04 14:43:51 +03:00
Joni Räsänen eb704488a9 build: Make msvc define the __cplusplus macro 2021-05-27 15:12:47 +03:00
Le Clech Philippe f1169cdc57
build: support for CentOS7
The 2.0.0 release of uvgRTP fails to build on CentOS7, because :
- the gcc-c++ compiler doesn't support the c++17 standard, which is
  required to compile the crypto.hh file
- the getrandom() function isn't available in the libc

This pull request adds CentOS7 build support.

The modified files are :

- CMakeLists.txt : the availability of the getrandom() function is checked.
  If it exists, the HAVE_GETRANDOM preprocessor definition is added

- src/random.cc : if HAVE_GETRANDOM isn't defined, a syscall equivalent to
  the getrandom() functions is called

- include/crypto.hh : the c++17 code is replaced by a code that compiles with
  the CentOS7 compiler (c++11)
2021-05-25 21:33:52 +02:00
Joni Räsänen 2629f21d08 build: Fix issues with setting compiler flags
The solution in 1f26987bf0 does not work, since
the add_compile_options must be set before defining library. Reverted to
previous solution with improvements. Now also the standard is set at the
beginning of the file just to make sure it takes effect in time.

I'm still learning to use CMake.
2021-05-21 11:49:06 +03:00
Joni Räsänen 1f26987bf0 build: Add c++ standard to cmake file
This way, if we want to support lower c++ version, setting the standard should
automatically set the highest standard supported.

Also update the way compiler options are set.
2021-05-18 13:00:53 +03:00
Aaro Altonen bfaa3536c5 crypto: Add 192/256-bit key support for SRTP 2021-04-22 12:43:05 +03:00
Aaro Altonen b3cc2cdc23 build: Add support for MinGW build 2021-04-19 07:32:09 +03:00
Jin Heo 8cc22a87ee Update CMakeLists with pkg-config installation on Xnix 2021-03-30 18:34:04 -04:00
Aaro Altonen 5b3a7f13a9 build: Disable archive merging temporarily
At least on Linux, the final library seems to be corrupted
2021-03-23 01:25:57 +02:00
Aaro Altonen 41011487ba Implement RCE_HOLEPUNCH_KEEPALIVE 2021-03-23 01:18:59 +02:00
Aaro Altonen a7f4ce58a1 Combine uvgRTP and dependencies into one archive 2021-01-12 11:13:10 +02:00
Aaro Altonen 7727be0017 Make sure Crypto++ and POSIX threads exist before linking 2021-01-11 08:14:32 +02:00
Aaro Altonen 39f4e036cf Build uvgRTP as a shared library
Switch from static to shared library format and use whole-archive
option to include POSIX threads and Crypto++ into the output library
2020-12-11 07:56:55 +02:00
Aaro Altonen 171b73af21 Update uvgRTP build information
Remove the old GNU Makefile, update building documentation
and convert tabs to spaces in CMakeLists.txt
2020-12-11 07:56:54 +02:00
Aaro Altonen 7e72bdbf32 Use correct directory when installing headers 2020-12-04 14:57:37 +02:00
Aaro Altonen 703fdf59dd Update build instructions 2020-10-06 08:46:43 +03:00
Aaro Altonen 1799421a57 Update project files
Add new H26x files to QtCreator and CMake build files and remove
Visual Studio project files as they are too painful to maintain
manually and they can be generated very easily using CMake
2020-10-06 06:21:37 +03:00
Aaro Altonen 7b50e99aa0 Update project files
Add all new source and header files to Visual Studio, CMake and
QtCreator project files.

Rename rtcp/runner.cc and zrtp/receiver.cc files because they
caused linking problems with QtCreator
2020-09-16 10:56:57 +03:00
Aaro Altonen c2e7eb1bc1 Rename kvzRTP to uvgRTP 2020-04-28 11:18:07 +03:00
Aaro Altonen 8409706749 Create separate include directory
Create separate include directory which follows the kvzRTP include
style to make it easy for external applications to use kvzRTP
2020-04-22 04:58:41 +03:00
Aaro Altonen b9faf77089 Add support for CMake build 2020-04-17 13:47:35 +03:00