summaryrefslogtreecommitdiff
path: root/gr-digital/include/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'gr-digital/include/CMakeLists.txt')
-rw-r--r--gr-digital/include/CMakeLists.txt84
1 files changed, 80 insertions, 4 deletions
diff --git a/gr-digital/include/CMakeLists.txt b/gr-digital/include/CMakeLists.txt
index 81ed8d368..f863b2875 100644
--- a/gr-digital/include/CMakeLists.txt
+++ b/gr-digital/include/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright 2011 Free Software Foundation, Inc.
+# Copyright 2011,2012 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -17,25 +17,94 @@
# the Free Software Foundation, Inc., 51 Franklin Street,
# Boston, MA 02110-1301, USA.
+
+########################################################################
+# generate helper scripts to expand templated files
+########################################################################
+include(GrPython)
+
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py "
+#!${PYTHON_EXECUTABLE}
+
+import sys, os, re
+sys.path.append('${GR_CORE_PYTHONPATH}')
+os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}'
+os.chdir('${CMAKE_CURRENT_BINARY_DIR}')
+
+if __name__ == '__main__':
+ import build_utils
+ root, inp = sys.argv[1:3]
+ for sig in sys.argv[3:]:
+ name = re.sub ('X+', sig, root)
+ d = build_utils.standard_dict(name, sig, 'digital')
+ build_utils.expand_template(d, inp)
+
+")
+
+macro(expand_h root)
+ #make a list of all the generated files
+ unset(expanded_files_h)
+ foreach(sig ${ARGN})
+ string(REGEX REPLACE "X+" ${sig} name ${root})
+ list(APPEND expanded_files_h ${CMAKE_CURRENT_BINARY_DIR}/${name}.h)
+ endforeach(sig)
+
+ #create a command to generate the files
+ add_custom_command(
+ OUTPUT ${expanded_files_h}
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}.h.t
+ COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
+ ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
+ ${root} ${root}.h.t ${ARGN}
+ )
+
+ #install rules for the generated h files
+ list(APPEND generated_includes ${expanded_files_h})
+endmacro(expand_h)
+
+########################################################################
+# Invoke macro to generate various sources
+########################################################################
+expand_h(digital_chunks_to_symbols_XX bf bc sf sc if ic)
+
+add_custom_target(digital_generated_includes DEPENDS
+ ${generated_includes}
+)
+
########################################################################
# Install header files
########################################################################
install(FILES
+ ${generated_includes}
digital_api.h
+ digital_impl_glfsr.h
digital_impl_mpsk_snr_est.h
+ digital_additive_scrambler_bb.h
digital_binary_slicer_fb.h
+ digital_bytes_to_syms.h
digital_clock_recovery_mm_cc.h
digital_clock_recovery_mm_ff.h
+ digital_cma_equalizer_cc.h
+ digital_cpmmod_bc.h
digital_constellation.h
digital_constellation_receiver_cb.h
digital_constellation_decoder_cb.h
digital_correlate_access_code_bb.h
+ digital_correlate_access_code_tag_bb.h
digital_costas_loop_cc.h
- digital_cma_equalizer_cc.h
digital_crc32.h
+ digital_descrambler_bb.h
+ digital_diff_decoder_bb.h
+ digital_diff_encoder_bb.h
+ digital_diff_phasor_cc.h
+ digital_framer_sink_1.h
digital_fll_band_edge_cc.h
+ digital_glfsr_source_b.h
+ digital_glfsr_source_f.h
+ digital_gmskmod_bc.h
digital_lms_dd_equalizer_cc.h
digital_kurtotic_equalizer_cc.h
+ digital_map_bb.h
digital_metric_type.h
digital_mpsk_receiver_cc.h
digital_mpsk_snr_est_cc.h
@@ -45,9 +114,16 @@ install(FILES
digital_ofdm_insert_preamble.h
digital_ofdm_mapper_bcv.h
digital_ofdm_sampler.h
+ digital_packet_sink.h
+ digital_pfb_clock_sync_ccf.h
+ digital_pfb_clock_sync_fff.h
+ digital_pn_correlator_cc.h
+ digital_probe_density_b.h
digital_probe_mpsk_snr_est_c.h
- digital_gmskmod_bc.h
- digital_cpmmod_bc.h
+ digital_scrambler_bb.h
+ digital_simple_framer.h
+ digital_simple_framer_sync.h
DESTINATION ${GR_INCLUDE_DIR}/gnuradio
COMPONENT "digital_devel"
)
+