Import ( ' env ' , ' common ' , ' cereal ' , ' messaging ' )
loc_libs = [ cereal , messaging , ' zmq ' , common , ' capnp ' , ' kj ' , ' kaitai ' , ' pthread ' ]
if GetOption ( ' kaitai ' ) :
generated = Dir ( ' generated ' ) . srcnode ( ) . abspath
cmd = f " kaitai-struct-compiler --target cpp_stl --outdir { generated } $SOURCES "
env . Command ( [ ' generated/ubx.cpp ' , ' generated/ubx.h ' ] , ' ubx.ksy ' , cmd )
env . Command ( [ ' generated/gps.cpp ' , ' generated/gps.h ' ] , ' gps.ksy ' , cmd )
glonass = env . Command ( [ ' generated/glonass.cpp ' , ' generated/glonass.h ' ] , ' glonass.ksy ' , cmd )
# kaitai issue: https://github.com/kaitai-io/kaitai_struct/issues/910
patch = env . Command ( None , ' glonass_fix.patch ' , ' git apply $SOURCES ' )
env . Depends ( patch , glonass )
glonass_obj = env . Object ( ' generated/glonass.cpp ' )
env . Program ( " ubloxd " , [ " ubloxd.cc " , " ublox_msg.cc " , " generated/ubx.cpp " , " generated/gps.cpp " , glonass_obj ] , LIBS = loc_libs )
if GetOption ( ' extras ' ) :
env . Program ( " tests/test_glonass_runner " , [ ' tests/test_glonass_runner.cc ' , ' tests/test_glonass_kaitai.cc ' , glonass_obj ] , LIBS = [ loc_libs ] )