Cmake rule to compile GRC files with GRCC

Hi all,

In my third party gnuradio project - gr-gsm
(https://github.com/ptrkrysik/gr-gsm) - I’m using gnuradio companion to
create apps. Different versions of gnuradio companion generate python
files that may be incompatible between different GNU Radio versions.
Therefore if the user decides to compile gr-gsm it would be best to
compile python files on his machine, for whatever version of GNU Radio
he has.

I’m is looking for someone who know how to do this with use of cmake.
There is a file taken from GNU Radio which is in
https://github.com/ptrkrysik/gr-gsm/blob/master/cmake/Modules/GrMiscUtils.cmake.
It had GRCC function which was suited for GNU Radio (although it was not
really used in GNU Radio). I’ve tried to adapt it to gr-gsm case but it
caused more problems than it solved. If you know how to write a CMAKE
rule compiling GRC files with grcc - please help.

Best Regards,
Piotr K.

On 12/07/2014 08:57 AM, Piotr K. wrote:

I’m is looking for someone who know how to do this with use of cmake.
There is a file taken from GNU Radio which is in
https://github.com/ptrkrysik/gr-gsm/blob/master/cmake/Modules/GrMiscUtils.cmake.
It had GRCC function which was suited for GNU Radio (although it was not
really used in GNU Radio). I’ve tried to adapt it to gr-gsm case but it
caused more problems than it solved. If you know how to write a CMAKE
rule compiling GRC files with grcc - please help.

I’ve used this in the past (grc/CMakeLists.txt):

message(“Compiling GRC hier blocks…”)
foreach(grc_file ${grc_hier_blocks})
message("Compiling " ${grc_file})
execute_process(
COMMAND grcc ${grc_file}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
endforeach(grc_file ${grc_hier_blocks})

…but it’s not ideal as it runs during cmake, not make.

M

W dniu 07.12.2014 o 18:09, Martin B. pisze:

…but it’s not ideal as it runs during cmake, not make.

M

Many thanks Martin for the answer. I will give a try your method.


Piotr