|
@@ -421,6 +421,7 @@ function(_ExternalData_arg target arg options var_file)
|
|
|
set(external "") # Entries external to the source tree.
|
|
set(external "") # Entries external to the source tree.
|
|
|
set(internal "") # Entries internal to the source tree.
|
|
set(internal "") # Entries internal to the source tree.
|
|
|
set(have_original ${data_is_directory})
|
|
set(have_original ${data_is_directory})
|
|
|
|
|
+ set(have_original_as_dir 0)
|
|
|
|
|
|
|
|
# Process options.
|
|
# Process options.
|
|
|
set(series_option "")
|
|
set(series_option "")
|
|
@@ -470,11 +471,18 @@ function(_ExternalData_arg target arg options var_file)
|
|
|
endif()
|
|
endif()
|
|
|
|
|
|
|
|
if(NOT have_original)
|
|
if(NOT have_original)
|
|
|
- message(FATAL_ERROR "Data file referenced by argument\n"
|
|
|
|
|
|
|
+ if(have_original_as_dir)
|
|
|
|
|
+ set(msg_kind FATAL_ERROR)
|
|
|
|
|
+ set(msg "that is directory instead of a file!")
|
|
|
|
|
+ else()
|
|
|
|
|
+ set(msg_kind AUTHOR_WARNING)
|
|
|
|
|
+ set(msg "that does not exist as a file (with or without an extension)!")
|
|
|
|
|
+ endif()
|
|
|
|
|
+ message(${msg_kind} "Data file referenced by argument\n"
|
|
|
" ${arg}\n"
|
|
" ${arg}\n"
|
|
|
"corresponds to source tree path\n"
|
|
"corresponds to source tree path\n"
|
|
|
" ${reldata}\n"
|
|
" ${reldata}\n"
|
|
|
- "that does not exist as a file (with or without an extension)!")
|
|
|
|
|
|
|
+ "${msg}")
|
|
|
endif()
|
|
endif()
|
|
|
|
|
|
|
|
if(external)
|
|
if(external)
|
|
@@ -591,27 +599,33 @@ function(_ExternalData_arg_find_files pattern regex)
|
|
|
set(alg "")
|
|
set(alg "")
|
|
|
endif()
|
|
endif()
|
|
|
if("x${relname}" MATCHES "^x${regex}$" # matches
|
|
if("x${relname}" MATCHES "^x${regex}$" # matches
|
|
|
- AND NOT IS_DIRECTORY "${top_src}/${entry}" # not a directory
|
|
|
|
|
AND NOT "x${relname}" MATCHES "(^x|/)\\.ExternalData_" # not staged obj
|
|
AND NOT "x${relname}" MATCHES "(^x|/)\\.ExternalData_" # not staged obj
|
|
|
)
|
|
)
|
|
|
- set(name "${top_src}/${relname}")
|
|
|
|
|
- set(file "${top_bin}/${relname}")
|
|
|
|
|
- if(alg)
|
|
|
|
|
- list(APPEND external "${file}|${name}|${alg}")
|
|
|
|
|
- elseif(ExternalData_LINK_CONTENT)
|
|
|
|
|
- _ExternalData_link_content("${name}" alg)
|
|
|
|
|
- list(APPEND external "${file}|${name}|${alg}")
|
|
|
|
|
- elseif(NOT top_same)
|
|
|
|
|
- list(APPEND internal "${file}|${name}")
|
|
|
|
|
- endif()
|
|
|
|
|
- if("${relname}" STREQUAL "${reldata}")
|
|
|
|
|
- set(have_original 1)
|
|
|
|
|
|
|
+ if(IS_DIRECTORY "${top_src}/${entry}")
|
|
|
|
|
+ if("${relname}" STREQUAL "${reldata}")
|
|
|
|
|
+ set(have_original_as_dir 1)
|
|
|
|
|
+ endif()
|
|
|
|
|
+ else()
|
|
|
|
|
+ set(name "${top_src}/${relname}")
|
|
|
|
|
+ set(file "${top_bin}/${relname}")
|
|
|
|
|
+ if(alg)
|
|
|
|
|
+ list(APPEND external "${file}|${name}|${alg}")
|
|
|
|
|
+ elseif(ExternalData_LINK_CONTENT)
|
|
|
|
|
+ _ExternalData_link_content("${name}" alg)
|
|
|
|
|
+ list(APPEND external "${file}|${name}|${alg}")
|
|
|
|
|
+ elseif(NOT top_same)
|
|
|
|
|
+ list(APPEND internal "${file}|${name}")
|
|
|
|
|
+ endif()
|
|
|
|
|
+ if("${relname}" STREQUAL "${reldata}")
|
|
|
|
|
+ set(have_original 1)
|
|
|
|
|
+ endif()
|
|
|
endif()
|
|
endif()
|
|
|
endif()
|
|
endif()
|
|
|
endforeach()
|
|
endforeach()
|
|
|
set(external "${external}" PARENT_SCOPE)
|
|
set(external "${external}" PARENT_SCOPE)
|
|
|
set(internal "${internal}" PARENT_SCOPE)
|
|
set(internal "${internal}" PARENT_SCOPE)
|
|
|
set(have_original "${have_original}" PARENT_SCOPE)
|
|
set(have_original "${have_original}" PARENT_SCOPE)
|
|
|
|
|
+ set(have_original_as_dir "${have_original_as_dir}" PARENT_SCOPE)
|
|
|
endfunction()
|
|
endfunction()
|
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
#-----------------------------------------------------------------------------
|