Commit Graph

77 Commits

Author SHA1 Message Date
Javier Arribas 942e19682b Android cross-compilable gnss-sdr, initial commit, hardcoded paths in CMakefiles 2021-12-22 17:38:59 +01:00
Carles Fernandez d00d0615e3
Fix case in file name 2021-06-21 10:04:54 +02:00
Carles Fernandez 1287e8fe79
Improve handling of the filesystem library 2021-01-16 14:37:19 +01:00
Carles Fernandez 7308745f05
Apply more concise file header format
Re-license CMake scripts with BSD-3-Clause
2020-12-30 13:35:06 +01:00
Carles Fernandez 15428a47cc
Fix building with -DENABLE_CUDA=ON 2020-08-27 14:57:44 +02:00
Carles Fernandez 303e95dd32
Fix the -DENABLE_LOG=OFF building option 2020-07-05 11:53:20 +02:00
Carles Fernandez 81af1a531b
Redesign of pointer management
Avoid indirection caused by passing shared_ptr by reference

The block factory does not have responsability on the lifetime of their inputs

Define std::make_unique when using C++11 and make use of it

Printers are turned into unique_ptr to express ownership

Printers do not participate on the lifelime of the data, so they take const raw pointers

Modernize tests code
2020-06-18 11:49:28 +02:00
Carles Fernandez 0df4277d36
Unify criteria in target definitions, more informative names 2020-06-13 00:32:40 +02:00
Carles Fernandez d14e69ef5a
Do not pollute the source directory if the software is built from an out-of-source-tree directory
External sources and data are now always stored in a ./thirdparty folder under the building directory.

A copy of the generated binaries will be stored under gnss-sdr/install, if the building directory is inside the source tree, or in an ./install folder under the building directory if it is outside the source tree.
Fix a bug that broke compilation if the user configured the building without extra testing in a first instance, and then switched the testing buiding options to ON in a later build.

