ParaView-vtk-module-find-packages.cmake
Go to the documentation of this file.
1 set(_vtk_module_find_package_quiet)
2 if (${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
3  set(_vtk_module_find_package_quiet QUIET)
4 endif ()
5 
6 set(_vtk_module_find_package_components_checked)
7 set(_vtk_module_find_package_components_to_check
8  ${${CMAKE_FIND_PACKAGE_NAME}_FIND_COMPONENTS})
9 set(_vtk_module_find_package_components)
10 set(_vtk_module_find_package_components_required)
11 while (_vtk_module_find_package_components_to_check)
12  list(GET _vtk_module_find_package_components_to_check 0 _vtk_module_component)
13  list(REMOVE_AT _vtk_module_find_package_components_to_check 0)
14  if (_vtk_module_component IN_LIST _vtk_module_find_package_components_checked)
15  continue ()
16  endif ()
17  list(APPEND _vtk_module_find_package_components_checked
18  "${_vtk_module_component}")
19 
20  # Any 'components' with `::` are not from our package and must have been
21  # provided/satisfied elsewhere.
22  if (_vtk_module_find_package_components MATCHES "::")
23  continue ()
24  endif ()
25 
26  list(APPEND _vtk_module_find_package_components
27  "${_vtk_module_component}")
28  if (${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED_${_vtk_module_component})
29  list(APPEND _vtk_module_find_package_components_required
30  "${_vtk_module_component}")
31  endif ()
32 
33  if (TARGET "${CMAKE_FIND_PACKAGE_NAME}::${_vtk_module_component}")
34  set(_vtk_module_find_package_component_target "${CMAKE_FIND_PACKAGE_NAME}::${_vtk_module_component}")
35  elseif (TARGET "${_vtk_module_component}")
36  set(_vtk_module_find_package_component_target "${_vtk_module_component}")
37  else ()
38  # No such target for the component; skip.
39  continue ()
40  endif ()
41  get_property(_vtk_module_find_package_depends
42  TARGET "${_vtk_module_find_package_component_target}"
43  PROPERTY "INTERFACE_vtk_module_depends")
44  string(REPLACE "${CMAKE_FIND_PACKAGE_NAME}::" "" _vtk_module_find_package_depends "${_vtk_module_find_package_depends}")
45  list(APPEND _vtk_module_find_package_components_to_check
46  ${_vtk_module_find_package_depends})
47  get_property(_vtk_module_find_package_depends
48  TARGET "${_vtk_module_find_package_component_target}"
49  PROPERTY "INTERFACE_vtk_module_private_depends")
50  string(REPLACE "${CMAKE_FIND_PACKAGE_NAME}::" "" _vtk_module_find_package_depends "${_vtk_module_find_package_depends}")
51  list(APPEND _vtk_module_find_package_components_to_check
52  ${_vtk_module_find_package_depends})
53  get_property(_vtk_module_find_package_depends
54  TARGET "${_vtk_module_find_package_component_target}"
55  PROPERTY "INTERFACE_vtk_module_optional_depends")
56  foreach (_vtk_module_find_package_depend IN LISTS _vtk_module_find_package_depends)
57  if (TARGET "${_vtk_module_find_package_depend}")
58  string(REPLACE "${CMAKE_FIND_PACKAGE_NAME}::" "" _vtk_module_find_package_depend "${_vtk_module_find_package_depend}")
59  list(APPEND _vtk_module_find_package_components_to_check
60  "${_vtk_module_find_package_depend}")
61  endif ()
62  endforeach ()
63  get_property(_vtk_module_find_package_depends
64  TARGET "${_vtk_module_find_package_component_target}"
65  PROPERTY "INTERFACE_vtk_module_forward_link")
66  string(REPLACE "${CMAKE_FIND_PACKAGE_NAME}::" "" _vtk_module_find_package_depends "${_vtk_module_find_package_depends}")
67  list(APPEND _vtk_module_find_package_components_to_check
68  ${_vtk_module_find_package_depends})
69 
70  get_property(_vtk_module_find_package_kit
71  TARGET "${_vtk_module_find_package_component_target}"
72  PROPERTY "INTERFACE_vtk_module_kit")
73  if (_vtk_module_find_package_kit)
74  get_property(_vtk_module_find_package_kit_modules
75  TARGET "${_vtk_module_find_package_kit}"
76  PROPERTY "INTERFACE_vtk_kit_kit_modules")
77  string(REPLACE "${CMAKE_FIND_PACKAGE_NAME}::" "" _vtk_module_find_package_kit_modules "${_vtk_module_find_package_kit_modules}")
78  list(APPEND _vtk_module_find_package_components_to_check
79  ${_vtk_module_find_package_kit_modules})
80  endif ()
81 endwhile ()
82 unset(_vtk_module_find_package_component_target)
83 unset(_vtk_module_find_package_components_to_check)
84 unset(_vtk_module_find_package_components_checked)
85 unset(_vtk_module_component)
86 unset(_vtk_module_find_package_depend)
87 unset(_vtk_module_find_package_depends)
88 unset(_vtk_module_find_package_kit)
89 unset(_vtk_module_find_package_kit_modules)
90 
91 if (_vtk_module_find_package_components)
92  list(REMOVE_DUPLICATES _vtk_module_find_package_components)
93 endif ()
94 if (_vtk_module_find_package_components_required)
95  list(REMOVE_DUPLICATES _vtk_module_find_package_components_required)
96 endif ()
97 
98 set(_vtk_module_find_package_enabled OFF)
99 set(_vtk_module_find_package_is_required OFF)
100 set(_vtk_module_find_package_fail_if_not_found OFF)
101 if (_vtk_module_find_package_components)
102  if ("protobuf" IN_LIST _vtk_module_find_package_components)
103  set(_vtk_module_find_package_enabled ON)
104  if ("protobuf" IN_LIST _vtk_module_find_package_components_required)
105  set(_vtk_module_find_package_is_required "${${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED}")
106  set(_vtk_module_find_package_fail_if_not_found ON)
107  endif ()
108  endif ()
109 else ()
110  set(_vtk_module_find_package_enabled ON)
111  set(_vtk_module_find_package_is_required "${${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED}")
112  set(_vtk_module_find_package_fail_if_not_found ON)
113 endif ()
114 
115 if (_vtk_module_find_package_enabled)
116  set(_vtk_module_find_package_required)
117  if (_vtk_module_find_package_is_required)
118  set(_vtk_module_find_package_required REQUIRED)
119  endif ()
120 
121  find_package(Protobuf
122  3.4
123 
124 
125  ${_vtk_module_find_package_quiet}
126  ${_vtk_module_find_package_required}
127  COMPONENTS
128  OPTIONAL_COMPONENTS )
129  if (NOT Protobuf_FOUND AND _vtk_module_find_package_fail_if_not_found)
130  if (NOT ${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
131  message(STATUS
132  "Could not find the ${CMAKE_FIND_PACKAGE_NAME} package due to a "
133  "missing dependency: Protobuf")
134  endif ()
135  set("${CMAKE_FIND_PACKAGE_NAME}_protobuf_FOUND" 0)
136  list(APPEND "${CMAKE_FIND_PACKAGE_NAME}_protobuf_NOT_FOUND_MESSAGE"
137  "Failed to find the Protobuf package.")
138  endif ()
139 endif ()
140 
141 unset(_vtk_module_find_package_fail_if_not_found)
142 unset(_vtk_module_find_package_enabled)
143 unset(_vtk_module_find_package_required)
144 
145 unset(_vtk_module_find_package_components)
146 unset(_vtk_module_find_package_components_required)
147 unset(_vtk_module_find_package_quiet)