From 13719cc244ad26fd3140d28f6ab6de3fa47cfe79 Mon Sep 17 00:00:00 2001 From: Sean Donnelly <23455376+seando-adsk@users.noreply.github.com> Date: Thu, 25 Jun 2026 14:51:38 -0400 Subject: [PATCH] EMSUSD-3870 - MAYA Integration : Fix lib name for RenderSetup * Adapt to name changes in RenderSetup shared component. * Added missing ifdef to guard when not building with RS. * Rename RS test to be consistent with other shared component tests. * Update RS test to test python bindings. --- cmake/modules/FindAdskUsdRenderSetup.cmake | 7 ++++--- lib/usd/ui/renderSetup/mayaEditCommitter.h | 4 ++-- .../ui/renderSetup/renderSetupWindowCmd.cpp | 11 ++++++++--- test/lib/CMakeLists.txt | 2 +- ...enderSetup.py => testAdskUsdRenderSetup.py} | 18 ++++++++++++++++++ 5 files changed, 33 insertions(+), 9 deletions(-) rename test/lib/{testUsdRenderSetup.py => testAdskUsdRenderSetup.py} (65%) diff --git a/cmake/modules/FindAdskUsdRenderSetup.cmake b/cmake/modules/FindAdskUsdRenderSetup.cmake index 10d97fe65..cef1854d2 100644 --- a/cmake/modules/FindAdskUsdRenderSetup.cmake +++ b/cmake/modules/FindAdskUsdRenderSetup.cmake @@ -13,7 +13,7 @@ message(STATUS "Finding Autodesk USD Render Setup") find_path(ADSK_USD_RENDER_SETUP_INCLUDE_DIR NAMES - RenderSetup/RenderSetupVersion.h + AdskUsdRenderSetup/AdskUsdRenderSetupVersion.h HINTS $ENV{ADSK_USD_RENDER_SETUP_ROOT_DIR} ${ADSK_USD_RENDER_SETUP_ROOT_DIR} @@ -29,7 +29,7 @@ find_path(ADSK_USD_RENDER_SETUP_INCLUDE_DIR find_library(ADSK_USD_RENDER_SETUP_LIBRARY NAMES - RenderSetup + AdskUsdRenderSetup HINTS $ENV{ADSK_USD_RENDER_SETUP_ROOT_DIR} ${ADSK_USD_RENDER_SETUP_ROOT_DIR} @@ -44,9 +44,10 @@ find_library(ADSK_USD_RENDER_SETUP_LIBRARY # Render Setup version if(ADSK_USD_RENDER_SETUP_INCLUDE_DIR) + set(adsk_rs_version_header "${ADSK_USD_RENDER_SETUP_INCLUDE_DIR}/AdskUsdRenderSetup/AdskUsdRenderSetupVersion.h") file( STRINGS - ${ADSK_USD_RENDER_SETUP_INCLUDE_DIR}/RenderSetup/RenderSetupVersion.h + ${adsk_rs_version_header} ADSK_USD_RENDER_SETUP_VERSION REGEX "define RENDER_SETUP_VERSION .*") if(ADSK_USD_RENDER_SETUP_VERSION) diff --git a/lib/usd/ui/renderSetup/mayaEditCommitter.h b/lib/usd/ui/renderSetup/mayaEditCommitter.h index 2dae20ac4..f26578a52 100644 --- a/lib/usd/ui/renderSetup/mayaEditCommitter.h +++ b/lib/usd/ui/renderSetup/mayaEditCommitter.h @@ -19,9 +19,9 @@ #include +#include +#include #include -#include -#include #include #include diff --git a/lib/usd/ui/renderSetup/renderSetupWindowCmd.cpp b/lib/usd/ui/renderSetup/renderSetupWindowCmd.cpp index afec1b21e..9e083b406 100644 --- a/lib/usd/ui/renderSetup/renderSetupWindowCmd.cpp +++ b/lib/usd/ui/renderSetup/renderSetupWindowCmd.cpp @@ -18,7 +18,6 @@ #include "mayaEditCommitter.h" #include -#include #include #include @@ -34,23 +33,29 @@ #include #include +#include #include #include #include #include #include #include -#include #include #include +#ifdef MAYA_HAS_USD_SETTINGS_NODES +#include +#endif + namespace MAYAUSD_NS_DEF { class RenderSetupWindow; -const MString RenderSetupWindowCmd::commandName("mayaUsdRenderSetupWindow"); +const MString RenderSetupWindowCmd::commandName("mayaUsdRenderSetupWindow"); +#ifdef MAYA_HAS_USD_SETTINGS_NODES const std::string kUSDRenderSettingsNodeName("UsdDefaultRenderSettings"); +#endif namespace { constexpr auto kReloadFlag = "-rl"; diff --git a/test/lib/CMakeLists.txt b/test/lib/CMakeLists.txt index b92f0a3f7..106a0d789 100644 --- a/test/lib/CMakeLists.txt +++ b/test/lib/CMakeLists.txt @@ -113,7 +113,7 @@ else() endif() if (AdskUsdRenderSetup_FOUND) - mayaUsd_get_unittest_target(target testUsdRenderSetup.py) + mayaUsd_get_unittest_target(target testAdskUsdRenderSetup.py) mayaUsd_add_test(${target} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} PYTHON_MODULE ${target} diff --git a/test/lib/testUsdRenderSetup.py b/test/lib/testAdskUsdRenderSetup.py similarity index 65% rename from test/lib/testUsdRenderSetup.py rename to test/lib/testAdskUsdRenderSetup.py index badd8b8ee..c471bec85 100644 --- a/test/lib/testUsdRenderSetup.py +++ b/test/lib/testAdskUsdRenderSetup.py @@ -21,6 +21,8 @@ import maya.cmds as cmds import maya.mel as mel +from mayaUsd.lib import UsdDefaultRenderSettings + class VerifyUsdRenderSetupTestCase(unittest.TestCase): """ Test the Usd Render Setup. """ @@ -33,3 +35,19 @@ def setUpClass(cls): def testWindowCommandExists(self): # Verify that the render setup window command exists, which indicates that the render setup UI is available. self.assertTrue(mel.eval('exists mayaUsdRenderSetupWindow')) + + def testPythonBindings(self): + # Verify that we can load the python bindings and call at least one method. + try: + import AdskUsdRenderSetup as rs + except ImportError as e: + self.fail(f"Failed to import my_module: {e}") + + self.assertEqual(rs.__name__, 'AdskUsdRenderSetup') + self.assertTrue(rs.__version_info__ >= (0, 0, 1)) + + stage = UsdDefaultRenderSettings.getUsdStage() + self.assertIsNotNone(rs.GetAllRenderSettingsPaths(stage)) + + prim = rs.GetActiveRenderSettings(stage) + self.assertTrue(prim) \ No newline at end of file