Comments (3)
Yeah, I totally understand, as I imagine it was a lot of work to get this out the door. Once I get this built and deployed I’ll see if I can tackle “cmake-ifying” a few of the deps. I think the most challenging part of that task will be preserving the download behavior, since it’ll need to move somewhere else. Should there be a higher level CMakeLists with the download and build functionality for all the external project, or should that move into a build script like USD’s build_usd.py? We could even start by copying and modifying that script since it has a lot of functionality that we would need here.
from openrv.
This is the eventual goal. We did a lot of clean up in the build system before open-sourcing the project, moving everything from Makefiles to CMake. Unfortunately, we did not have time to do everything we wanted, and we were hoping the community would help out with some of the "nice to haves" rather than the critical tasks we needed to get done. So on that subject, we would love to discuss ideas or collaborate with anyone interested in this topic.
from openrv.
We did CMake-ify some of the dependencies. You can take a look at the cmake/dependencies
folder to see what we did. It's a mix of FetchContent
and ExternalProject_Add
calls and some custom scripting too for the more complicated ones (python and pyside). Both have the of the built in calls have the ability to download from git repos built-in. FetchContent
is nice because it will effectively add all the CMake targets into your project, but you need to be careful with it might depend on other projects and those might not support FetchContent
(some projects like libjpeg do not allow it). Also FetchContent
happens at configure time and ExternalProject_Add
happens at build time, so FetchContent
cannot be parallelized. A lot of what we did in there was modelled after OpenEXR and/or Imath.
I think most of the remaining work would be to take what is in src/pub
and move it into cmake/dependencies
to have proper CMake builds. At the start of the project all third-party deps were in src/pub
, and we moved what was easy to move. The remaining dependencies were left there because they were difficult due to large number of dependencies (sometimes circular) or other complications, so it might be tricky business to get them moved over one-by-one.
from openrv.
Related Issues (20)
- [Bug]: incorrect aspect ratio when using Replace with pixel aspect ratio not 1
- [Bug]: QT_HOME hardcoded by rvcmds.sh leads to Open RV build configuration error when calling rvcfg
- [Bug]: Open RV crashes on launch on Windows since the OpenTimelineIO python package was updated to 0.17.0
- [Bug]: otio_reader.py using deprecated method
- Apple Silicon Native Support HOT 1
- [Bug]: Failed to build on windows 11 HOT 5
- [Bug]: Build/Configuration Failed on Windows 11 : RV_STAGE HOT 11
- [Bug]: RvConsoleWindow Missing All Output
- [Bug]: PySide + Python errors HOT 3
- Flow Production Tracking Integration HOT 1
- [Bug]: RV not able to play prores
- [Maintenance]: Update to FFmpeg 7.0.2
- [Enhancement]: add a Skipped Frames HUD (or GUI) display
- [Enhancement]: Add Open RV build support for Linux Mint
- [Documentation]: CentOS 7 install guide is missing some packages HOT 1
- [Enhancement]: Add RPM generation capability to the Open RV build system on Linux
- [Enhancement]: Feature request: add a Skipped Frames HUD (or GUI) display
- [Enhancement]: Annotate on frame range instead of 1 frame.
- [Enhancement]: Add Open RV build support for Debian/Ubuntu
- [Enhancement]: Add Debugging Switches Documentation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openrv.