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.
109 lines
3.6 KiB
CMake
109 lines
3.6 KiB
CMake
file(STRINGS "${Data}" lines LIMIT_INPUT 1024)
|
|
if(NOT "x${lines}" STREQUAL "xInput file already transformed.")
|
|
message(SEND_ERROR "Input file:\n ${Data}\ndoes not have expected content, but [[${lines}]]")
|
|
endif()
|
|
if(DEFINED DataSpace)
|
|
file(STRINGS "${DataSpace}" lines LIMIT_INPUT 1024)
|
|
if(NOT "x${lines}" STREQUAL "xInput file already transformed.")
|
|
message(SEND_ERROR "Input file:\n ${DataSpace}\ndoes not have expected content, but [[${lines}]]")
|
|
endif()
|
|
endif()
|
|
file(STRINGS "${DataScript}" lines LIMIT_INPUT 1024)
|
|
if(NOT "x${lines}" STREQUAL "xDataScript")
|
|
message(SEND_ERROR "Input file:\n ${DataScript}\ndoes not have expected content, but [[${lines}]]")
|
|
endif()
|
|
file(STRINGS "${DataAlgoMapA}" lines LIMIT_INPUT 1024)
|
|
if(NOT "x${lines}" STREQUAL "xDataAlgoMap")
|
|
message(SEND_ERROR "Input file:\n ${DataAlgoMapA}\ndoes not have expected content, but [[${lines}]]")
|
|
endif()
|
|
file(STRINGS "${DataAlgoMapB}" lines LIMIT_INPUT 1024)
|
|
if(NOT "x${lines}" STREQUAL "xDataAlgoMap")
|
|
message(SEND_ERROR "Input file:\n ${DataAlgoMapB}\ndoes not have expected content, but [[${lines}]]")
|
|
endif()
|
|
if(DataMissing)
|
|
if(EXISTS "${DataMissing}")
|
|
message(SEND_ERROR
|
|
"Input file:\n"
|
|
" ${DataMissing}\n"
|
|
"exists but should not."
|
|
)
|
|
endif()
|
|
else()
|
|
message(SEND_ERROR "DataMissing is not set!")
|
|
endif()
|
|
if(DataMissingWithAssociated)
|
|
if(EXISTS "${DataMissingWithAssociated}")
|
|
message(SEND_ERROR
|
|
"Input file:\n"
|
|
" ${DataMissingWithAssociated}\n"
|
|
"exists but should not."
|
|
)
|
|
endif()
|
|
else()
|
|
message(SEND_ERROR "DataMissingWithAssociated is not set!")
|
|
endif()
|
|
set(SeriesAn1 "1\\.dat")
|
|
set(SeriesBn1 "_1\\.dat")
|
|
set(SeriesCn1 "\\.1\\.dat")
|
|
set(SeriesDn1 "-1\\.dat")
|
|
set(SeriesAl 1 2 3)
|
|
set(SeriesBl _1 _2 _3)
|
|
set(SeriesCl .1 .2 .3)
|
|
set(SeriesDl -1 -2 -3)
|
|
foreach(s A B C D)
|
|
foreach(n "" ${Series${s}l})
|
|
string(REGEX REPLACE "\\.dat$" "${n}.dat" file "${Series${s}}")
|
|
if(NOT EXISTS "${file}")
|
|
message(SEND_ERROR "Input file:\n ${file}\ndoes not exist!")
|
|
endif()
|
|
endforeach()
|
|
endforeach()
|
|
foreach(s A B C D)
|
|
foreach(n ${Series${s}l})
|
|
string(REGEX REPLACE "${Series${s}n1}$" "${n}.dat" file "${Series${s}n}")
|
|
if(NOT EXISTS "${file}")
|
|
message(SEND_ERROR "Input file:\n ${file}\ndoes not exist!")
|
|
endif()
|
|
endforeach()
|
|
endforeach()
|
|
foreach(n .1 .2 .3 .4)
|
|
string(REGEX REPLACE "\\.1\\.dat$" "${n}.dat" file "${SeriesMixed}")
|
|
if(NOT EXISTS "${file}")
|
|
message(SEND_ERROR "Input file:\n ${file}\ndoes not exist!")
|
|
endif()
|
|
endforeach()
|
|
foreach(n A B)
|
|
string(REGEX REPLACE "A\\.dat$" "${n}.dat" file "${Paired}")
|
|
if(NOT EXISTS "${file}")
|
|
message(SEND_ERROR "Input file:\n ${file}\ndoes not exist!")
|
|
endif()
|
|
endforeach()
|
|
foreach(n Top A B C)
|
|
string(REGEX REPLACE "Top\\.dat$" "${n}.dat" file "${Meta}")
|
|
if(NOT EXISTS "${file}")
|
|
message(SEND_ERROR "Input file:\n ${file}\ndoes not exist!")
|
|
endif()
|
|
endforeach()
|
|
foreach(n A B C)
|
|
set(file "${Directory}/${n}.dat")
|
|
if(NOT EXISTS "${file}")
|
|
message(SEND_ERROR "Input file:\n ${file}\ndoes not exist!")
|
|
endif()
|
|
endforeach()
|
|
foreach(n A Sub1/A Sub2/Dir/A B Sub1/B Sub2/Dir/B C Sub1/C Sub2/Dir/C)
|
|
set(file "${DirRecurse}/${n}.dat")
|
|
if(NOT EXISTS "${file}")
|
|
message(SEND_ERROR "Input file:\n ${file}\ndoes not exist!")
|
|
endif()
|
|
endforeach()
|
|
list(LENGTH Semicolons len)
|
|
if("${len}" EQUAL 2)
|
|
foreach(file ${Semicolons})
|
|
if(NOT EXISTS "${file}")
|
|
message(SEND_ERROR "Input file:\n ${file}\ndoes not exist!")
|
|
endif()
|
|
endforeach()
|
|
else()
|
|
message(SEND_ERROR "Semicolons value:\n ${Semicolons}\nis not a list of length 2.")
|
|
endif()
|