Statistics
| Branch: | Tag: | Revision:

root / gnuradio-core / src / lib / general / CMakeLists.txt @ 93a4677f

History | View | Annotate | Download (10.4 kB)

1
# Copyright 2010-2012 Free Software Foundation, Inc.
2
#
3
# This file is part of GNU Radio
4
#
5
# GNU Radio is free software; you can redistribute it and/or modify
6
# it under the terms of the GNU General Public License as published by
7
# the Free Software Foundation; either version 3, or (at your option)
8
# any later version.
9
#
10
# GNU Radio is distributed in the hope that it will be useful,
11
# but WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License
16
# along with GNU Radio; see the file COPYING.  If not, write to
17
# the Free Software Foundation, Inc., 51 Franklin Street,
18
# Boston, MA 02110-1301, USA.
19
20
########################################################################
21
# This file included, use CMake directory variables
22
########################################################################
23
24
########################################################################
25
# Handle the generated sine table
26
########################################################################
27
add_custom_command(
28
    OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/sine_table.h
29
    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/gen_sine_table.py
30
    COMMAND ${PYTHON_EXECUTABLE}
31
        ${CMAKE_CURRENT_SOURCE_DIR}/gen_sine_table.py >
32
        ${CMAKE_CURRENT_BINARY_DIR}/sine_table.h
33
)
34
35
include(AddFileDependencies)
36
ADD_FILE_DEPENDENCIES(${CMAKE_CURRENT_SOURCE_DIR}/gr_fxpt.cc
37
    ${CMAKE_CURRENT_BINARY_DIR}/sine_table.h
38
)
39
40
########################################################################
41
# Handle the generated constants
42
########################################################################
43
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c
44
    "import time;print time.strftime('%a, %d %b %Y %H:%M:%S', time.gmtime())"
45
    OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE
