Skip to content

Add setups for tps that cant be exported#20773

Open
biagas wants to merge 12 commits intotask/biagas/cmake_modernization_with_bltfrom
wip/biagas/setups_for_tps_that_cant_be_exported
Open

Add setups for tps that cant be exported#20773
biagas wants to merge 12 commits intotask/biagas/cmake_modernization_with_bltfrom
wip/biagas/setups_for_tps_that_cant_be_exported

Conversation

@biagas
Copy link
Contributor

@biagas biagas commented Jan 6, 2026

Description

Next phase in CMake modernization effort: ensure building plugin against installed VisIt using VisIt's cmake targets works.
To that end:

Added create_lib_setup_cmake function for complex thirdparty libraries that cannot be cmake-exported. It creates a simple SetupXXX.cmake for the package that contains enough information about the libraries, includes, dependencies, and flags for use with creating plugins against an installed VisIt. The logic is based on how Third party libraries are installed along side VisIt. Find modules for VTK, Qt, Python, VTKm utilize this new function.

Remove use of PYTHON_INCLUDE_PATH since we now link with a Python cmake target which specifies the include dirs as part of the target.

Simplified more Find modules to uses visit_import_third_party (which creates cmake-exportable targets for the third party libraries).

Update how a plugin's CMakeLists.txt is written when building a plugin against installed VisIt, and added support for the changes in the visit_add_xxx_plugin functions.

Change what is written to host profile by bv_mpich to ensure mpich is found correctly.

Created a FindDependencies.cmake module for plugins-vs install. It will include the generated 'SetupXXX.cmake' files.

Simplify Third-party include paths installed with visit to remove extra include subdirs, so now all header files are installed to a TP pkg subdir, e.g:
/path/to/visit/include/python/

Type of change

  • [ ] Bug fix
  • [ ] New feature
  • [ ] Documentation update
  • Other
    CMake modernization, fixes plugins vs install builds to work with VisIt's exported targets.

How Has This Been Tested?

Compiled on Linux, Windows. For all plugins (except GMV, MDSPLus and SimV2 database plugins) on both platforms, test build against install successfully (by running xml2cmake, cmake-configure, gmake.

Checklist:

  • I have commented my code where applicable.~~
  • [ ] I have updated the release notes.
  • [ ] I have made corresponding changes to the documentation.
  • [ ] I have added debugging support to my changes.
  • [ ] I have added tests that prove my fix is effective or that my feature works.
  • [ ] I have confirmed new and existing unit tests pass locally with my changes.
  • [ ] I have added new baselines for any new tests to the repo.
  • [ ] I have NOT made any changes to [protocol or public interfaces][3] in an RC branch.

biagas added 12 commits November 3, 2025 07:09
Qt,VTK, Anari, vtkm cannot be exported using 'blt_import_library' due to their own import sets and VisIt's use of them.

Created a function to write out necessary TP information to a 'Setup' file. Main function and helpers stored in new 'WriteThirdPartySetup.cmake' file.
The functions query certain target PROPERTIES to gather the necessary information for writing the Setup file.
Use CMake's FInd module to find python, and utilize the imported targets created from that.

Remove use PYTHON_INCLUDE_PATH, PYTHON_DIR (for LINKDIR).
Replace PYTHON_LIBRARIES with PYTHON_LIBRARY
Add creation of SetupPYTHON.cmake for plugin vs install.
Fix use of visit_dist_data.tar.gz, and creation of data file when visit_dist_data.tar.gz not available.
Fix mpich host profile setup.
Add dane config-site.
Allow setting of an alternate location for test-data tarballs dir.
Fix hdf5 hl mpi setup.
@biagas biagas marked this pull request as ready for review January 6, 2026 22:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant