
ecbuild_add_executable( TARGET       station
                        SOURCES      Station.cc utils.cc station.h
                        DEFINITIONS  ${METVIEW_EXTRA_DEFINITIONS}
                        INCLUDES     ${METVIEW_STANDARD_INCLUDES}
                        LIBS         ${STANDARD_METVIEW_LIBS} ${GDBM_LIB}
                      )


ecbuild_add_executable( TARGET       writebase
                        SOURCES      writebase.c
                        DEFINITIONS  ${METVIEW_EXTRA_DEFINITIONS}
                        INCLUDES     ${GDBM_INCLUDE}
                        LIBS         ${GDBM_LIB}
                      )


# --------------------------------------------------------------------------
# metview_generate_station_db
# a macro to handle the generation and installation of the stations database
# --------------------------------------------------------------------------

macro (metview_generate_station_db  TYPE)

    set(station_basefile ${CMAKE_BINARY_DIR}/share/metview/etc/stations)
    set(station_db ${station_basefile}-${TYPE}.db)


    ADD_CUSTOM_COMMAND(
        OUTPUT  ${station_db}
	    COMMAND ${CMAKE_BINARY_DIR}/bin/writebase -${TYPE}  ${station_basefile} < ${CMAKE_CURRENT_SOURCE_DIR}/stat.fmt
        DEPENDS stat.fmt writebase)

    ADD_CUSTOM_TARGET(st${TYPE} DEPENDS ${station_db})
    ADD_DEPENDENCIES(station st${TYPE})

    install( FILES       ${station_db}
             DESTINATION share/metview/etc
             PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)

endmacro()


# create the stations database

metview_generate_station_db(i)
metview_generate_station_db(n)
metview_generate_station_db(l)

