# # Copyright (C) 2013 Bastian Bloessl # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # include(GrPython) file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py " #!${PYTHON_EXECUTABLE} import sys, os, re sys.path.append('${GR_RUNTIME_PYTHONPATH}') os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' os.chdir('${CMAKE_CURRENT_BINARY_DIR}') if __name__ == '__main__': sys.path.append('${CMAKE_CURRENT_SOURCE_DIR}/../../python') 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, 'ieee802_11') 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) expand_h(moving_average_XX ff cc) add_custom_target(ieee802_11_generated_includes DEPENDS ${generated_includes} ) ######################################################################## # Install public header files ######################################################################## list(APPEND include_sources ${generated_includes} api.h chunks_to_symbols.h ether_encap.h ofdm_decode_mac.h ofdm_decode_signal.h ofdm_equalize_symbols.h ofdm_freq_est.h ofdm_mac.h ofdm_mapper.h ofdm_parse_mac.h ofdm_preamble.h ofdm_sync_long.h ofdm_sync_short.h packet_headergenerator.h wifi_signal_field.h ) install( FILES ${include_sources} DESTINATION ${GR_INCLUDE_DIR}/gnuradio/ieee802_11 COMPONENT "ieee802_11_devel" )