-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vtk: new recipe #24808
Open
valgur
wants to merge
190
commits into
conan-io:master
Choose a base branch
from
valgur:new/vtk
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
vtk: new recipe #24808
Conversation
This file contains 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
Compiles fine on linux-clang, same version...
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Nice to see some action, but just so you know, I'm using my VTK recipe in production and its working well. I like the sound of the poison target, and it is interesting that you are parsing the cmake target file. Looking forward to seeing it progress further! |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Conan v1 pipeline ✔️All green in build 16 (
|
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.
Summary
Changes to recipe: vtk/9.3.1
Motivation
The Visualization Toolkit (VTK) is open source software for manipulating and displaying scientific data. It comes with state-of-the-art tools for 3D rendering, a suite of widgets for 3D interaction, and extensive 2D plotting capability.
https://vtk.org/
https://gitlab.kitware.com/vtk/vtk
Details
Continues from #10776 by @paulharris with significant rewrites to tame the scope and complexity to more manageable levels. The project packages around 200 components and has about 70 dependencies (of which 56 are currently provided via Conan, 130 with transitive deps).
want_all_modules
can be set toFalse
to build only the core modules and a specific subset of modules (and their internal dependencies) selected by the user instead.VTK::VTK
CMake target is exported for that reason (which matches the project's behavior). Instead, a poison target is included to prohibit the use of the aggregatevtk::vtk
target when all modules are being built by default.VTK-targets.cmake
file for CMake targets and their properties. This provides the list of actually exported targets, whether they are real or interface ones, a list of internal and external public CMake target dependencies, system libs, frameworks and preprocessor defines.module.json
build output to get the list of private dependencies for each component and some extraimplementable
/implements
metadata for autoinit header generation.package_info()
and add the private external dependencies that are not covered by themodules.json
file (which itself is derived from themodule.vtk
files in the project).options/<version>.json
files with./update_options.py <vtk-source-location>
. A--dump-metadata
flag can be used to dump the metadata gathered from themodule.vtk
files as JSON instead, which provides a good overview of all modules and should be useful for diffing the metadata for changes for new releases. Keep in mind that many external dependencies are not listed as VTK modules, though, and are accessed directly through afind_package()
wrapper.TODO:
Here's a list of related PRs for optional dependencies that are currently missing from CCI:
To conclude, I would like to thank @paulharris for the very hard work on the recipe. It was tremendously helpful, even if much of it got rewritten beyond recognition. ❤️
Build logs
All logs are for GCC 11 on x86_64 Linux.
Build times are: