piotr | 437f546 | 2014-02-04 17:57:25 +0100 | [diff] [blame] | 1 | # 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 | ######################################################################## |
| 23 | include(GrPlatform) #define LIB_SUFFIX |
Piotr Krysik | bb961c1 | 2017-08-24 15:35:42 +0200 | [diff] [blame] | 24 | include(GrMiscUtils) |
| 25 | |
| 26 | ######################################################################## |
| 27 | # Handle the generated constants |
| 28 | ######################################################################## |
| 29 | execute_process(COMMAND ${PYTHON_EXECUTABLE} -c |
| 30 | "import time;print time.strftime('%a, %d %b %Y %H:%M:%S', time.gmtime())" |
| 31 | OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE |
| 32 | ) |
| 33 | message(STATUS "Loading build date ${BUILD_DATE} into constants...") |
| 34 | message(STATUS "Loading version ${VERSION} into constants...") |
| 35 | |
| 36 | #double escape for windows backslash path separators |
| 37 | string(REPLACE "\\" "\\\\" prefix "${prefix}") |
| 38 | |
| 39 | configure_file( |
| 40 | ${CMAKE_CURRENT_SOURCE_DIR}/constants.cc.in |
| 41 | ${CMAKE_CURRENT_BINARY_DIR}/constants.cc |
| 42 | ESCAPE_QUOTES |
| 43 | @ONLY) |
| 44 | |
| 45 | list(APPEND grgsm_sources ${CMAKE_CURRENT_BINARY_DIR}/constants.cc) |
| 46 | ######################################################################### |
piotr | 437f546 | 2014-02-04 17:57:25 +0100 | [diff] [blame] | 47 | |
ptrkrysik | 18b631e | 2014-12-15 09:09:18 +0100 | [diff] [blame] | 48 | include_directories(${Boost_INCLUDE_DIR} receiver) |
piotr | 437f546 | 2014-02-04 17:57:25 +0100 | [diff] [blame] | 49 | link_directories(${Boost_LIBRARY_DIRS}) |
ptrkrysik | a25b830 | 2015-05-08 08:59:17 +0200 | [diff] [blame] | 50 | list(APPEND grgsm_sources |
piotr | 7f3f366 | 2014-07-08 16:47:53 +0200 | [diff] [blame] | 51 | receiver/receiver_impl.cc |
Roman Khassraf | 8851d66 | 2015-06-07 16:42:37 +0200 | [diff] [blame] | 52 | receiver/receiver_config.cc |
| 53 | receiver/viterbi_detector.cc |
Piotr Krysik | 70c25a1 | 2017-01-03 08:01:23 +0100 | [diff] [blame] | 54 | decoding/sch.c |
ptrkrysik | f8c7e83 | 2015-04-04 12:28:20 +0200 | [diff] [blame] | 55 | receiver/clock_offset_control_impl.cc |
rpp | 4f0f3b5 | 2015-06-10 10:23:30 +0200 | [diff] [blame] | 56 | receiver/cx_channel_hopper_impl.cc |
ptrkrysik | 6dded65 | 2014-11-19 11:32:05 +0100 | [diff] [blame] | 57 | demapping/universal_ctrl_chans_demapper_impl.cc |
Roman Khassraf | fb6bc50 | 2015-04-14 15:44:40 +0200 | [diff] [blame] | 58 | demapping/tch_f_chans_demapper_impl.cc |
piotr | faacc72 | 2014-07-20 23:48:32 +0200 | [diff] [blame] | 59 | decoding/control_channels_decoder_impl.cc |
Roman Khassraf | 059bab9 | 2015-05-20 12:49:46 +0200 | [diff] [blame] | 60 | decoding/tch_f_decoder_impl.cc |
Piotr Krysik | b9a87a1 | 2017-08-23 15:59:28 +0200 | [diff] [blame] | 61 | decoding/openbts/AmrCoder.cpp |
| 62 | decoding/openbts/BitVector.cpp |
| 63 | decoding/openbts/GSM610Tables.cpp |
| 64 | decoding/openbts/GSM660Tables.cpp |
| 65 | decoding/openbts/GSM503Tables.cpp |
| 66 | decoding/openbts/ViterbiR204.cpp |
Piotr Krysik | 70c25a1 | 2017-01-03 08:01:23 +0100 | [diff] [blame] | 67 | decoding/osmocom/coding/gsm0503_conv.c |
| 68 | decoding/osmocom/coding/gsm0503_coding.c |
| 69 | decoding/osmocom/coding/gsm0503_interleaving.c |
| 70 | decoding/osmocom/coding/gsm0503_mapping.c |
| 71 | decoding/osmocom/coding/gsm0503_parity.c |
| 72 | decoding/osmocom/coding/gsm0503_tables.c |
Roman Khassraf | dbc3a50 | 2015-08-03 23:20:20 +0200 | [diff] [blame] | 73 | flow_control/burst_timeslot_splitter_impl.cc |
Roman Khassraf | a1eb188 | 2015-08-05 12:30:29 +0200 | [diff] [blame] | 74 | flow_control/burst_sdcch_subslot_splitter_impl.cc |
Roman Khassraf | d7e3eec | 2015-08-06 11:54:22 +0200 | [diff] [blame] | 75 | flow_control/burst_timeslot_filter_impl.cc |
Roman Khassraf | 8b64d87 | 2015-08-06 17:30:04 +0200 | [diff] [blame] | 76 | flow_control/burst_sdcch_subslot_filter_impl.cc |
Roman Khassraf | 8e3b0ec | 2015-08-04 11:16:04 +0200 | [diff] [blame] | 77 | flow_control/burst_fnr_filter_impl.cc |
Roman Khassraf | 7cccb52 | 2015-08-04 12:26:54 +0200 | [diff] [blame] | 78 | flow_control/dummy_burst_filter_impl.cc |
Piotr Krysik | a3405b2 | 2016-08-30 21:31:24 +0200 | [diff] [blame] | 79 | flow_control/uplink_downlink_splitter_impl.cc |
Roman Khassraf | 98581a8 | 2017-01-11 12:50:38 +0100 | [diff] [blame] | 80 | misc_utils/collect_system_info_impl.cc |
piotr | 4089c1a | 2014-08-06 14:10:56 +0200 | [diff] [blame] | 81 | misc_utils/controlled_rotator_cc_impl.cc |
Piotr Krysik | 74c4f2c | 2016-07-15 13:12:46 +0200 | [diff] [blame] | 82 | misc_utils/controlled_fractional_resampler_cc_impl.cc |
| 83 | misc_utils/msg_to_tag_impl.cc |
piotr | 4089c1a | 2014-08-06 14:10:56 +0200 | [diff] [blame] | 84 | misc_utils/message_printer_impl.cc |
ptrkrysik | dd700c1 | 2015-01-15 11:47:38 +0100 | [diff] [blame] | 85 | misc_utils/tmsi_dumper_impl.cc |
Roman Khassraf | 1c3419e | 2015-08-03 10:58:57 +0200 | [diff] [blame] | 86 | misc_utils/burst_file_sink_impl.cc |
| 87 | misc_utils/burst_file_source_impl.cc |
Roman Khassraf | c323454 | 2015-08-03 16:17:46 +0200 | [diff] [blame] | 88 | misc_utils/message_file_sink_impl.cc |
Piotr Krysik | 74c4f2c | 2016-07-15 13:12:46 +0200 | [diff] [blame] | 89 | misc_utils/message_file_source_impl.cc |
| 90 | misc_utils/bursts_printer_impl.cc |
| 91 | misc_utils/extract_system_info_impl.cc |
| 92 | misc_utils/extract_immediate_assignment_impl.cc |
Roman Khassraf | e5ddab3 | 2016-12-04 16:19:40 +0100 | [diff] [blame] | 93 | misc_utils/extract_cmc_impl.cc |
Roman Khassraf | 1ce4469 | 2015-08-03 11:16:10 +0200 | [diff] [blame] | 94 | qa_utils/burst_sink_impl.cc |
| 95 | qa_utils/burst_source_impl.cc |
Roman Khassraf | b8f4909 | 2015-08-03 10:08:18 +0200 | [diff] [blame] | 96 | qa_utils/message_source_impl.cc |
| 97 | qa_utils/message_sink_impl.cc |
| 98 | decryption/decryption_impl.cc |
| 99 | ) |
piotr | 437f546 | 2014-02-04 17:57:25 +0100 | [diff] [blame] | 100 | |
piotr | 437f546 | 2014-02-04 17:57:25 +0100 | [diff] [blame] | 101 | |
Piotr Krysik | 8722be5 | 2016-02-19 15:22:51 +0100 | [diff] [blame] | 102 | add_library(grgsm SHARED ${grgsm_sources}) |
Piotr Krysik | 70c25a1 | 2017-01-03 08:01:23 +0100 | [diff] [blame] | 103 | target_link_libraries(grgsm ${Boost_LIBRARIES} ${GNURADIO_ALL_LIBRARIES} ${VOLK_LIBRARIES} ${LIBOSMOCODEC_LIBRARIES} ${LIBOSMOCORE_LIBRARIES} |
| 104 | # ${LIBOSMOCODING_LIBRARIES} |
ptrkrysik | 30f3945 | 2014-12-05 18:25:58 +0100 | [diff] [blame] | 105 | # libraries required by plotting.h - have troubles to be installed by pybombs |
| 106 | # boost_iostreams |
| 107 | # boost_system |
| 108 | # boost_filesystem |
piotr | 3f1ea81 | 2014-04-17 10:56:08 +0200 | [diff] [blame] | 109 | ) |
Piotr Krysik | 0fdbfdd | 2016-02-19 19:33:17 +0100 | [diff] [blame] | 110 | set_target_properties(grgsm PROPERTIES DEFINE_SYMBOL "grgsm_EXPORTS") |
Piotr Krysik | bb961c1 | 2017-08-24 15:35:42 +0200 | [diff] [blame] | 111 | GR_LIBRARY_FOO(grgsm) |
piotr | 437f546 | 2014-02-04 17:57:25 +0100 | [diff] [blame] | 112 | |
| 113 | ######################################################################## |
| 114 | # Install built library files |
| 115 | ######################################################################## |
Piotr Krysik | 8722be5 | 2016-02-19 15:22:51 +0100 | [diff] [blame] | 116 | install(TARGETS grgsm |
piotr | 437f546 | 2014-02-04 17:57:25 +0100 | [diff] [blame] | 117 | LIBRARY DESTINATION lib${LIB_SUFFIX} # .so/.dylib file |
| 118 | ARCHIVE DESTINATION lib${LIB_SUFFIX} # .lib file |
| 119 | RUNTIME DESTINATION bin # .dll file |
| 120 | ) |
| 121 | |
| 122 | ######################################################################## |
| 123 | # Build and register unit test |
| 124 | ######################################################################## |
piotr | 7f3f366 | 2014-07-08 16:47:53 +0200 | [diff] [blame] | 125 | #include(GrTest) |
piotr | 437f546 | 2014-02-04 17:57:25 +0100 | [diff] [blame] | 126 | |
piotr | 7f3f366 | 2014-07-08 16:47:53 +0200 | [diff] [blame] | 127 | #include_directories(${CPPUNIT_INCLUDE_DIRS}) |
piotr | 437f546 | 2014-02-04 17:57:25 +0100 | [diff] [blame] | 128 | |
ptrkrysik | a25b830 | 2015-05-08 08:59:17 +0200 | [diff] [blame] | 129 | #list(APPEND test_grgsm_sources |
piotr | 7f3f366 | 2014-07-08 16:47:53 +0200 | [diff] [blame] | 130 | # ${CMAKE_CURRENT_SOURCE_DIR}/test_gsm.cc |
| 131 | # ${CMAKE_CURRENT_SOURCE_DIR}/qa_gsm.cc |
| 132 | # ${CMAKE_CURRENT_SOURCE_DIR}/qa_receiver.cc |
| 133 | #) |
piotr | 437f546 | 2014-02-04 17:57:25 +0100 | [diff] [blame] | 134 | |
ptrkrysik | a25b830 | 2015-05-08 08:59:17 +0200 | [diff] [blame] | 135 | #add_executable(test-gsm ${test_grgsm_sources}) |
piotr | 437f546 | 2014-02-04 17:57:25 +0100 | [diff] [blame] | 136 | |
piotr | 7f3f366 | 2014-07-08 16:47:53 +0200 | [diff] [blame] | 137 | #target_link_libraries( |
| 138 | # test-gsm |
| 139 | # ${GNURADIO_RUNTIME_LIBRARIES} |
| 140 | # ${Boost_LIBRARIES} |
| 141 | # ${CPPUNIT_LIBRARIES} |
Piotr Krysik | 8722be5 | 2016-02-19 15:22:51 +0100 | [diff] [blame] | 142 | # grgsm |
piotr | 7f3f366 | 2014-07-08 16:47:53 +0200 | [diff] [blame] | 143 | #) |
piotr | 437f546 | 2014-02-04 17:57:25 +0100 | [diff] [blame] | 144 | |
piotr | 7f3f366 | 2014-07-08 16:47:53 +0200 | [diff] [blame] | 145 | #GR_ADD_TEST(test_gsm test-gsm) |