46
)
47
message(STATUS "Loading build date ${BUILD_DATE} into gr_constants...")
48
49
message(STATUS "Loading version ${VERSION} into gr_constants...")
50
51
#double escape for windows backslash path separators
52
string(REPLACE "\\" "\\\\" prefix ${prefix})
53
string(REPLACE "\\" "\\\\" SYSCONFDIR ${SYSCONFDIR})
54
string(REPLACE "\\" "\\\\" GR_PREFSDIR ${GR_PREFSDIR})
55
56
configure_file(
57
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_constants.cc.in
58
    ${CMAKE_CURRENT_BINARY_DIR}/gr_constants.cc
59
@ONLY)
60
61
list(APPEND gnuradio_core_sources ${CMAKE_CURRENT_BINARY_DIR}/gr_constants.cc)
62
63
########################################################################
64
# Append gnuradio-core library sources
65
########################################################################
66
list(APPEND gnuradio_core_sources
67
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_circular_file.cc
68
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_count_bits.cc
69
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_fast_atan2f.cc
70
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_fft_vcc_fftw.cc
71
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_fxpt.cc
72
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_misc.cc
73
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_random.cc
74
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_reverse.cc
75
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_add_const_ss_generic.cc
76
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_char_to_float.cc
77
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_control_loop.cc
78
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_debugger_hook.cc
79
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_fft.cc
80
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_float_to_char.cc
81
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_float_to_int.cc
82
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_float_to_short.cc
83
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_float_to_uchar.cc
84
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_glfsr.cc
85
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_interleaved_short_to_complex.cc
86
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_int_to_float.cc
87
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_short_to_float.cc
88
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_uchar_to_float.cc
89
    ${CMAKE_CURRENT_SOURCE_DIR}/malloc16.c
90
)
91
92
########################################################################
93
# Append gnuradio-core test sources
94
########################################################################
95
list(APPEND test_gnuradio_core_sources
96
    ${CMAKE_CURRENT_SOURCE_DIR}/qa_general.cc
97
    ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_circular_file.cc
98
    ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_cpm.cc
99
    ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_firdes.cc
100
    ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_fxpt.cc
101
    ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_fxpt_nco.cc
102
    ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_fxpt_vco.cc
103
    ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_math.cc
104
    ${CMAKE_CURRENT_SOURCE_DIR}/qa_gri_lfsr.cc
105
)
106
107
########################################################################
108
# Install runtime headers
109
########################################################################
110
install(FILES
111
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_core_api.h
112
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_circular_file.h
113
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_constants.h
114
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_count_bits.h
115
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_expj.h
116
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_fft_vcc_fftw.h
117
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_fxpt.h
118
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_fxpt_nco.h
119
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_fxpt_vco.h
120
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_log2_const.h
121
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_math.h
122
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_misc.h
123
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_nco.h
124
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_random.h
125
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_reverse.h
126
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_simple_framer_sync.h
127
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_test_types.h
128
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_vco.h
129
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_add_const_ss.h
130
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_agc_cc.h
131
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_agc_ff.h
132
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_agc2_cc.h
133
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_agc2_ff.h
134
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_char_to_float.h
135
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_control_loop.h
136
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_debugger_hook.h
137
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_fft.h
138
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_float_to_char.h
139
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_float_to_int.h
140
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_float_to_short.h
141
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_float_to_uchar.h
142
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_lfsr.h
143
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_glfsr.h
144
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_interleaved_short_to_complex.h
145
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_lfsr_15_1_0.h
146
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_lfsr_32k.h
147
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_int_to_float.h
148
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_short_to_float.h
149
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_uchar_to_float.h
150
    ${CMAKE_CURRENT_SOURCE_DIR}/malloc16.h
151
    ${CMAKE_CURRENT_SOURCE_DIR}/random.h
152
    DESTINATION ${GR_INCLUDE_DIR}/gnuradio
153
    COMPONENT "core_devel"
154
)
155
156
########################################################################
157
# Install swig headers
158
########################################################################
159
if(ENABLE_PYTHON)
160
install(FILES
161
    ${CMAKE_CURRENT_SOURCE_DIR}/general.i
162
    ${CMAKE_CURRENT_SOURCE_DIR}/gr_constants.i
163
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_agc_cc.i
164
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_agc_ff.i
165
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_agc2_cc.i
166
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_agc2_ff.i
167
    ${CMAKE_CURRENT_SOURCE_DIR}/gri_control_loop.i
168
    DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig
169
    COMPONENT "core_swig"
170
)
171
endif(ENABLE_PYTHON)
172
173
########################################################################
174
# Handle triple-threat files that have cc, h, and i
175
########################################################################
176
set(gr_core_general_triple_threats
177
    complex_vec_test
178
    gr_add_ff
179
    gr_additive_scrambler_bb
180
    gr_agc_cc
181
    gr_agc_ff
182
    gr_agc2_cc
183
    gr_agc2_ff
184
    gr_align_on_samplenumbers_ss
185
    gr_bin_statistics_f
186
    gr_bytes_to_syms
187
    gr_char_to_float
188
    gr_char_to_short
189
    gr_check_counting_s
190
    gr_check_lfsr_32k_s
191
    gr_complex_to_interleaved_short
192
    gr_complex_to_xxx
193
    gr_conjugate_cc
194
    gr_copy
195
    gr_cpfsk_bc
196
    gr_cpm
197
    gr_ctcss_squelch_ff
198
    gr_decode_ccsds_27_fb
199
    gr_diff_decoder_bb
200
    gr_diff_encoder_bb
201
    gr_diff_phasor_cc
202
    gr_dpll_bb
203
    gr_deinterleave
204
    gr_delay
205
    gr_encode_ccsds_27_bb
206
    gr_fake_channel_coder_pp
207
    gr_feedforward_agc_cc
208
    gr_feval
209
    gr_fft_vcc
210
    gr_fft_vfc
211
    gr_firdes
212
    gr_float_to_char
213
    gr_float_to_complex
214
    gr_float_to_int
215
    gr_float_to_short
216
    gr_float_to_uchar
217
    gr_fmdet_cf
218
    gr_frequency_modulator_fc
219
    gr_framer_sink_1
220
    gr_glfsr_source_b
221
    gr_glfsr_source_f
222
    gr_head
223
    gr_int_to_float
224
    gr_interleave
225
    gr_interleaved_short_to_complex
226
    gr_iqcomp_cc
227
    gr_keep_one_in_n
228
    gr_keep_m_in_n
229
    gr_kludge_copy
230
    gr_lfsr_32k_source_s
231
    gr_map_bb
232
    gr_multiply_cc
233
    gr_multiply_ff
234
    gr_multiply_const_cc
235
    gr_multiply_const_ff
236
    gr_multiply_conjugate_cc
237
    gr_nlog10_ff
238
    gr_nop
239
    gr_null_sink
240
    gr_null_source
241
    gr_pa_2x2_phase_combiner
242
    gr_packet_sink
243
    gr_peak_detector2_fb
244
    gr_phase_modulator_fc
245
    gr_pll_carriertracking_cc
246
    gr_pll_freqdet_cf
247
    gr_pll_refout_cc
248
    gr_pn_correlator_cc
249
    gr_prefs
250
    gr_probe_avg_mag_sqrd_c
251
    gr_probe_avg_mag_sqrd_cf
252
    gr_probe_avg_mag_sqrd_f
253
    gr_pwr_squelch_cc
254
    gr_pwr_squelch_ff
255
    gr_quadrature_demod_cf
256
    gr_rail_ff
257
    gr_regenerate_bb
258
    gr_remez
259
    gr_rms_cf
260
    gr_rms_ff
261
    gr_repeat
262
    gr_short_to_float
263
    gr_short_to_char
264
    gr_simple_correlator
265
    gr_simple_framer
266
    gr_simple_squelch_cc
267
    gr_skiphead
268
    gr_squelch_base_cc
269
    gr_squelch_base_ff
270
    gr_stream_mux
271
    gr_stream_to_streams
272
    gr_stream_to_vector
273
    gr_streams_to_stream
274
    gr_streams_to_vector
275
    gr_stretch_ff
276
    gr_test
277
    gr_threshold_ff
278
    gr_throttle
279
    gr_transcendental
280
    gr_uchar_to_float
281
    gr_vco_f
282
    gr_vector_map
283
    gr_vector_to_stream
284
    gr_vector_to_streams
285
    gr_unpack_k_bits_bb
286
    gr_pack_k_bits_bb
287
    gr_descrambler_bb
288
    gr_scrambler_bb
289
    gr_probe_density_b
290
    gr_annotator_alltoall
291
    gr_annotator_1to1
292
    gr_annotator_raw
293
    gr_burst_tagger
294
    gr_correlate_access_code_tag_bb
295
    gr_tag_debug
296
)
297
298
foreach(file_tt ${gr_core_general_triple_threats})
299
    list(APPEND gnuradio_core_sources ${CMAKE_CURRENT_SOURCE_DIR}/${file_tt}.cc)
300
    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${file_tt}.h DESTINATION ${GR_INCLUDE_DIR}/gnuradio COMPONENT "core_devel")
301
    if(ENABLE_PYTHON)
302
        install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${file_tt}.i DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig COMPONENT "core_swig")
303
    endif(ENABLE_PYTHON)
304
endforeach(file_tt ${gr_core_general_triple_threats})