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  # Data published by VTK developers using git-gitlab-push.
66  # ParaView sometimes uses VTK data. If PARAVIEW_USE_EXTERNAL_VTK the following
67  # location is not added
68  "https://www.vtk.org/files/ExternalData/%(algo)/%(hash)"
69  )
70 
71 # Tell ExternalData commands to transform raw files to content links.
72 # TODO: Condition this feature on presence of our pre-commit hook.
73 set(ExternalData_LINK_CONTENT SHA512)
74 
75 # Match series of the form <base>.<ext>, <base>_<n>.<ext> such that <base> may
76 # end in a (test) number that is not part of any series numbering.
77 set(ExternalData_SERIES_PARSE "()(\\.[^./]*)$")
78 set(ExternalData_SERIES_MATCH "(_[0-9]+)?")
79 
80 if(DEFINED ENV{DASHBOARD_TEST_FROM_CTEST})
81  # Dashboard builds always need data.
82  set(PARAVIEW_DATA_EXCLUDE_FROM_ALL OFF)
83 endif()
84 
85 if(NOT DEFINED PARAVIEW_DATA_EXCLUDE_FROM_ALL)
86  if(EXISTS "${ParaView_SOURCE_DIR}/.ExternalData/config/exclude-from-all")
87  # Configuration left by developer setup script.
88  file(STRINGS "${ParaView_SOURCE_DIR}/.ExternalData/config/exclude-from-all"
89  PARAVIEW_DATA_EXCLUDE_FROM_ALL_DEFAULT LIMIT_COUNT 1 LIMIT_INPUT 1024)
90  elseif(DEFINED "ENV{PARAVIEW_DATA_EXCLUDE_FROM_ALL}")
91  set(PARAVIEW_DATA_EXCLUDE_FROM_ALL_DEFAULT
92  "$ENV{PARAVIEW_DATA_EXCLUDE_FROM_ALL}")
93  else()
94  set(PARAVIEW_DATA_EXCLUDE_FROM_ALL_DEFAULT OFF)
95  endif()
96  set(PARAVIEW_DATA_EXCLUDE_FROM_ALL "${PARAVIEW_DATA_EXCLUDE_FROM_ALL_DEFAULT}"
97  CACHE BOOL "Exclude test data download from default 'all' target."
98  )
99  mark_as_advanced(PARAVIEW_DATA_EXCLUDE_FROM_ALL)
100 endif()
101 
102 # Tell VTK to act as we do but not to warn when we warn.
103 set(VTK_DATA_EXCLUDE_FROM_ALL ${PARAVIEW_DATA_EXCLUDE_FROM_ALL})
104 set(VTK_DATA_EXCLUDE_FROM_ALL_NO_WARNING 1)
data
boost::graph_traits< vtkGraph *>::vertex_descriptor target(boost::graph_traits< vtkGraph *>::edge_descriptor e, vtkGraph *)
#define PARAVIEW_USE_EXTERNAL_VTK
Definition: moc_predefs.h:103