summaryrefslogtreecommitdiff
path: root/gr-blocks/python
diff options
context:
space:
mode:
authorRon Economos <w6rz@comcast.net>2020-09-03 01:06:59 -0700
committerDerek Kozel <derek.kozel@gmail.com>2020-09-20 22:40:22 +0100
commitebf4b70e3fa9187c947b6b2f8352dafe36b7a77d (patch)
treecd5821c2b05447f5f8cdf359e5be89a8c8a83790 /gr-blocks/python
parentc78198d72a5ae16c596c7bb9aa7768e43d6f1f94 (diff)
gr-blocks: More graceful error handling of missing sndfile dependency.
Diffstat (limited to 'gr-blocks/python')
-rw-r--r--gr-blocks/python/blocks/CMakeLists.txt6
-rw-r--r--gr-blocks/python/blocks/bindings/CMakeLists.txt10
-rw-r--r--gr-blocks/python/blocks/bindings/python_bindings.cc4
3 files changed, 17 insertions, 3 deletions
diff --git a/gr-blocks/python/blocks/CMakeLists.txt b/gr-blocks/python/blocks/CMakeLists.txt
index 82b5e6bf1d..ab1176c765 100644
--- a/gr-blocks/python/blocks/CMakeLists.txt
+++ b/gr-blocks/python/blocks/CMakeLists.txt
@@ -43,6 +43,12 @@ if(ENABLE_TESTING)
)
endif(NOT ENABLE_GR_CTRLPORT OR CTRLPORT_BACKENDS EQUAL 0)
+ if(NOT SNDFILE_FOUND)
+ list(REMOVE_ITEM py_qa_test_files
+ ${CMAKE_CURRENT_SOURCE_DIR}/qa_wavfile.py
+ )
+ endif()
+
foreach(py_qa_test_file ${py_qa_test_files})
get_filename_component(py_qa_test_name ${py_qa_test_file} NAME_WE)
GR_ADD_TEST(${py_qa_test_name} ${QA_PYTHON_EXECUTABLE} -B ${py_qa_test_file})
diff --git a/gr-blocks/python/blocks/bindings/CMakeLists.txt b/gr-blocks/python/blocks/bindings/CMakeLists.txt
index 4385c82a0f..5fefaec511 100644
--- a/gr-blocks/python/blocks/bindings/CMakeLists.txt
+++ b/gr-blocks/python/blocks/bindings/CMakeLists.txt
@@ -168,12 +168,16 @@ list(APPEND blocks_python_files
vector_source_python.cc
vector_to_stream_python.cc
vector_to_streams_python.cc
- wavfile_python.cc
- wavfile_sink_python.cc
- wavfile_source_python.cc
xor_blk_python.cc
python_bindings.cc)
+if (SNDFILE_FOUND)
+ list(APPEND blocks_python_files
+ wavfile_python.cc
+ wavfile_sink_python.cc
+ wavfile_source_python.cc)
+endif()
+
GR_PYBIND_MAKE_CHECK_HASH(blocks
../../..
gr::blocks
diff --git a/gr-blocks/python/blocks/bindings/python_bindings.cc b/gr-blocks/python/blocks/bindings/python_bindings.cc
index 8cbec6d7fd..b815fae14f 100644
--- a/gr-blocks/python/blocks/bindings/python_bindings.cc
+++ b/gr-blocks/python/blocks/bindings/python_bindings.cc
@@ -172,9 +172,11 @@ void bind_vector_sink(py::module&);
void bind_vector_source(py::module&);
void bind_vector_to_stream(py::module&);
void bind_vector_to_streams(py::module&);
+#ifndef NO_WAVFILE
void bind_wavfile(py::module&);
void bind_wavfile_sink(py::module&);
void bind_wavfile_source(py::module&);
+#endif
void bind_xor_blk(py::module&);
// We need this hack because import_array() returns NULL
@@ -352,8 +354,10 @@ PYBIND11_MODULE(blocks_python, m)
bind_vector_source(m);
bind_vector_to_stream(m);
bind_vector_to_streams(m);
+#ifndef NO_WAVFILE
bind_wavfile(m);
bind_wavfile_sink(m);
bind_wavfile_source(m);
+#endif
bind_xor_blk(m);
}