eccodes/examples/python/CMakeLists.txt

149 lines
4.5 KiB
CMake
Raw Normal View History

2014-04-01 08:54:03 +00:00
# examples/python/CMakeLists.txt
# Configure the file which all CMake tests will include
configure_file( include.ctest.sh.in include.ctest.sh @ONLY )
2015-07-02 12:02:54 +00:00
execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/include.sh ${CMAKE_CURRENT_BINARY_DIR} )
2014-04-01 08:54:03 +00:00
# Build the executables used by test scripts
################################################
2020-03-30 13:07:31 +00:00
list(APPEND test_bins
grib_keys_iterator
grib_print_data
grib_iterator
grib_count_messages
2014-04-01 08:54:03 +00:00
)
2015-07-02 12:02:54 +00:00
2014-04-01 08:54:03 +00:00
foreach( tool ${test_bins} )
ecbuild_add_executable( TARGET p_${tool}
NOINSTALL
SOURCES ${tool}.c
CONDITION HAVE_PYTHON
2020-03-30 13:07:31 +00:00
LIBS eccodes )
2014-07-10 11:49:35 +00:00
list( APPEND ptools p_${tool} )
2014-04-01 08:54:03 +00:00
endforeach()
2015-07-02 12:02:54 +00:00
2014-04-01 08:54:03 +00:00
# Now add each test
################################################
if( HAVE_BUILD_TOOLS )
list(APPEND tests_basic
grib_set_pv
grib_read_sample
bufr_read_sample
bufr_ecc-869
)
list(APPEND tests_extra
grib_clone
grib_count_messages
grib_get_message_offset
grib_get_keys
grib_index
grib_iterator
grib_keys_iterator
grib_multi_write
grib_nearest
grib_print_data
grib_samples
grib_set_missing
binary_message
grib_set_bitmap
bufr_attributes
bufr_clone
bufr_copy_data
bufr_expanded
bufr_get_keys
bufr_keys_iterator
bufr_read_header
bufr_read_scatterometer
bufr_read_tropical_cyclone
bufr_read_synop
bufr_read_temp
bufr_set_keys
bufr_subset
get_product_kind
gts_get_keys
metar_get_keys
bufr_ecc-448
)
else()
# No tools
list(APPEND tests_basic
grib_read_sample
bufr_read_sample
)
list(APPEND tests_extra
grib_clone
grib_count_messages
grib_get_keys
grib_index
grib_iterator
grib_keys_iterator
grib_multi_write
grib_nearest
grib_print_data
grib_samples
bufr_attributes
bufr_clone
bufr_expanded
bufr_get_keys
bufr_keys_iterator
bufr_read_header
bufr_read_scatterometer
bufr_read_tropical_cyclone
bufr_read_synop
bufr_read_temp
bufr_set_keys
bufr_subset
get_product_kind
gts_get_keys
metar_get_keys
bufr_ecc-448
)
endif()
# The high level python test requires new features in the unittest
# which are only there for python 2.7 onwards
if( HAVE_PYTHON AND PYTHON_VERSION_STRING VERSION_GREATER "2.7" )
2019-07-01 20:52:27 +00:00
#ecbuild_info("Python examples: Adding test for High-level Pythonic Interface")
2018-10-23 15:33:07 +00:00
list( APPEND tests_extra high_level_api )
list( APPEND tests_extra grib_set_keys ) # Uses OrderedDict
endif()
2018-10-23 15:33:07 +00:00
foreach( test ${tests_basic} )
2015-07-14 16:11:57 +00:00
ecbuild_add_test( TARGET eccodes_p_${test}_test
2015-08-25 10:22:19 +00:00
TYPE SCRIPT
DEPENDS ${ptools}
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/${test}.sh
CONDITION HAVE_PYTHON
2020-03-30 13:07:31 +00:00
ENVIRONMENT PYTHON=${PYTHON_EXECUTABLE} )
2018-10-23 15:33:07 +00:00
endforeach()
foreach( test ${tests_extra} )
ecbuild_add_test( TARGET eccodes_p_${test}_test
TYPE SCRIPT
DEPENDS ${ptools}
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/${test}.sh
CONDITION HAVE_PYTHON AND ENABLE_EXTRA_TESTS
ENVIRONMENT PYTHON=${PYTHON_EXECUTABLE}
2020-03-30 13:07:31 +00:00
TEST_DEPENDS eccodes_download_gribs eccodes_download_tigge_gribs eccodes_download_bufrs )
2014-04-01 08:54:03 +00:00
endforeach()
2015-11-11 10:30:40 +00:00
# Add test which requires input CSV file
ecbuild_add_test( TARGET eccodes_p_bufr_encode_flight_test
TYPE SCRIPT
DEPENDS ${ptools}
2015-11-11 10:30:40 +00:00
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bufr_encode_flight.sh
CONDITION HAVE_PYTHON AND ENABLE_EXTRA_TESTS AND HAVE_BUILD_TOOLS
ENVIRONMENT PYTHON=${PYTHON_EXECUTABLE}
RESOURCES flight_data.csv
2020-03-30 13:07:31 +00:00
TEST_DEPENDS eccodes_download_bufrs )
2016-07-18 13:58:18 +00:00
# Conditional tests
ecbuild_add_test( TARGET eccodes_p_grib_ccsds_test
TYPE SCRIPT
DEPENDS ${ptools}
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/grib_ccsds.sh
2018-10-23 15:33:07 +00:00
CONDITION HAVE_PYTHON AND HAVE_AEC AND ENABLE_EXTRA_TESTS
2016-07-18 13:58:18 +00:00
ENVIRONMENT PYTHON=${PYTHON_EXECUTABLE}
2020-03-30 13:07:31 +00:00
TEST_DEPENDS eccodes_download_gribs )