eccodes/definitions/CMakeLists.txt

64 lines
2.3 KiB
CMake

file( GLOB definition_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.def" )
set(definition_files ${definition_files} PARENT_SCOPE) # needed for memfs
file( GLOB table_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.table" )
file( GLOB text_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.txt" )
# Collect all directories at the top-level of definitions
file( GLOB children RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*" )
set( dirlist "" )
foreach( child ${children} )
if( IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${child} )
set( add_child 1 )
if( NOT HAVE_PRODUCT_BUFR AND child STREQUAL bufr )
set( add_child 0 )
endif()
if( NOT HAVE_PRODUCT_GRIB AND child MATCHES "^grib" )
set( add_child 0 )
endif()
if( add_child )
list( APPEND dirlist ${child} )
endif()
endif()
endforeach()
if( HAVE_INSTALL_ECCODES_DEFINITIONS )
install( FILES ${definition_files} ${table_files} ${text_files}
DESTINATION ${ECCODES_DEFINITION_SUFF}
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ )
install( FILES installDefinitions.sh
DESTINATION ${ECCODES_DEFINITION_SUFF} )
install( DIRECTORY ${dirlist}
DESTINATION ${ECCODES_DEFINITION_SUFF}
FILES_MATCHING
PATTERN "*.def"
PATTERN "*.txt"
PATTERN "*.list"
PATTERN "*.table"
PATTERN "4.2.192.*.table" EXCLUDE
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ )
endif()
# link to the definitions. See GRIB-786
file( MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${INSTALL_DATA_DIR} )
if( NOT EXISTS "${CMAKE_BINARY_DIR}/${ECCODES_DEFINITION_SUFF}" )
execute_process( COMMAND "${CMAKE_COMMAND}" "-E" "create_symlink"
"${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_BINARY_DIR}/${ECCODES_DEFINITION_SUFF}" )
endif()
# copy the definitions to the build directory
#file( COPY ${definition_files} ${table_files} ${text_files}
# DESTINATION ${CMAKE_BINARY_DIR}/${ECCODES_DEFINITION_SUFF} )
#file(COPY budg bufr cdf common grib1 grib2 grib3 gts mars metar tide hdf5 wrap
# DESTINATION ${CMAKE_BINARY_DIR}/${ECCODES_DEFINITION_SUFF}
# FILES_MATCHING
# PATTERN "*.def"
# PATTERN "*.txt"
# PATTERN "*.list"
# PATTERN "*.table"
# PATTERN "4.2.192.*.table" EXCLUDE )