Commit Graph

54 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 a7a140862b
Fix building against latest GNU Radio
Replace boost::any by std::any
2021-10-30 05:43:22 +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 a9472e8804
CMake formatting 2020-06-23 11:06:26 +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 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 fdb0f35116
Use lambda instead of boost::build when genenic lambdas are available in the compiler 2020-04-25 21:41:04 +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 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 38a987607e
Make use of the new Boost::headers target introduced in CMake 3.15 2019-09-07 12:36:19 +02:00
Carles Fernandez ff71f0ec18
Remove unused linking 2019-08-03 19:56:37 +02:00
Carles Fernandez 1a11b5a2ec
Remove unnecessary links and includes to boost::thread 2019-08-03 19:51:50 +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 4fe976ba01
Replace boost::thread by std::thread 2019-02-25 00:02:53 +01:00
Carles Fernandez b617213784
Extend clang-tidy checking to tests and utils 2019-02-21 11:42:56 +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 f0e2c7c48d
Small fixes 2019-02-10 13:52:37 +01:00
Carles Fernandez 97e8d9931e
Make use of Threads::Threads target 2019-02-07 09:28:20 +01:00
Carles Fernandez 1789777070 Remove unused lines 2019-02-04 18:33:16 +01:00
Carles Fernandez 999604cd75
Add Boost::atomic target, required by Boost::thread in some configurations (e.g. OpenSUSE) 2019-02-04 08:11:28 +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 e94b2f8990
Remove blanks 2018-11-18 21:24:54 +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
Carles Fernandez 78c0b76cb9
Avoid use of GLOB for source and header files 2018-10-04 22:35:44 +02:00
Javier Arribas adcc04c3b6 Fix GPS L1 CA fine Doppler acquisition implementation and migrate the configuration interface 2018-07-04 16:56:47 +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 2ca458cea1 Add more flag validators 2018-02-26 21:37:53 +01: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 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
Javier Arribas 0a5573f666 several receiver configuration mechanism simplifications and several bug fixes. Work in progress 2016-04-21 18:54:08 +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 48435735ba fixes parallel building when glog is auto-built 2015-05-19 20:28:02 +02:00
Anthony Arnold fd59c4351b Always build front-end-cal 2015-05-17 01:31:53 +10:00
Anthony Arnold 9ecf17a602 Link dependencies 2015-04-30 17:18:15 +10:00
Carles Fernandez 6620e7d43c Updating copyright year 2015-01-08 19:49:59 +01:00
Carles Fernandez 6bf55a201e adding front-end-cal manpage 2014-12-15 19:21:14 +01:00
Javier Arribas b99bae71b9 Bug fix in cmakelists.txt involving volk_gnsssdr autobuild for
front-end-cal (credits to Carles!)
2014-11-13 17:31:55 +01:00
Carles Fernandez 74cb7ff362 Changing building system: 'cmake && make && sudo make install' 2014-11-04 21:28:01 +01:00
Carles Fernandez 3257d8cba1 Improving handling of optional processing blocks and linking libraries.
New options ENABLE_GN3S, ENABLE_RTLSDR, ENABLE_OPENCL, ENABLE_ARRAY and
ENABLE_GPERFTOOLS, all set by default to OFF. Users can enable that
features by 'cmake -DENABLE_XXX=ON ../ '. OpenCL is now not used by
default since it was giving problems in some platforms. Old variables
(RTSDR_DRIVER, GN3S_DRIVER, RAW_ARRAY_DRIVER and DISABLE_OPENCL) are
still honored and can be used in the same way, but the new ENABLE_XXX
are recommended for the sake of more uniform naming. Main CMakeFile.txt
has been rearranged, putting options first, then searching for the
required libraries, and then the optional ones. If Gperftools is enabled
and found, binaries are linked to the tcmalloc and profiler libraries,
and using the adequate flags. Fixed building in Mac OSX if Armadillo and
OpenBLAS were not installed in the system.
2014-08-07 21:04:01 +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