ParaViewInstallCMakePackage.cmake
Go to the documentation of this file.
1 if (NOT (DEFINED paraview_cmake_dir AND
2  DEFINED paraview_cmake_build_dir AND
3  DEFINED paraview_cmake_destination AND
4  DEFINED paraview_modules))
5  message(FATAL_ERROR
6  "ParaViewInstallCMakePackage is missing input variables.")
7 endif ()
8 
9 _vtk_module_write_import_prefix("${paraview_cmake_build_dir}/paraview-prefix.cmake" "${paraview_cmake_destination}")
10 
11 set(paraview_has_catalyst 0)
12 set(paraview_catalyst_directory "")
13 if (TARGET ParaView::catalyst-paraview)
14  set(paraview_has_catalyst 1)
15  get_property(paraview_catalyst_directory GLOBAL
16  PROPERTY paraview_catalyst_directory)
17 endif ()
18 
19 string(REPLACE "ParaView::" "" _paraview_all_components "${paraview_modules};${paraview_client_modules}")
20 
21 configure_file(
22  "${paraview_cmake_dir}/paraview-config.cmake.in"
23  "${paraview_cmake_build_dir}/paraview-config.cmake"
24  @ONLY)
25 include(CMakePackageConfigHelpers)
26 write_basic_package_version_file("${paraview_cmake_build_dir}/paraview-config-version.cmake"
27  VERSION "${PARAVIEW_VERSION_FULL}"
28  COMPATIBILITY AnyNewerVersion)
29 
30 # For convenience, a package is written to the top of the build tree. At some
31 # point, this should probably be deprecated and warn when it is used.
32 file(GENERATE
33  OUTPUT "${CMAKE_BINARY_DIR}/paraview-config.cmake"
34  CONTENT "include(\"${paraview_cmake_build_dir}/paraview-config.cmake\")\n")
35 configure_file(
36  "${paraview_cmake_build_dir}/paraview-config-version.cmake"
37  "${CMAKE_BINARY_DIR}/paraview-config-version.cmake"
38  COPYONLY)
39 
40 set(paraview_cmake_module_files
41  # Compatibility
42  paraview-use-file-compat.cmake
43  paraview-use-file-deprecated.cmake
44  paraview-use-file-error.cmake
45 
46  # Client API
47  paraview_client_initializer.cxx.in
48  paraview_client_initializer.h.in
49  paraview_client_main.cxx.in
50  ParaViewClient.cmake
51  paraview_servermanager_convert_categoryindex.xsl
52  paraview_servermanager_convert_html.xsl
53  paraview_servermanager_convert_wiki.xsl.in
54  paraview_servermanager_convert_xml.xsl
55 
56  # Plugin API
57  paraview_plugin.cxx.in
58  paraview_plugin.h.in
59  ParaViewPlugin.cmake
60  pqActionGroupImplementation.cxx.in
61  pqActionGroupImplementation.h.in
62  pqAutoStartImplementation.cxx.in
63  pqAutoStartImplementation.h.in
64  pqDockWindowImplementation.cxx.in
65  pqDockWindowImplementation.h.in
66  pqGraphLayoutStrategyImplementation.cxx.in
67  pqGraphLayoutStrategyImplementation.h.in
68  pqPluginLocationImplementation.cxx.in
69  pqPluginLocationImplementation.h.in
70  pqPropertyWidgetInterface.cxx.in
71  pqPropertyWidgetInterface.h.in
72  pqServerManagerModelImplementation.cxx.in
73  pqServerManagerModelImplementation.h.in
74  pqToolBarImplementation.cxx.in
75  pqToolBarImplementation.h.in
76  pqTreeLayoutStrategyImplementation.cxx.in
77  pqTreeLayoutStrategyImplementation.h.in
78 
79  # ServerManager API
80  ParaViewServerManager.cmake
81 
82  # Testing
83  ParaViewTesting.cmake
84 
85  # Client Server
86  vtkModuleWrapClientServer.cmake
87 
88  # Translation API
89  ParaViewTranslations.cmake
90  XML_translations_header_generator.py)
91 
92 # From the `GmshIO` plugin.
93 if (TARGET GmshIO::vtkGmshIO)
94  list(APPEND paraview_cmake_module_files
95  FindGmsh.cmake)
96 endif ()
97 
98 set(paraview_cmake_files_to_install)
99 foreach (paraview_cmake_module_file IN LISTS paraview_cmake_module_files)
100  configure_file(
101  "${paraview_cmake_dir}/${paraview_cmake_module_file}"
102  "${paraview_cmake_build_dir}/${paraview_cmake_module_file}"
103  COPYONLY)
104  list(APPEND paraview_cmake_files_to_install
105  "${paraview_cmake_module_file}")
106 endforeach ()
107 
108 if (PARAVIEW_ENABLE_VISITBRIDGE)
109  set(paraview_visitbridge_cmake_module_files
110  FindBoxlib.cmake
111  FindGFortran.cmake
112  FindMili.cmake
113  FindRapidJSON.cmake
114  FindSILO.cmake)
115  foreach (paraview_cmake_module_file IN LISTS paraview_visitbridge_cmake_module_files)
116  configure_file(
117  "${ParaView_SOURCE_DIR}/Utilities/VisItBridge/databases/cmake/${paraview_cmake_module_file}"
118  "${paraview_cmake_build_dir}/${paraview_cmake_module_file}"
119  COPYONLY)
120  list(APPEND paraview_cmake_files_to_install
121  "${paraview_cmake_build_dir}/${paraview_cmake_module_file}")
122  endforeach ()
123 endif ()
124 
125 include(ParaViewInstallCMakePackageHelpers)
126 if (NOT PARAVIEW_RELOCATABLE_INSTALL)
127  list(APPEND paraview_cmake_files_to_install
128  "${paraview_cmake_build_dir}/paraview-find-package-helpers.cmake")
129 endif ()
130 
131 foreach (paraview_cmake_file IN LISTS paraview_cmake_files_to_install)
132  if (IS_ABSOLUTE "${paraview_cmake_file}")
133  file(RELATIVE_PATH paraview_cmake_subdir_root "${paraview_cmake_build_dir}" "${paraview_cmake_file}")
134  get_filename_component(paraview_cmake_subdir "${paraview_cmake_subdir_root}" DIRECTORY)
135  set(paraview_cmake_original_file "${paraview_cmake_file}")
136  else ()
137  get_filename_component(paraview_cmake_subdir "${paraview_cmake_file}" DIRECTORY)
138  set(paraview_cmake_original_file "${paraview_cmake_dir}/${paraview_cmake_file}")
139  endif ()
140  install(
141  FILES "${paraview_cmake_original_file}"
142  DESTINATION "${paraview_cmake_destination}/${paraview_cmake_subdir}"
143  COMPONENT "development")
144 endforeach ()
145 
146 install(
147  FILES "${paraview_cmake_build_dir}/paraview-config.cmake"
148  "${paraview_cmake_build_dir}/paraview-config-version.cmake"
149  "${paraview_cmake_build_dir}/paraview-prefix.cmake"
150  DESTINATION "${paraview_cmake_destination}"
151  COMPONENT "development")
152 
153 vtk_module_export_find_packages(
154  CMAKE_DESTINATION "${paraview_cmake_destination}"
155  FILE_NAME "ParaView-vtk-module-find-packages.cmake"
156  MODULES ${paraview_modules})
157 
158 vtk_module_export_find_packages(
159  CMAKE_DESTINATION "${paraview_cmake_destination}"
160  FILE_NAME "ParaViewIncubator-vtk-module-find-packages.cmake"
161  MODULES ${paraview_incubator_modules})
162 
163 if (PARAVIEW_USE_QT)
164  get_property(paraview_client_xml_files GLOBAL
165  PROPERTY paraview_client_xml_files)
166  get_property(paraview_client_xml_destination GLOBAL
167  PROPERTY paraview_client_xml_destination)
168 
169  set(cmake_xml_file_name "ParaView-client-xml.cmake")
170  set(cmake_xml_build_file "${paraview_cmake_build_dir}/${cmake_xml_file_name}")
171  set(cmake_xml_install_file "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${cmake_xml_file_name}.install")
172 
173  file(WRITE "${cmake_xml_build_file}" "")
174  file(WRITE "${cmake_xml_install_file}" "")
175  _vtk_module_write_import_prefix("${cmake_xml_install_file}" "${paraview_client_xml_destination}")
176  file(APPEND "${cmake_xml_build_file}"
177  "set(\"\${CMAKE_FIND_PACKAGE_NAME}_CLIENT_XML_FILES\")\n")
178  file(APPEND "${cmake_xml_install_file}"
179  "set(\"\${CMAKE_FIND_PACKAGE_NAME}_CLIENT_XML_FILES\")\n")
180 
181  foreach (paraview_client_xml_file IN LISTS paraview_client_xml_files)
182  get_filename_component(basename "${paraview_client_xml_file}" NAME)
183  file(APPEND "${cmake_xml_build_file}"
184  "list(APPEND \"\${CMAKE_FIND_PACKAGE_NAME}_CLIENT_XML_FILES\"
185  \"${paraview_client_xml_file}\")\n")
186  file(APPEND "${cmake_xml_install_file}"
187  "list(APPEND \"\${CMAKE_FIND_PACKAGE_NAME}_CLIENT_XML_FILES\"
188  \"\${_vtk_module_import_prefix}/${paraview_client_xml_destination}/${basename}\")\n")
189  endforeach ()
190 
191  install(
192  FILES "${cmake_xml_install_file}"
193  DESTINATION "${paraview_cmake_destination}"
194  RENAME "${cmake_xml_file_name}"
195  COMPONENT "development")
196 endif ()
version
#define PARAVIEW_VERSION_FULL
Definition: vtkPVVersion.h:10