eccodes/tools/CMakeLists.txt

83 lines
3.1 KiB
CMake
Raw Normal View History

2013-03-25 12:04:10 +00:00
# tools library
ecbuild_add_library( TARGET grib_tools
2014-06-18 16:14:01 +00:00
TYPE STATIC
2013-04-10 15:46:41 +00:00
NOINSTALL
2014-06-18 16:14:01 +00:00
SOURCES grib_tools.c grib_options.c grib_tools.h
2015-02-13 18:04:42 +00:00
LIBS eccodes )
2013-03-25 12:04:10 +00:00
# tools binaries
list( APPEND grib_tools_bins
codes_info codes_count
grib_histogram grib_filter grib_ls grib_dump grib_merge
grib2ppm grib_set grib_get grib_get_data grib_copy
grib_compare codes_parser grib_index_build
bufr_filter bufr_ls bufr_dump bufr_set bufr_get
bufr_copy bufr_compare bufr_index_build
2015-02-13 14:44:16 +00:00
gts_copy gts_dump gts_filter gts_ls
2015-04-10 11:14:23 +00:00
metar_dump metar_ls
)
2013-03-25 12:04:10 +00:00
list( APPEND grib_tools_bins_ECMWF_ONLY
big2gribex
gg_sub_area_check
grib_repair
grib_to_json
grib_check_gaussian_grid
)
# Install generic tools
2013-03-25 12:04:10 +00:00
foreach( tool ${grib_tools_bins} )
# here we use the fact that each tool has only one C file that matches its name
ecbuild_add_executable( TARGET ${tool}
2014-06-18 16:14:01 +00:00
SOURCES ${tool}.c
LIBS grib_tools )
endforeach()
2013-03-25 12:04:10 +00:00
# Install tools specific to ECMWF
# User must run cmake with -DECCODES_INSTALL_ECMWF_TOOLS
foreach( tool ${grib_tools_bins_ECMWF_ONLY} )
ecbuild_add_executable( TARGET ${tool}
SOURCES ${tool}.c
CONDITION ECCODES_INSTALL_ECMWF_TOOLS
LIBS grib_tools )
2013-03-25 12:04:10 +00:00
endforeach()
# Count tools. Same source code, different executable names
ecbuild_add_executable( TARGET grib_count
SOURCES codes_count.c
LIBS grib_tools )
ecbuild_add_executable( TARGET bufr_count
SOURCES codes_count.c
LIBS grib_tools )
# grib to netcdf is optional
ecbuild_add_executable( TARGET grib_to_netcdf
SOURCES grib_to_netcdf.c
INCLUDES ${NETCDF_INCLUDE_DIRS}
CONDITION HAVE_NETCDF
LIBS grib_tools ${NETCDF_LIBRARIES})
# grib_list_keys
ecbuild_add_executable( TARGET grib_list_keys
SOURCES list_keys.c
CONDITION ECCODES_INSTALL_ECMWF_TOOLS
LIBS grib_tools )
2013-03-25 12:04:10 +00:00
# grib1to2 script needs to be generated before installation
if (ECCODES_INSTALL_ECMWF_TOOLS)
configure_file( grib1to2.in grib1to2 )
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/grib1to2
DESTINATION ${INSTALL_BIN_DIR}
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ )
endif()
########################################
# BUFR compare script
install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/bufr_compare_dir
DESTINATION ${INSTALL_BIN_DIR}
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ )
2013-03-25 12:04:10 +00:00