ParaViewExternalData.cmake
Go to the documentation of this file.
1 include(ExternalData)
2 
3 if(NOT PARAVIEW_DATA_STORE)
4  # Select a default from the following.
5  set(PARAVIEW_DATA_STORE_DEFAULT "")
6  if(EXISTS "${ParaView_SOURCE_DIR}/.ExternalData/config/store")
7  # Configuration left by developer setup script.
8  file(STRINGS "${ParaView_SOURCE_DIR}/.ExternalData/config/store"
9  PARAVIEW_DATA_STORE_DEFAULT LIMIT_COUNT 1 LIMIT_INPUT 1024)
10  elseif(IS_DIRECTORY "${CMAKE_SOURCE_DIR}/../ParaViewExternalData")
11  # Adjacent directory created by user.
12  get_filename_component(PARAVIEW_DATA_STORE_DEFAULT
13  "${CMAKE_SOURCE_DIR}/../ParaViewExternalData" ABSOLUTE)
14  elseif(IS_DIRECTORY "${CMAKE_SOURCE_DIR}/../ExternalData")
15  # Generic adjacent directory created by user.
16  get_filename_component(PARAVIEW_DATA_STORE_DEFAULT
17  "${CMAKE_SOURCE_DIR}/../ExternalData" ABSOLUTE)
18  elseif(DEFINED "ENV{ParaViewExternalData_OBJECT_STORES}")
19  # The ParaViewExternalData environment variable.
20  file(TO_CMAKE_PATH "$ENV{ParaViewExternalData_OBJECT_STORES}" PARAVIEW_DATA_STORE_DEFAULT)
21  elseif(DEFINED "ENV{ExternalData_OBJECT_STORES}")
22  # Generic ExternalData environment variable.
23  file(TO_CMAKE_PATH "$ENV{ExternalData_OBJECT_STORES}" PARAVIEW_DATA_STORE_DEFAULT)
24  endif()
25 endif()
26 
27 # Provide users with an option to select a local object store,
28 # starting with the above-selected default.
29 set(PARAVIEW_DATA_STORE "${PARAVIEW_DATA_STORE_DEFAULT}" CACHE PATH
30  "Local directory holding ExternalData objects in the layout %(algo)/%(hash).")
31 mark_as_advanced(PARAVIEW_DATA_STORE)
32 
33 # Use a store in the build tree if none is otherwise configured.
34 if(NOT PARAVIEW_DATA_STORE)
35  if(ExternalData_OBJECT_STORES)
36  set(PARAVIEW_DATA_STORE "")
37  else()
38  set(PARAVIEW_DATA_STORE "${CMAKE_BINARY_DIR}/ExternalData/Objects")
39  file(MAKE_DIRECTORY "${PARAVIEW_DATA_STORE}")
40  endif()
41 endif()
42 
43 # Tell ExternalData module about selected object stores.
44 list(APPEND ExternalData_OBJECT_STORES
45  # Store selected by ParaView-specific configuration above.
46  ${PARAVIEW_DATA_STORE}
47 
48  # Local data store populated by the ParaView pre-commit hook
49  "${CMAKE_SOURCE_DIR}/.ExternalData"
50  )
51 
52 set(ExternalData_BINARY_ROOT ${CMAKE_BINARY_DIR}/ExternalData)
53 
54 set(ExternalData_URL_TEMPLATES "" CACHE STRING
55  "Additional URL templates for the ExternalData CMake script to look for testing data. E.g.
56 file:///var/bigharddrive/%(algo)/%(hash)")
57 mark_as_advanced(ExternalData_URL_TEMPLATES)
58 list(APPEND ExternalData_URL_TEMPLATES
59  # Data published by Girder
60  "https://data.kitware.com/api/v1/file/hashsum/%(algo)/%(hash)/download"
61 
62  # Data published by developers using git-gitlab-push
63  "https://www.paraview.org/files/ExternalData/%(algo)/%(hash)"
64  )
65 
66 # Tell ExternalData commands to transform raw files to content links.
67 # TODO: Condition this feature on presence of our pre-commit hook.
68 set(ExternalData_LINK_CONTENT SHA512)
69 
70 # Match series of the form <base>.<ext>, <base>_<n>.<ext> such that <base> may
71 # end in a (test) number that is not part of any series numbering.
72 set(ExternalData_SERIES_PARSE "()(\\.[^./]*)$")
73 set(ExternalData_SERIES_MATCH "(_[0-9]+)?")
74 
75 if(DEFINED ENV{DASHBOARD_TEST_FROM_CTEST})
76  # Dashboard builds always need data.
77  set(PARAVIEW_DATA_EXCLUDE_FROM_ALL OFF)
78 endif()
79 
80 if(NOT DEFINED PARAVIEW_DATA_EXCLUDE_FROM_ALL)
81  if(EXISTS "${ParaView_SOURCE_DIR}/.ExternalData/config/exclude-from-all")
82  # Configuration left by developer setup script.
83  file(STRINGS "${ParaView_SOURCE_DIR}/.ExternalData/config/exclude-from-all"
84  PARAVIEW_DATA_EXCLUDE_FROM_ALL_DEFAULT LIMIT_COUNT 1 LIMIT_INPUT 1024)
85  elseif(DEFINED "ENV{PARAVIEW_DATA_EXCLUDE_FROM_ALL}")
86  set(PARAVIEW_DATA_EXCLUDE_FROM_ALL_DEFAULT
87  "$ENV{PARAVIEW_DATA_EXCLUDE_FROM_ALL}")
88  else()
89  set(PARAVIEW_DATA_EXCLUDE_FROM_ALL_DEFAULT OFF)
90  endif()
91  set(PARAVIEW_DATA_EXCLUDE_FROM_ALL "${PARAVIEW_DATA_EXCLUDE_FROM_ALL_DEFAULT}"
92  CACHE BOOL "Exclude test data download from default 'all' target."
93  )
94  mark_as_advanced(PARAVIEW_DATA_EXCLUDE_FROM_ALL)
95 endif()
96 
97 # Tell VTK to act as we do but not to warn when we warn.
98 set(VTK_DATA_EXCLUDE_FROM_ALL ${PARAVIEW_DATA_EXCLUDE_FROM_ALL})
99 set(VTK_DATA_EXCLUDE_FROM_ALL_NO_WARNING 1)
data
data
target
boost::graph_traits< vtkGraph * >::vertex_descriptor target(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)