Skip to content

Commit e6e7072

Browse files
authored
Merge branch 'AcademySoftwareFoundation:main' into uri_for_viewer
2 parents 6ac5ef4 + 32bdd68 commit e6e7072

62 files changed

Lines changed: 9133 additions & 827 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ jobs:
8585
compiler_version: "26.0"
8686
python: 3.13
8787
static_analysis: ON
88-
cmake_config: -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
88+
cmake_config: -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DMATERIALX_BUILD_DATA_LIBRARY=ON
8989

9090
- name: MacOS_Xcode_DynamicAnalysis
9191
os: macos-26

CMakeLists.txt

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ option(MATERIALX_BUILD_GEN_GLSL "Build the GLSL shader generator back-end." ON)
4242
option(MATERIALX_BUILD_GEN_OSL "Build the OSL shader generator back-ends." ON)
4343
option(MATERIALX_BUILD_GEN_MDL "Build the MDL shader generator back-end." ON)
4444
option(MATERIALX_BUILD_GEN_MSL "Build the MSL shader generator back-end." ON)
45+
option(MATERIALX_BUILD_GEN_SLANG "Build the Slang shader generator back-end." ON)
4546
option(MATERIALX_BUILD_RENDER "Build the MaterialX Render modules." ON)
4647
option(MATERIALX_BUILD_RENDER_PLATFORMS "Build platform-specific render modules for each shader generator." ON)
4748
option(MATERIALX_BUILD_OIIO "Build OpenImageIO support for MaterialXRender." OFF)
@@ -86,6 +87,7 @@ if (CMAKE_SYSTEM_NAME MATCHES "iOS" OR CMAKE_SYSTEM_NAME MATCHES "tvOS" OR CMAKE
8687
set(MATERIALX_BUILD_GEN_GLSL OFF)
8788
set(MATERIALX_BUILD_GEN_OSL OFF)
8889
set(MATERIALX_BUILD_GEN_MDL OFF)
90+
set(MATERIALX_BUILD_GEN_SLANG OFF)
8991
set(MATERIALX_BUILD_OSOS OFF)
9092
set(MATERIALX_BUILD_TESTS OFF)
9193
endif()
@@ -133,6 +135,9 @@ set(MATERIALX_OSL_BINARY_OSLC "" CACHE FILEPATH "Full path to the OSL compiler b
133135
set(MATERIALX_OSL_BINARY_TESTRENDER "" CACHE FILEPATH "Full path to the OSL test render binary.")
134136
set(MATERIALX_OSL_INCLUDE_PATH "" CACHE PATH "Full path to OSL shader includes (e.g. 'stdosl.h').")
135137

138+
# Helpers for Slang validation
139+
set(MATERIALX_SLANG_RHI_SOURCE_DIR "" CACHE PATH "Full path to the Slang RHI build directory.")
140+
136141
set(MATERIALX_PYTHON_FOLDER_NAME "python/MaterialX" CACHE INTERNAL "Folder name to user for installing the Python library.")
137142

138143
if(SKBUILD)
@@ -166,6 +171,7 @@ set(MATERIALX_LIBNAME_SUFFIX "" CACHE STRING "Specify a suffix to all libraries
166171

167172
mark_as_advanced(MATERIALX_BUILD_DOCS)
168173
mark_as_advanced(MATERIALX_BUILD_GEN_GLSL)
174+
mark_as_advanced(MATERIALX_BUILD_GEN_SLANG)
169175
mark_as_advanced(MATERIALX_BUILD_GEN_OSL)
170176
mark_as_advanced(MATERIALX_BUILD_GEN_MDL)
171177
mark_as_advanced(MATERIALX_BUILD_GEN_MSL)
@@ -205,6 +211,7 @@ mark_as_advanced(MATERIALX_BUILD_APPLE_FRAMEWORK)
205211
mark_as_advanced(MATERIALX_MDL_BINARY_MDLC)
206212
mark_as_advanced(MATERIALX_MDL_MODULE_PATHS)
207213
mark_as_advanced(MATERIALX_MDL_SDK_DIR)
214+
mark_as_advanced(MATERIALX_SLANG_RHI_SOURCE_DIR)
208215

209216
if (MATERIALX_BUILD_USE_CCACHE)
210217
# Setup CCache for C/C++ compilation
@@ -330,7 +337,7 @@ function(assign_source_group prefix)
330337
endfunction(assign_source_group)
331338

332339
function(mx_add_library MATERIALX_MODULE_NAME)
333-
set(options ADD_OBJECTIVE_C_CODE)
340+
set(options ADD_OBJECTIVE_C_CODE SKIP_INSTALL)
334341
set(oneValueArgs EXPORT_DEFINE)
335342
set(multiValueArgs
336343
SOURCE_FILES
@@ -415,7 +422,7 @@ function(mx_add_library MATERIALX_MODULE_NAME)
415422

416423
target_compile_definitions(${TARGET_NAME} PRIVATE "-D${args_EXPORT_DEFINE}")
417424

418-
if(NOT SKBUILD)
425+
if(NOT SKBUILD AND NOT args_SKIP_INSTALL)
419426
if(NOT MATERIALX_BUILD_MONOLITHIC)
420427
install(TARGETS ${MATERIALX_MODULE_NAME}
421428
EXPORT MaterialX
@@ -459,15 +466,18 @@ add_subdirectory(source/MaterialXFormat)
459466

460467
# Add shader generation subdirectories
461468
add_subdirectory(source/MaterialXGenShader)
462-
if(MATERIALX_BUILD_GEN_GLSL OR MATERIALX_BUILD_GEN_OSL OR MATERIALX_BUILD_GEN_MDL OR MATERIALX_BUILD_GEN_MSL)
463-
if(MATERIALX_BUILD_GEN_GLSL OR MATERIALX_BUILD_GEN_MSL)
469+
if(MATERIALX_BUILD_GEN_GLSL OR MATERIALX_BUILD_GEN_OSL OR MATERIALX_BUILD_GEN_MDL OR MATERIALX_BUILD_GEN_MSL OR MATERIALX_BUILD_GEN_SLANG)
470+
if(MATERIALX_BUILD_GEN_GLSL OR MATERIALX_BUILD_GEN_MSL OR MATERIALX_BUILD_GEN_SLANG)
464471
add_subdirectory(source/MaterialXGenHw)
465472
endif()
466-
467473
if (MATERIALX_BUILD_GEN_GLSL)
468474
add_definitions(-DMATERIALX_BUILD_GEN_GLSL)
469475
add_subdirectory(source/MaterialXGenGlsl)
470476
endif()
477+
if (MATERIALX_BUILD_GEN_SLANG)
478+
add_definitions(-DMATERIALX_BUILD_GEN_SLANG)
479+
add_subdirectory(source/MaterialXGenSlang)
480+
endif()
471481
if (MATERIALX_BUILD_GEN_OSL)
472482
add_definitions(-DMATERIALX_BUILD_GEN_OSL)
473483
add_subdirectory(source/MaterialXGenOsl)
@@ -505,6 +515,9 @@ if(MATERIALX_BUILD_RENDER)
505515
if(MATERIALX_BUILD_GEN_OSL)
506516
add_subdirectory(source/MaterialXRenderOsl)
507517
endif()
518+
if(MATERIALX_BUILD_GEN_SLANG AND MATERIALX_SLANG_RHI_SOURCE_DIR)
519+
add_subdirectory(source/MaterialXRenderSlang)
520+
endif()
508521
endif()
509522
if(MATERIALX_BUILD_VIEWER)
510523
add_subdirectory(source/MaterialXView)

documents/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ set(MATERIALX_DOXYGEN_SOURCE_FOLDERS
99
${PROJECT_SOURCE_DIR}/source/MaterialXGenShader/Nodes
1010
${PROJECT_SOURCE_DIR}/source/MaterialXGenGlsl
1111
${PROJECT_SOURCE_DIR}/source/MaterialXGenGlsl/Nodes
12+
${PROJECT_SOURCE_DIR}/source/MaterialXGenSlang
1213
${PROJECT_SOURCE_DIR}/source/MaterialXGenOsl
1314
${PROJECT_SOURCE_DIR}/source/MaterialXGenMdl
1415
${PROJECT_SOURCE_DIR}/source/MaterialXRender

0 commit comments

Comments
 (0)