Add setups for tps that cant be exported#20773
Open
biagas wants to merge 12 commits intotask/biagas/cmake_modernization_with_bltfrom
Open
Add setups for tps that cant be exported#20773biagas wants to merge 12 commits intotask/biagas/cmake_modernization_with_bltfrom
biagas wants to merge 12 commits intotask/biagas/cmake_modernization_with_bltfrom
Conversation
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.
individual VISIT_PARALLEL settings.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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_cmakefunction for complex thirdparty libraries that cannot be cmake-exported. It creates a simpleSetupXXX.cmakefor 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
includesubdirs, 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 updateCMake 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 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.