diff --git a/CMake/Utilities/imstkExternalDataDownloadTest.cmake b/CMake/Utilities/imstkExternalDataDownloadTest.cmake new file mode 100644 index 0000000000000000000000000000000000000000..0eff52c48e84a843805a63fd0537075cca94c4f2 --- /dev/null +++ b/CMake/Utilities/imstkExternalDataDownloadTest.cmake @@ -0,0 +1,29 @@ +#----------------------------------------------------------------------------- +# Add ExternalData +#----------------------------------------------------------------------------- +# Remove the data if already here +set(hashStampPath "${ExternalData_BINARY_ROOT}/Data/Testing/ExternalDataTest.txt-hash-stamp") +if(EXISTS hashStampPath) + file(READ hashStampPath hash) + string(STRIP "${hash}" hash) +endif() +execute_process( + COMMAND rm ${ExternalData_BINARY_ROOT}/Data/Testing/ExternalDataTest.txt + COMMAND rm ${ExternalData_BINARY_ROOT}/Data/Testing/ExternalDataTest.txt-hash-stamp + COMMAND rm ${ExternalData_BINARY_ROOT}/Objects/SHA512/${hash} + OUTPUT_QUIET + ERROR_QUIET) + +# Download the data +imstk_add_data(ExternalDataTest "Testing/ExternalDataTest.txt") + +#----------------------------------------------------------------------------- +# Add Test +#----------------------------------------------------------------------------- +# Check if the data has been correctly downloaded +add_test( + NAME imstkExternalDataTest + COMMAND ${CMAKE_COMMAND} + -DFileToCheck=${ExternalData_BINARY_ROOT}/Data/Testing/ExternalDataTest.txt + -P ${CMAKE_SOURCE_DIR}/CMake/Utilities/imstkCheckFileExists.cmake +) \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 8d8405eb99b0387c03ea187f47d423b720e2249e..3fecf1af911e10c4707ad76986a6f8b1b6a34417 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -377,11 +377,30 @@ install( Devel ) +#-------------------------------------------------------------------------- +# Test data download +#-------------------------------------------------------------------------- +include(imstkExternalDataDownloadTest) + +#-------------------------------------------------------------------------- +# Append external data needed for testing to be downloaded later +#-------------------------------------------------------------------------- +list(APPEND FILE_LIST + asianDragon/,REGEX:.* + human/,REGEX:.* + oneTet/,REGEX:.*) + #-------------------------------------------------------------------------- # Add Examples subdirectories #-------------------------------------------------------------------------- -add_subdirectory(Examples) +if(BUILD_EXAMPLES) + add_subdirectory(Examples) +endif() +#----------------------------------------------------------------------------- +# Download the external data needed for both testing and examples +#----------------------------------------------------------------------------- +imstk_add_data(${PROJECT_NAME} ${FILE_LIST}) #-------------------------------------------------------------------------- # Innerbuild dummy test @@ -389,4 +408,4 @@ add_subdirectory(Examples) add_test( NAME imstkDummyTest COMMAND ${CMAKE_COMMAND} -E echo "Success" -) +) \ No newline at end of file diff --git a/Examples/CMakeLists.txt b/Examples/CMakeLists.txt index 4002d359775dc4efa802a0feee060b86551b9e3a..274d53b038823f1011fdf7148391817637a79409 100644 --- a/Examples/CMakeLists.txt +++ b/Examples/CMakeLists.txt @@ -1,44 +1,7 @@ -#----------------------------------------------------------------------------- -# Add ExternalData -#----------------------------------------------------------------------------- -# Remove the data if already here -set(hashStampPath "${ExternalData_BINARY_ROOT}/Data/Testing/ExternalDataTest.txt-hash-stamp") -if(EXISTS hashStampPath) - file(READ hashStampPath hash) - string(STRIP "${hash}" hash) -endif() -execute_process( - COMMAND rm ${ExternalData_BINARY_ROOT}/Data/Testing/ExternalDataTest.txt - COMMAND rm ${ExternalData_BINARY_ROOT}/Data/Testing/ExternalDataTest.txt-hash-stamp - COMMAND rm ${ExternalData_BINARY_ROOT}/Objects/SHA512/${hash} - OUTPUT_QUIET - ERROR_QUIET) - -# Download the data -imstk_add_data(ExternalDataTest "Testing/ExternalDataTest.txt") - -#----------------------------------------------------------------------------- -# Add Test -#----------------------------------------------------------------------------- -# Check if the data has been correctly downloaded -add_test( - NAME imstkExternalDataTest - COMMAND ${CMAKE_COMMAND} - -DFileToCheck=${ExternalData_BINARY_ROOT}/Data/Testing/ExternalDataTest.txt - -P ${CMAKE_SOURCE_DIR}/CMake/Utilities/imstkCheckFileExists.cmake -) - -# Associate external data needed for testing -list(APPEND FILE_LIST - asianDragon/,REGEX:.*, - human/,REGEX:.*, - oneTet/,REGEX:.*) - #----------------------------------------------------------------------------- # Add Example subdirectories #----------------------------------------------------------------------------- -if(BUILD_EXAMPLES) - macro(listOfSubDir result curdir) +macro(listOfSubDir result curdir) file(GLOB children RELATIVE ${curdir} ${curdir}/*) set(dirlist "") foreach(child ${children}) @@ -53,10 +16,6 @@ if(BUILD_EXAMPLES) foreach(subdir ${subDirs}) add_subdirectory(${subdir}) - endforeach() -endif() +endforeach() + -#----------------------------------------------------------------------------- -# Add external data -#----------------------------------------------------------------------------- -imstk_add_data(${PROJECT_NAME} ${FILE_LIST})