| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
* gnuradio: replace deprecated distutils
Check if python packaging is available
Signed-off-by: Volker Schroer <3470424+dl1ksv@users.noreply.github.com>
* Add packaging requirement
Signed-off-by: Volker Schroer <3470424+dl1ksv@users.noreply.github.com>
|
|
|
|
|
|
| |
* cmake: Maintain compiler settings at one point.
Signed-off-by: Volker Schroer <3470424+dl1ksv@users.noreply.github.com>
|
|
|
|
| |
Signed-off-by: Ron Economos <w6rz@comcast.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* When cross compiling gnuradio, change how the test files are built.
Normally, the gnuradio QA code expects to run in the build tree. For the
cross compilng case, we cannot run the QA code during the build process.
The changes here allow the creation of an additional package that can be
installed on a target that will run the QA code against the installed
libraries.
Major changes are not using full paths to test files (since they include
paths that only exist on the build machine) and not setting environment
variables in the shell files to force the QA code to use code in the
build tree.
This patch disables the C++ only tests, these need some work and then they
can be added back for the cross compile case.
Signed-off-by: Philip Balister <philip@balister.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* modtool: move OOTs equal to components for 3.10
Signed-off-by: Josh Morman <jmorman@gnuradio.org>
* pybind: update some python dir references
Signed-off-by: Josh Morman <jmorman@gnuradio.org>
* cmake: have pybind address the correct header
Signed-off-by: Josh Morman <jmorman@gnuradio.org>
* runtime: extend the python search path
allow OOT modules to be installed in other places in PYTHONPATH that
have a gnuradio directory
Signed-off-by: Josh Morman <jmorman@gnuradio.org>
* modtool: update python paths for rm
Signed-off-by: Josh Morman <jmorman@gnuradio.org>
* modtool: minor fixes for new dir structure
Signed-off-by: Josh Morman <jmorman@gnuradio.org>
* modtool: update the installed cmake targets
Signed-off-by: Josh Morman <jmorman@gnuradio.org>
* modtool: add include(CMakePackageConfigHelpers)
Signed-off-by: Josh Morman <jmorman@gnuradio.org>
* modtool: test_modules dir under gnuradio
Signed-off-by: Josh Morman <jmorman@gnuradio.org>
|
|
|
|
|
|
|
|
| |
also: enable formerly disabled qa_logger tests
This replaces log4cpp with spdlog.
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
|
|
|
|
| |
Creates a python module in the build tree for tests to import.
Addresses #3999 and #4825
Signed-off-by: Christoph Koehler <christoph@zerodeviation.net>
|
|
|
|
| |
Signed-off-by: Christoph Koehler <christoph@zerodeviation.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After the recent change to use `string(REGEX REPLACE ...)` to ensure
that only numeric values are used for RC_*_VERSION, an unset
VERSION_PATCH now results in a cmake failure when it didn't previously.
While we should expect all 4 version fields to be set (except when one
of the values is "git"), we should also avoid failing here when it
worked before. At least one OOT (gr-satellites) doesn't set the
VERSION_PATCH field for releases, so this fixes the build in that case
without requiring OOT changes. Now an unset VERSION_PATCH defaults to
"0".
Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
|
|
|
|
| |
Signed-off-by: schneider <schneider@blinkenlichts.net>
|
|
|
|
| |
Signed-off-by: Ron Economos <w6rz@comcast.net>
|
|
|
|
|
|
|
|
|
|
| |
The libfind_process macro expects <lib>_PROCESS_INCLUDES to be set to
the names of variables containing the include paths, not the include
paths themselves. This was causing find_package(libunwind) to always
fail, even when the necessary files were correctly found by find_path
and find_library.
Signed-off-by: Pavon <pavon@protonmail.com>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
|
|
|
| |
GRC already does a few GR_PYTHON_INSTALLs with extra FILES_MATCHING
REGEX arguments, so this will actually pass these through.
Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This transitions to using Python::NumPy, pybind11::pybind11, and
libunwind::libunwind targets for building with the include
directories/libraries of NumPy, pybind11, and libunwind. The
Python::NumPy target matches what is available with the FindPython
module in CMake 3.14+ (and can be transitioned to such when the minimum
CMake version is past that). These changes have the effect of cleaning
up the include_directory paths added to the gnuradio-runtime target so
that no absolute paths are used, which is helpful for relocatable
installations (e.g. conda).
Part of this change involves moving some link targets to PRIVATE since
they are not actually part of the public interface. In the case of the
python bindings, these are not exported and have no public interface for
consumption by other C++ libraries, so the switch from PUBLIC to PRIVATE
has no practical effect but could still help avoid future confusion.
Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
|
|
|
|
|
|
| |
Non-numeric values (such as "0-rc1") cause build errors.
Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
| |
Signed-off-by: Volker Schroer <3470424+dl1ksv@users.noreply.github.com>
|
|
|
|
|
|
| |
If gr-iio is part of gnuradio, the module should be mentioned here.
Signed-off-by: Volker Schroer <3470424+dl1ksv@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This standardizes the CMake Find module names for libiio and libad9361
to use the pkg-config names and what the projects use internally as
their CMake "project" names. The CMake variables that are set in the
Find modules are also changed to match, per CMake convention.
This also adds and uses targets for libiio::iio and libad9361::ad9361,
removing the need for extra steps like setting a local include directory
for libiio on the gnuradio-iio target (PR #4465).
I also added pkg-config checks for added search breadth and headed off
Windows problems by adding the not-searched "libiio" and "libad9361"
library names that are used there.
Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
|
|
|
|
|
|
| |
Co-authored-by: Edward Kigwana <ekigwana@scires.com>
Co-authored-by: Travis Collins <travis.collins@analog.com>
Signed-off-by: Adam Horden <adam.horden@horden.engineering>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, this moves find_package(THRIFT) up to the gnuradio-runtime
CMakeLists.txt so that cache variables no longer have to be used to mark
the found components. This fixes an issue where the thrift-specific
headers were not installed even when thrift was enabled, because on
first run the detection was occurring AFTER the runtime include
CMakeLists.txt was evaluated. See further discussion in #2734, which
solved one issue related to this setup.
Further, even with thrift enabled, the thrift headers are not required
for OOTs to build against gnuradio-runtime. OOTs would need to take
special action to use those headers, in which case they should
detect/enable thrift on their own. Thus, this makes the change to not
add thrift as an extra dependency for OOTs and switches linking of
Thrift::thrift from PUBLIC to PRIVATE.
Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
|
|
|
|
|
|
|
|
| |
Where appropriate, switch to using the HINTS and PATH_SUFFIXES options
in find_* commands in the CMake find modules. This will more robustly
find the components on Windows and non-standard systems.
Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
|
|
|
|
|
|
|
| |
Default CMake build for thrift with MSVC calls the library "thriftmd"
or "thriftmt" depending on if the build is done with /MD or /MT flags.
Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
|
|
|
|
| |
Signed-off-by: Jeff Long <willcode4@gmail.com>
|
|
|
|
| |
Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This seems to be a common confusion, so let's alleviate the confusion by
letting users know what CMake does and why failing to find GMP is not a
problem when MPIR is present.
Since we preferred GMP over MPIR anyways, only check for MPIR if GMP
detection fails.
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
|
|
|
| |
There is only one simple block in here for now, and there are probably
some doxygen issues but it builds and tests properly.
Signed-off-by: Jacob Gilbert <jacob.gilbert@protonmail.com>
|
|
|
|
| |
Signed-off-by: Zackery Spytz <zspytz@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
The in-tree FindGSL.cmake module differs from the standard cmake FindGSL
in the target names that are output. (gsl::gsl vs GSL::gsl). This
makes linking an OOT to something that links to gsl cause issues and
requires copying in FindGSL.cmake into the OOT. Since CMake 3.8
(current project minimum) installs FindGSL, use that instead
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
|
|
|
|
|
|
|
| |
- Modifies top-level CMake to set the min Thrift version
- Modifies FindThrift.cmake to use a version argument
Signed-off-by: Martin Braun <martin@gnuradio.org>
|
|
|
|
| |
Signed-off-by: Volker Schroer <3470424+dl1ksv@users.noreply.github.com>
|
|
|
|
| |
Signed-off-by: gnieboer <gnieboer@corpcomm.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a segmentation fault with the Pybind11 bindings when trying
to load any Python module on OSX with a different interpreter than
was used at build time (relevant to at least conda and homebrew). This
fix was already in place for the prior Swig bindings, but the Pybind11
changes do not incorporate it since they link with ${PYTHON_LIBRARIES}
instead of the (fixed) Python::Python target.
For clearer separation and to adopt the approach used by the new-ish
(3.12) builtin CMake FindPython module, this commit creates a separate
Python::Module target to be used when creating a Python extension module
(which includes "-undefined" and "dynamic_lookup" for macOS instead of
linking directly to the Python library). The Python::Python target
that does link to the Python library is still necessary for use as a
PRIVATE target (e.g. for runtime and qtgui).
For future reference and a general description of best practices for
linking Python extension modules, see
https://blog.tim-smith.us/2015/09/python-extension-modules-os-x.
Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This consists of the following changes:
1. Add a top_block parameter to control exception handling
This restores past behavior where the scheduler catches exceptions
raised in block threads, allowing flowgraphs to continue running after
the failure of an individual block. It also adds optional new behavior,
selected by setting catch_exceptions=False to the top block, which causes
exceptions to not be caught. In this mode of operation, a std::terminate
handler can be installed to print a stack trace before the flowgraph exits.
2. Add terminate_handler to top_block_impl
This adds a terminate_handler function that prints information
about any uncaught exceptions and also attempts to print a backtrace
for said exception after which it calls std::abort. The backtrace is
printed via libunwind, which is a new optional dependency. If libunwind
is not found/installed, then the terminate handler will still print
information about the exception and then exit.
Co-Authored-By: Scott Torborg <storborg@gmail.com>
|
|
|
|
|
|
|
| |
Adds ability for master to build with newer Thrift versions
by checking availability of thrift include files.
(Also spelling fix: Thift -> Thrift)
And fix up logging for rpcserver_thrift class.
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #2707.
A full LaTeX installation is no longer required for generating the HTML
docs. Also adds some nice-to-have functionalities accessible via
right-click context menu.
Details:
- SVG backend selected by default.
- MathJax recommends not (ab)using their CDN, so
this adds a local dependency.
- Some spurious doxygen warnings were also removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This permits an OOT to override the hash checking
putting a 0 for BINDTOOL_HEADER_FILE_HASH will ignore the hash checking.
This would:
1) Not be the default behavior
2) only for OOTs
3) Use at your own risk
/***********************************************************************************/
/* This file is automatically generated using bindtool and can be manually edited */
/* The following lines can be configured to regenerate this file during cmake */
/* If manual edits are made, the following tags should be modified accordingly. */
/* BINDTOOL_GEN_AUTOMATIC(0) */
/* BINDTOOL_USE_PYGCCXML(0) */
/* BINDTOOL_HEADER_FILE(foo.h) */
/* BINDTOOL_HEADER_FILE_HASH(0) */
/***********************************************************************************/
|
| |
|
|
|
|
|
| |
GrPython.cmake now sets the default correctly thanks to #2939
Closes #3729
|
|
|
|
|
| |
-Wall is not set for MSVC, and -Wno-unused-variable doesn't exist, so
put it behind an if statement.
|
|
|
|
|
|
| |
This fixes all of these commands on Windows and wherever "python3" is
not available. The CMake-found PYTHON_EXECUTABLE will always work or
error out earlier if python is not found.
|
| |
|
| |
|
| |
|
|
|
|
| |
Compressed input and output with FLAC and Ogg Vorbis now supported.
|
|
|
|
|
| |
* Add missing Windows resource file
* Include in component list in GnuradioConfig.cmake
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For Homebrew, gnuradio is built against brewed Python 3.8. This means
that GR will link against that Python.
If later on the user has another Python 3 in their path, running `gnuradio`
will fail with the `Abort Trap 6` error message.
On Linux, you do not need this flag, as this is the default behaviour of
the compiler. On Mac, you need to explicitly ask for dynamic lookup.
This setting was removed in commit ab2fb35677e38a384df3f9503d1f45f64bbc0374
and this patch adds it back in.
|