Commit Graph

46 Commits

Author SHA1 Message Date
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 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 f731a7c0f1
Fix for Boost >= 1.73 in old compilers 2020-05-18 22:50:34 +02:00
Carles Fernandez 9c9a7b5bc6
Use lambda instead of boost::build when genenic lambdas are available in the compiler 2020-04-25 22:17:15 +02:00
Carles Fernandez 3519107131
Add compatibility with the new GNU Radio 3.9 API that uses C++11 standard smart pointers instead of Boost smart pointers 2020-04-02 23:59:35 +02:00
Carles Fernandez 2ded19342f
Improve headers 2020-02-12 00:04:29 +01:00
Carles Fernandez dfc02b2e5c Sort dependencies, remove unused ones 2020-02-11 17:27:54 +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 09b6b2305e
Handle redefinition of Boost_VERSION variable in CMake 3.15
See Policy CMP0093 https://cmake.org/cmake/help/v3.15/policy/CMP0093.html#policy:CMP0093
CMake 3.15 policies enabled by default (see https://cmake.org/cmake/help/v3.15/manual/cmake-policies.7.html#manual:cmake-policies(7) )
2019-07-22 14:13:57 +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 99c616e902
Use lowercase for test name 2019-03-17 10:27:30 +01:00
Carles Fernandez 4c71864319
Fix for gcc < 5.0 2019-03-16 20:30:38 +01:00
Carles Fernandez c938093f6d
Improve includes (IWYU) 2019-03-05 19:31:41 +01: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 a9cc2d0eab
Replace GNU Radio blocks name termination _cc by _gs to emphasize that their data items are Gnss_Synchro objects 2019-03-02 02:21:03 +01:00
Carles Fernandez 8e66577ee9
Reorder PVT
Add includes
Reorder CMake scripts
Put work at the end of the file
2019-02-26 01:38:48 +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 60637c6125
Reorder dependencies 2019-02-07 21:31:40 +01:00
Carles Fernandez f509ebe49c
Update minimum Boost version to 1.54 2019-02-05 00:01:04 +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 902c90ef44 Allow to save the PVT dump file anywhere 2018-10-30 11:41:15 +01:00
Carles Fernandez 78c0b76cb9
Avoid use of GLOB for source and header files 2018-10-04 22:35:44 +02:00
Carles Fernandez 826e51ef13
Handle boost/math/common_factor_rt.hpp header deprecation in Boost 1.67, replaced by boost/integer/common_factor_rt.hpp which is available since Boost 1.58. The boost/math/common_factor_rt.hpp is kept for older versions of boost, so it can still build in old distributions such as Debian 8.10 2018-07-21 13:40:52 +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 9bfef0e05a Fix CMake scripts to use Ninja https://ninja-build.org/
cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -GNinja .. && ninja
2017-06-21 08:54:47 +02:00
Carles Fernandez 111ad3b221 Remove Hybrid_PVT implementation, it is replaced by RTKLIB_PVT 2017-05-10 16:42:22 +02:00
Javier Arribas e90a9aa2bf Migration of the internal LS PVT solver to RTKLIB solver in progress. First working version for GPS L1. Removing SBAS duplicated code. 2017-04-20 16:10:12 +02:00
Javier Arribas d42696bfd3 Consolidation of all the observables and PVT algorithms in hybrid observables and hybrid PVT supporting multi-signals and multi-system operations 2017-03-24 15:25:17 +01:00
Carles Fernandez 5a73b4e047 Improve package reproducibility
Packages using CMake often use file(GLOB ...) to retrieve a list of
source files. As this is based on readdir(), the resulting file list
is unsorted. A common use case is to pass this list directly to
add_executable or add_library. But as the order is unpredictable, the
binaries are not reproducible (because the order in which the objects
are linked will vary).

See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=824263
2016-05-23 19:51:59 +02:00
Carles Fernandez cdbba89996 Expose Galileo RTCM messages rate to the PVT configuration 2016-05-07 23:15:17 +02:00
Carles Fernandez 6620e7d43c Updating copyright year 2015-01-08 19:49:59 +01:00
Javier Arribas cefd2de5af Merge remote-tracking branch 'origin/next' into gps_galileo_hybrid 2014-07-20 16:53:52 +02:00
Carles Fernandez 8531a758ea Includes header files at add_libraries(...), which makes IDEs such as
Xcode to display them
2014-06-28 03:55:57 +02:00
Javier Arribas b0d33328d5 Simultaneous multi-GNSS system acquisition, tracking and telemetry
decoding: Changes in the flowgraph and in the configuration files to mix
channels from different GNSS systems in the same receiver. Hybrid
observables and PVT under construction.

The changes in the configuration file parameter names are NOT backward
compatible. The receiver can still work as usual in single GNSS system
mode but some modification on configuration files are required. Use the
example provided of Hybrid configuration file.
2014-06-10 18:58:17 +02:00
Javier Arribas f4f22dffcd Mara Branzanti GSoC commit: Galileo PVT block skeleton. Not usable yet!
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@419 64b25241-fba3-4117-9849-534c7e92360d
2013-09-10 08:44:02 +00:00
Carles Fernandez 41f12a3f16 some small changes required by Pybombs
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@378 64b25241-fba3-4117-9849-534c7e92360d
2013-07-06 11:11:23 +00:00
Javier Arribas 58b280afb6 Switch to GNU Radio 3.7.x API
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@368 64b25241-fba3-4117-9849-534c7e92360d
2013-07-04 13:47:40 +00:00
Carles Fernandez e0f577fe98 If Armadillo is not installed in the system, now CMake will download it, patch it in order to make a static library, build it, and link it with the rest of GNSS-SDR.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@306 64b25241-fba3-4117-9849-534c7e92360d
2013-01-03 01:48:34 +00:00
Carles Fernandez c6e974ab21 Starting CMake support. In the root directory of gnss-sdr, type:
$ mkdir build && cd build && cmake ../ && make && make install

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@290 64b25241-fba3-4117-9849-534c7e92360d
2012-12-24 02:33:50 +00:00