blob: a3a33886c4d6e80d9650d687cbea431ade8a7583 [file] [log] [blame]
piotr437f5462014-02-04 17:57:25 +01001# Copyright 2011,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# Setup library
22########################################################################
23include(GrPlatform) #define LIB_SUFFIX
24
ptrkrysik18b631e2014-12-15 09:09:18 +010025include_directories(${Boost_INCLUDE_DIR} receiver)
piotr437f5462014-02-04 17:57:25 +010026link_directories(${Boost_LIBRARY_DIRS})
ptrkrysika25b8302015-05-08 08:59:17 +020027list(APPEND grgsm_sources
piotr7f3f3662014-07-08 16:47:53 +020028 receiver/receiver_impl.cc
Roman Khassraf8851d662015-06-07 16:42:37 +020029 receiver/receiver_config.cc
30 receiver/viterbi_detector.cc
piotr501c51e2014-07-08 23:24:07 +020031 receiver/sch.c
ptrkrysikf8c7e832015-04-04 12:28:20 +020032 receiver/clock_offset_control_impl.cc
rpp4f0f3b52015-06-10 10:23:30 +020033 receiver/cx_channel_hopper_impl.cc
piotrc00ce9c2014-08-04 11:21:24 +020034 misc_utils/bursts_printer_impl.cc
piotrdda22272014-08-04 11:31:54 +020035 misc_utils/extract_system_info_impl.cc
Roman Khassraf5bd14f22015-06-24 17:59:13 +020036 misc_utils/extract_immediate_assignment_impl.cc
ptrkrysik6dded652014-11-19 11:32:05 +010037 demapping/universal_ctrl_chans_demapper_impl.cc
Roman Khassraffb6bc502015-04-14 15:44:40 +020038 demapping/tch_f_chans_demapper_impl.cc
piotrfaacc722014-07-20 23:48:32 +020039 decoding/control_channels_decoder_impl.cc
40 decoding/cch.c
41 decoding/fire_crc.c
Roman Khassraf059bab92015-05-20 12:49:46 +020042 decoding/tch_f_decoder_impl.cc
Roman Khassrafd38206c2015-06-07 16:26:29 +020043 decoding/AmrCoder.cpp
Roman Khassraf059bab92015-05-20 12:49:46 +020044 decoding/BitVector.cpp
45 decoding/GSM610Tables.cpp
46 decoding/GSM660Tables.cpp
Roman Khassrafd38206c2015-06-07 16:26:29 +020047 decoding/GSM503Tables.cpp
Roman Khassrafd71e6582015-06-02 08:49:12 +020048 decoding/ViterbiR204.cpp
piotr4089c1a2014-08-06 14:10:56 +020049 misc_utils/controlled_rotator_cc_impl.cc
50 misc_utils/controlled_const_source_f_impl.cc
51 misc_utils/message_printer_impl.cc
ptrkrysikdd700c12015-01-15 11:47:38 +010052 misc_utils/tmsi_dumper_impl.cc
Roman Khassraf1c3419e2015-08-03 10:58:57 +020053 misc_utils/burst_file_sink_impl.cc
54 misc_utils/burst_file_source_impl.cc
Roman Khassrafb8f49092015-08-03 10:08:18 +020055 qa_utils/burst_sink_qa_impl.cc
56 qa_utils/burst_source_qa_impl.cc
57 qa_utils/message_source_impl.cc
58 qa_utils/message_sink_impl.cc
59 decryption/decryption_impl.cc
60)
piotr437f5462014-02-04 17:57:25 +010061
ptrkrysikdfdf8782015-06-27 10:43:30 +020062add_library(gnuradio-grgsm SHARED ${grgsm_sources})
Roman Khassraf9c588462015-07-17 13:57:24 +020063target_link_libraries(gnuradio-grgsm ${Boost_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES} ${VOLK_LIBRARIES} ${LIBOSMOCORE_LIBRARIES}
ptrkrysik30f39452014-12-05 18:25:58 +010064# libraries required by plotting.h - have troubles to be installed by pybombs
65# boost_iostreams
66# boost_system
67# boost_filesystem
piotr3f1ea812014-04-17 10:56:08 +020068)
ptrkrysikdfdf8782015-06-27 10:43:30 +020069set_target_properties(gnuradio-grgsm PROPERTIES DEFINE_SYMBOL "gnuradio_grgsm_EXPORTS")
piotr437f5462014-02-04 17:57:25 +010070
71########################################################################
72# Install built library files
73########################################################################
ptrkrysikdfdf8782015-06-27 10:43:30 +020074install(TARGETS gnuradio-grgsm
piotr437f5462014-02-04 17:57:25 +010075 LIBRARY DESTINATION lib${LIB_SUFFIX} # .so/.dylib file
76 ARCHIVE DESTINATION lib${LIB_SUFFIX} # .lib file
77 RUNTIME DESTINATION bin # .dll file
78)
79
80########################################################################
81# Build and register unit test
82########################################################################
piotr7f3f3662014-07-08 16:47:53 +020083#include(GrTest)
piotr437f5462014-02-04 17:57:25 +010084
piotr7f3f3662014-07-08 16:47:53 +020085#include_directories(${CPPUNIT_INCLUDE_DIRS})
piotr437f5462014-02-04 17:57:25 +010086
ptrkrysika25b8302015-05-08 08:59:17 +020087#list(APPEND test_grgsm_sources
piotr7f3f3662014-07-08 16:47:53 +020088# ${CMAKE_CURRENT_SOURCE_DIR}/test_gsm.cc
89# ${CMAKE_CURRENT_SOURCE_DIR}/qa_gsm.cc
90# ${CMAKE_CURRENT_SOURCE_DIR}/qa_receiver.cc
91#)
piotr437f5462014-02-04 17:57:25 +010092
ptrkrysika25b8302015-05-08 08:59:17 +020093#add_executable(test-gsm ${test_grgsm_sources})
piotr437f5462014-02-04 17:57:25 +010094
piotr7f3f3662014-07-08 16:47:53 +020095#target_link_libraries(
96# test-gsm
97# ${GNURADIO_RUNTIME_LIBRARIES}
98# ${Boost_LIBRARIES}
99# ${CPPUNIT_LIBRARIES}
ptrkrysikdfdf8782015-06-27 10:43:30 +0200100# gnuradio-grgsm
piotr7f3f3662014-07-08 16:47:53 +0200101#)
piotr437f5462014-02-04 17:57:25 +0100102
piotr7f3f3662014-07-08 16:47:53 +0200103#GR_ADD_TEST(test_gsm test-gsm)