Fix extra test building if GPSTk was already installed and Boost >= 1.71
2020-06-12 20:51:26 +02:00
Carles Fernandez 836e074f98
Add building option ENABLE_STRIP to enable the generation of stripped binaries (without debgging information). Set to OFF by default 2020-06-10 17:22:03 +02:00
Carles Fernandez 2a3d682f1f
Make use of target_sources(), make use of target propagation to reduce redundancy in dependencies, some fixes for Clang and CMake < 3.11. Use generic lambdas with auto 2020-06-08 20:04:01 +02:00
Carles Fernandez 73fd1e28ad
Make the changelog file a markdown .md file 2020-02-27 21:05:29 +01:00
Carles Fernandez 2ded19342f
Improve headers 2020-02-12 00:04:29 +01:00
Carles Fernandez 4d0d263280
Make the software package compliant with the REUSE Specification v3.0 (see https://reuse.software/spec/)
Update license headers to SPDX format (see https://spdx.org/)
Add license to all files
Add CI job in GitHub Actions to ensure compliance
2020-02-08 01:20:02 +01:00
Carles Fernandez bc9725c745
Simplify cmake scripts, fix volk_gnsssdr cross-compilation, update ProtocolBuffers to 3.11.2 2020-01-13 01:49:00 +01:00
Carles Fernandez fbff35fb56
Improve formatting 2019-09-07 13:37:16 +02:00
Carles Fernandez 38a987607e
Make use of the new Boost::headers target introduced in CMake 3.15 2019-09-07 12:36:19 +02:00
Carles Fernandez 1a11b5a2ec
Remove unnecessary links and includes to boost::thread 2019-08-03 19:51:50 +02:00
Carles Fernandez 0e5211dbf0
Modern CUDA usage 2019-06-24 20:02:19 +02:00
Carles Fernandez 8d424a13b6
Replace boost::filesystem by std::experimental::filesystem when the later is available 2019-06-12 20:39:29 +02:00
Carles Fernandez ca6b4b545b
Replace Boost::filesystem by std::filesystem if C++17 support is available 2019-06-10 21:41:13 +02:00
Carles Fernandez c82c7225dd Improve includes with the aid of include-what-you-use (IWYU)
See rationale at https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/WhyIWYU.md
2019-03-05 08:59:04 +01:00
Carles Fernandez 9bc771bed6
Deploy a new option -DENABLE_CLANG_TIDY to integrate clang-tidy checks and fixes into the compilation process, if found. It defaults to OFF 2019-02-21 09:59:06 +01:00
Carles Fernandez 75bd492d96
Change CMake target names to more meaningful ones, reflecting the code tree 2019-02-10 18:34:28 +01:00
Carles Fernandez ce051e040f
Improve target design 2019-02-10 01:13:02 +01:00
Carles Fernandez 54473809f7
Imported target for GPerftools 2019-02-07 20:31:40 +01:00
Carles Fernandez ab0035d1a1
Reorder link targets 2019-02-07 09:34:32 +01:00
Carles Fernandez 97e8d9931e
Make use of Threads::Threads target 2019-02-07 09:28:20 +01:00
Carles Fernandez 7440088bce
Fix ENABLE_LOG OFF option 2019-02-06 18:36:31 +01:00
Carles Fernandez ce83462f85
Add some fixes to CMake scripts 2019-02-04 23:26:07 +01:00
Carles Fernandez 708b288e61
Clean CMake scripts 2019-02-04 22:44:45 +01:00
Carles Fernandez 8ae72fe458
Update to modern CMake usage 2019-02-03 19:24:44 +01:00
Carles Fernandez 87d1413447
Make cmakelint happier 2018-11-24 18:40:34 +01:00
Carles Fernandez b0ba246934
Apply some style rules to CMake scripts 2018-11-22 00:35:21 +01:00
Carles Fernandez 30d162c76a
Get rid of deprecated link_libraries() 2018-11-17 19:26:06 +01:00
Carles Fernandez 573092d033
Download and build PugiXML if not found 2018-11-11 12:27:01 +01:00
Javier 01a1954b15 Adding the Hotstart telecommand implementation to predict visible satellites for GPS and Galileo constellations 2018-11-05 17:53:53 +01:00
Carles Fernandez d40094e6e2
Clean CMake scripts 2018-05-25 20:49:45 +02:00
Carles Fernandez 0d60d97c24
Use https instead of http in links when available
Update copyright year in headers
2018-05-13 22:49:11 +02:00
Carles Fernandez 2b8ab9dcee Group all flags in a single file
This makes easier to document and to add new ones.
Shortened version of common files have been added:
-c for -config_file
-s for -signal_source
2018-02-18 12:23:55 +01:00
Carles Fernandez 3dd3c2f444 Enable building with Clang in Linux 2017-08-07 11:08:05 +02:00
Carles Fernandez 95ffcd3ac0 Improve portability
In some architectures (e.g. alpha, hppa, powerpcspe, m68k,  sh4, sparc64, x32) the package gr-osmosdr is not available. So when the package is build with -DENABLE_OSMOSDR=ON, it breaks on the mentioned architectures. This is expected behaviour (it breaks because a required dependency is not found), but prevents from building the package on such architectures. This commit introduces a small change: when compilation is called with

cmake -DENABLE_OSMOSDR=ON -DENABLE_PACKAGING=ON ..

then, the compilation does not break if gr-osmosdr is not found.

This commit also fixes building when UHD is present but gnuradio-uhd is not (for instance, in hurd-i386)
2017-04-12 18:06:04 +02:00
Carles Fernandez 0f796343bc Add upstream changelog as stated at Debian Policy Manual 12.7
https://www.debian.org/doc/debian-policy/ch-docs.html#s-changelogs
2017-04-07 18:56:35 +02:00
Carles Fernandez 071dec2ebb Remove unrequired variable 2016-10-27 08:28:37 +02:00
Carles Fernandez 85012b3d74 Improve handling of ORC library if present
This also allows to build a snap package
2016-10-23 11:12:13 +02:00
Carles Fernandez e4b0070e9a Add volk_gnsssdr-config-info to the list of generated executables 2016-07-06 20:25:39 +02:00
Carles Fernandez e4206d38f6 Try to use OpenSSL if GnuTLS with openssl compatibility enabled is not
found.
2015-10-27 20:18:48 +01:00
Carles Fernandez 429e4e8776 Fixing compilation when CUDA is not present 2015-08-25 17:07:36 +02:00
Javier Arribas 1aa84cd1c4 Updated CUDA kernels and several GPU tracking optimizations.
Bug fix in GPS_L1_CA_DLL_PLL binary dump
2015-08-06 17:05:15 +02:00
Javier Arribas 26cf90cdd4 First working version of the GPU GPS tracking block (it requires NVIDIA
CUDA
3.0 GPU hardware)
2015-07-24 17:21:25 +02:00