230f2d6e70
Extend the ``DATA{Dir/,...}`` syntax with a new ``RECURSE:`` option to enable recursive matching of associated files. This will allow an entire directory tree of data to be referenced at once.
56 lines
1.9 KiB
CMake
56 lines
1.9 KiB
CMake
cmake_minimum_required(VERSION 2.8.10.20130115)
|
|
project(ExternalDataTest NONE)
|
|
|
|
include(CTest)
|
|
|
|
include(ExternalData)
|
|
|
|
if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" MATCHES "^/")
|
|
set(slash /)
|
|
endif()
|
|
set(ExternalData_URL_TEMPLATES
|
|
"file://${slash}${CMAKE_CURRENT_SOURCE_DIR}/%(algo)/%(hash)"
|
|
"file://${slash}${CMAKE_CURRENT_SOURCE_DIR}/Alt/%(algo:MyAlgoMap1)/%(hash)"
|
|
"ExternalDataCustomScript://MyScript1/%(algo)/%(hash)"
|
|
)
|
|
set(ExternalData_URL_ALGO_MD5_MyAlgoMap1 MyAlgoMap1-md5)
|
|
set(ExternalData_CUSTOM_SCRIPT_MyScript1 "${CMAKE_CURRENT_SOURCE_DIR}/MyScript1.cmake")
|
|
set(ExternalData_BINARY_ROOT "${CMAKE_CURRENT_BINARY_DIR}/ExternalData")
|
|
file(REMOVE_RECURSE ${ExternalData_BINARY_ROOT}) # clean test
|
|
|
|
if(MAKE_SUPPORTS_SPACES)
|
|
set(Data1CheckSpaces -D "DataSpace=DATA{Data Space.dat}")
|
|
endif()
|
|
|
|
ExternalData_Add_Test(Data1
|
|
NAME Data1Check
|
|
COMMAND ${CMAKE_COMMAND}
|
|
-D Data=DATA{Data.dat}
|
|
${Data1CheckSpaces}
|
|
-D DataScript=DATA{DataScript.dat}
|
|
-D DataAlgoMapA=DATA{DataAlgoMapA.dat}
|
|
-D DataAlgoMapB=DATA{DataAlgoMapB.dat}
|
|
-D DataMissing=DATA{DataMissing.dat}
|
|
-D DataMissingWithAssociated=DATA{DataMissing.dat,Data.dat}
|
|
-D SeriesA=DATA{SeriesA.dat,:}
|
|
-D SeriesB=DATA{SeriesB.dat,:}
|
|
-D SeriesC=DATA{SeriesC.dat,:}
|
|
-D SeriesD=DATA{SeriesD.dat,:}
|
|
-D SeriesAn=DATA{SeriesAn1.dat,:}
|
|
-D SeriesBn=DATA{SeriesBn_1.dat,:}
|
|
-D SeriesCn=DATA{SeriesCn.1.dat,:}
|
|
-D SeriesDn=DATA{SeriesDn-1.dat,:}
|
|
-D SeriesMixed=DATA{SeriesMixed.1.dat,:}
|
|
-D Paired=DATA{PairedA.dat,PairedB.dat}
|
|
-D Meta=DATA{MetaTop.dat,REGEX:Meta[ABC].dat}
|
|
-D Directory=DATA{Directory/,A.dat,REGEX:[BC].dat}
|
|
-D DirRecurse=DATA{DirRecurse/,RECURSE:,A.dat,REGEX:[BC].dat}
|
|
-D "Semicolons=DATA{Data.dat}\\;DATA{Data.dat}"
|
|
-P ${CMAKE_CURRENT_SOURCE_DIR}/Data1Check.cmake
|
|
)
|
|
ExternalData_Add_Target(Data1)
|
|
|
|
add_subdirectory(Data2)
|
|
add_subdirectory(Data3)
|
|
add_subdirectory(Data4)
|