diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake index 863e91204552b8f760483b74dd19c80f16ca7885..d0269a98ded5e89a9297c8c40db06400d4bbd231 100644 --- a/scripts/cmake/Find.cmake +++ b/scripts/cmake/Find.cmake @@ -60,6 +60,8 @@ endif() find_program(CURL_TOOL_PATH curl DOC "The curl-tool") +find_program(S3CMD_TOOL_PATH s3cmd DOC "S3cmd tool for uploading to Amazon S3") + ###################### ### Find libraries ### ###################### diff --git a/scripts/cmake/test/Data.cmake b/scripts/cmake/test/Data.cmake index 09ef843c63b1fe2a41fd9cd130ee963d805cb66a..7cbdb55e4312d1d4f7e43bc8cd6f1c93b50275e6 100644 --- a/scripts/cmake/test/Data.cmake +++ b/scripts/cmake/test/Data.cmake @@ -1,10 +1,12 @@ include(ExternalData) +set(ExternalData_LOCAL_FOLDER ogs6-data) + set(ExternalData_OBJECT_STORES "${ExternalData_OBJECT_STORES_DEFAULT}" CACHE STRING "Semicolon-separated list of local directories holding test data files in the layout %(algo)/%(hash).") mark_as_advanced(ExternalData_OBJECT_STORES) if(NOT ExternalData_OBJECT_STORES) - set(ExternalData_OBJECT_STORES "${CMAKE_SOURCE_DIR}/../ogs6-data") + set(ExternalData_OBJECT_STORES "${CMAKE_SOURCE_DIR}/../${ExternalData_LOCAL_FOLDER}") file(MAKE_DIRECTORY "${ExternalData_OBJECT_STORES}") endif() @@ -12,7 +14,13 @@ set(ExternalData_SOURCE_ROOT ${CMAKE_SOURCE_DIR}/Tests/Data) set(ExternalData_BINARY_ROOT ${CMAKE_BINARY_DIR}/Tests/Data) set(ExternalData_LINK_CONTENT MD5) -set(ExternalData_URL_TEMPLATES "http://www.opengeosys.org/images/dev/%(algo)/%(hash)") +# Amazon S3 config +set(ExternalData_S3_Bucket opengeosys) + +set(ExternalData_URL_TEMPLATES + "http://www.opengeosys.org/images/dev/%(algo)/%(hash)" + "http://${ExternalData_S3_Bucket}.s3.amazonaws.com/${ExternalData_LOCAL_FOLDER}/%(algo)/%(hash)" +) add_custom_target( move-data @@ -24,12 +32,20 @@ add_custom_target( VERBATIM ) +if(S3CMD_TOOL_PATH) + add_custom_target( + upload-data + COMMAND ${S3CMD_TOOL_PATH} sync --acl-public --skip-existing --no-check-md5 + ${CMAKE_SOURCE_DIR}/../${ExternalData_LOCAL_FOLDER} s3://${ExternalData_S3_Bucket} + ) +endif() + if(HOSTNAME STREQUAL "envinf1.eve.ufz.de") add_custom_target( sync-data COMMAND ${CMAKE_COMMAND} -E copy_directory - ${CMAKE_SOURCE_DIR}/../ogs6-data - /data/ogs/ogs6-data + ${CMAKE_SOURCE_DIR}/../${ExternalData_LOCAL_FOLDER} + /data/ogs/${ExternalData_LOCAL_FOLDER} ) if(CURL_TOOL_PATH) add_custom_command(