You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
### ci: Staging refactor
### Linked issues
none
### Summarize your change.
Refactor the CMake dependency build system to eliminate repeated
boilerplate by introducing two new reusable macros
(`RV_STAGE_DEPENDENCY_LIBS` and `RV_ADD_IMPORTED_LIBRARY`) and applying
them across all dependency files. Also aligns imported target names with
upstream find_package conventions and fixes several latent bugs.
There is a lot of changes in the dependencies, but the majority is
removing the code that is handled by the new macro.
- `RV_STAGE_DEPENDENCY_LIBS` macro: New macro that replaces ad-hoc
staging patterns.
- `RV_ADD_IMPORTED_LIBRARY` macro: New macro that consolidates the
ADD_LIBRARY(IMPORTED) + SET_PROPERTY + TARGET_INCLUDE_DIRECTORIES
pattern.
- Removed rv_copy_lib_bin_folders.cmake: Superseded by
RV_STAGE_DEPENDENCY_LIBS.
- Centralized ProcessorCount in cmake/dependencies/CMakeLists.txt
instead of per-dependency.
- Removed redundant variable declarations that are already provided by
RV_CREATE_STANDARD_DEPS_VARIABLES
- AJA build fix: Sets -DNTV2_VERSION_BUILD=0 to prevent Jenkins build
numbers from leaking into AJA library sonames.
- Aligned imported target names with upstream
Full list of renames:
- jpeg-turbo::jpeg → libjpeg-turbo::jpeg
- Tiff::Tiff → TIFF::TIFF
- oiio::oiio → OpenImageIO::OpenImageIO (and oiio::oiio_util →
OpenImageIO::OpenImageIO_Util)
- ocio::ocio → OpenColorIO::OpenColorIO
- Raw::Raw → LibRaw::raw
- Webp::Webp → WebP::webp
- doctest → doctest::doctest
### Describe the reason for the change.
The dependency CMake files contained large amounts of duplicated code
for staging libraries, creating imported targets, and setting standard
variables.
Each dependency re-implemented the same patterns with minor variations,
making the build system harder to maintain and a source of subtle
inconsistencies (e.g., some deps used POST_BUILD while others used
OUTPUT-based commands).
### Describe what you have tested and on which operating system.
I have tested in CI and MacOS. I will be comparing the installed files
between the main branch and this branch.
---------
Signed-off-by: Roger Nelson <roger.nelson@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <105517825+cedrik-fuoco-adsk@users.noreply.github.com>
Co-authored-by: Roger Nelson <roger.nelson@autodesk.com>
Copy file name to clipboardExpand all lines: cmake/dependencies/boost.cmake
+3-41Lines changed: 3 additions & 41 deletions
Original file line number
Diff line number
Diff line change
@@ -9,9 +9,6 @@
9
9
#
10
10
# Starting from CMake 3.30, FindBoost.cmake has been removed in favor of BoostConfig.cmake (Boost 1.70+). This behavior is covered by CMake policy CMP0167.
0 commit comments