@@ -74,6 +74,10 @@ option(TINYUSDZ_BUILD_EXAMPLES
74
74
option (TINYUSDZ_WITH_BUILTIN_IMAGE_LOADER
75
75
"Build with built-in image loader(stb_image and fpng). When disabled, app need to provide image loader callback to load images."
76
76
${TINYUSDZ_DEFAULT_WITH_BUILTIN_IMAGE_LOADER} )
77
+ option (TINYUSDZ_WITH_TYDRA
78
+ "Build with Tydra module(Handly USD scene converter for the renderer, DCC, etc)."
79
+ ON )
80
+
77
81
78
82
if (MSVC )
79
83
# it looks it is hard to disable C++ exception for MSVC, so enable exception by default
@@ -128,7 +132,8 @@ option(TINYUSDZ_WITH_ALAC_AUDIO "Build with ALAC(as M4A) Audio support" OFF)
128
132
option (TINYUSDZ_WITH_PYTHON "Build with Python binding through pybind11" OFF )
129
133
130
134
if (TINYUSDZ_WITH_PYTHON)
131
- # force enable C API + DLL build
135
+ # force enable Tydra C API + DLL build
136
+ set (TINYUSDZ_WITH_TYDRA ON CACHE INTERNAL "" FORCE)
132
137
set (TINYUSDZ_WITH_C_API ON CACHE INTERNAL "" FORCE)
133
138
set (TINYUSDZ_BUILD_SHARED_LIBS ON CACHE INTERNAL "" FORCE)
134
139
endif ()
@@ -141,6 +146,12 @@ option(
141
146
142
147
option (TINYUSDZ_WITH_PXR_COMPAT_API "Build with pxr compatible API" ${TINYUSDZ_DEFAULT_WITH_PXR_COMPAT_API} )
143
148
149
+ # C API requires Tydra
150
+ if (NOT TINYUSDZ_WITH_TYDRA AND TINYUSDZ_WITH_C_API)
151
+ message (WARNING "C API requires Tydra enabled, so disable C API build. Please do not set TINYUSDZ_WITH_TYDRA Off if you need C API library" )
152
+ set (TINYUSDZ_WITH_C_API Off CACHE INTERNAL "" FORCE)
153
+ endif ()
154
+
144
155
# deprecated. to be removed
145
156
#option(
146
157
# TINYUSDZ_WITH_BLENDER_ADDON
@@ -393,26 +404,31 @@ set(TINYUSDZ_SOURCES
393
404
${PROJECT_SOURCE_DIR} /src/pprinter.cc
394
405
${PROJECT_SOURCE_DIR} /src/stage.cc
395
406
${PROJECT_SOURCE_DIR} /src/stage.hh
396
- ${PROJECT_SOURCE_DIR} /src/tydra/facial.cc
397
- ${PROJECT_SOURCE_DIR} /src/tydra/facial.hh
398
- ${PROJECT_SOURCE_DIR} /src/tydra/prim-apply.cc
399
- ${PROJECT_SOURCE_DIR} /src/tydra/prim-apply.hh
400
- ${PROJECT_SOURCE_DIR} /src/tydra/scene-access.cc
401
- ${PROJECT_SOURCE_DIR} /src/tydra/scene-access.hh
402
- ${PROJECT_SOURCE_DIR} /src/tydra/attribute-eval.hh
403
- ${PROJECT_SOURCE_DIR} /src/tydra/attribute-eval.cc
404
- ${PROJECT_SOURCE_DIR} /src/tydra/attribute-eval-typed.cc
405
- ${PROJECT_SOURCE_DIR} /src/tydra/attribute-eval-typed-animatable.cc
406
- ${PROJECT_SOURCE_DIR} /src/tydra/attribute-eval-typed-fallback.cc
407
- ${PROJECT_SOURCE_DIR} /src/tydra/attribute-eval-typed-animatable-fallback.cc
408
- ${PROJECT_SOURCE_DIR} /src/tydra/obj-export.cc
409
- ${PROJECT_SOURCE_DIR} /src/tydra/usd-export.cc
410
- ${PROJECT_SOURCE_DIR} /src/tydra/shader-network.cc
411
- ${PROJECT_SOURCE_DIR} /src/tydra/shader-network.hh
412
- ${PROJECT_SOURCE_DIR} /src/tydra/render-data.cc
413
- ${PROJECT_SOURCE_DIR} /src/tydra/render-data.hh
414
407
)
415
408
409
+ if (TINYUSDZ_WITH_TYDRA)
410
+ list (APPEND TINYUSDZ_SOURCES
411
+ ${PROJECT_SOURCE_DIR} /src/tydra/facial.cc
412
+ ${PROJECT_SOURCE_DIR} /src/tydra/facial.hh
413
+ ${PROJECT_SOURCE_DIR} /src/tydra/prim-apply.cc
414
+ ${PROJECT_SOURCE_DIR} /src/tydra/prim-apply.hh
415
+ ${PROJECT_SOURCE_DIR} /src/tydra/scene-access.cc
416
+ ${PROJECT_SOURCE_DIR} /src/tydra/scene-access.hh
417
+ ${PROJECT_SOURCE_DIR} /src/tydra/attribute-eval.hh
418
+ ${PROJECT_SOURCE_DIR} /src/tydra/attribute-eval.cc
419
+ ${PROJECT_SOURCE_DIR} /src/tydra/attribute-eval-typed.cc
420
+ ${PROJECT_SOURCE_DIR} /src/tydra/attribute-eval-typed-animatable.cc
421
+ ${PROJECT_SOURCE_DIR} /src/tydra/attribute-eval-typed-fallback.cc
422
+ ${PROJECT_SOURCE_DIR} /src/tydra/attribute-eval-typed-animatable-fallback.cc
423
+ ${PROJECT_SOURCE_DIR} /src/tydra/obj-export.cc
424
+ ${PROJECT_SOURCE_DIR} /src/tydra/usd-export.cc
425
+ ${PROJECT_SOURCE_DIR} /src/tydra/shader-network.cc
426
+ ${PROJECT_SOURCE_DIR} /src/tydra/shader-network.hh
427
+ ${PROJECT_SOURCE_DIR} /src/tydra/render-data.cc
428
+ ${PROJECT_SOURCE_DIR} /src/tydra/render-data.hh
429
+ )
430
+ endif (TINYUSDZ_WITH_TYDRA)
431
+
416
432
if (TINYUSDZ_WITH_PXR_COMPAT_API)
417
433
list (APPEND TINYUSDZ_SOURCES ${PROJECT_SOURCE_DIR} /src/pxr-compat.cc)
418
434
endif ()
@@ -1066,6 +1082,11 @@ foreach(TINYUSDZ_LIB_TARGET ${TINYUSDZ_LIBS})
1066
1082
PRIVATE "TINYUSDZ_WITH_OPENSUBDIV" )
1067
1083
endif (TINYUSDZ_WITH_OPENSUBDIV)
1068
1084
1085
+ if (TINYUSDZ_WITH_TYDRA)
1086
+ target_compile_definitions (${TINYUSDZ_LIB_TARGET}
1087
+ PRIVATE "TINYUSDZ_WITH_TYDRA" )
1088
+ endif (TINYUSDZ_WITH_OPENSUBDIV)
1089
+
1069
1090
if (NOT TINYUSDZ_CXX_EXCEPTIONS)
1070
1091
if (MSVC )
1071
1092
target_compile_options (${TINYUSDZ_LIB_TARGET} PRIVATE /EHs-c-)
@@ -1196,8 +1217,11 @@ endif()
1196
1217
1197
1218
if (TINYUSDZ_BUILD_EXAMPLES)
1198
1219
add_subdirectory (examples/tusdcat)
1199
- add_subdirectory (examples/tydra_api)
1200
- add_subdirectory (examples/tydra_to_renderscene)
1220
+ if (TINYUSDZ_WITH_TYDRA)
1221
+ add_subdirectory (examples/tydra_api)
1222
+ add_subdirectory (examples/tydra_to_renderscene)
1223
+ endif ()
1224
+
1201
1225
add_subdirectory (examples/api_tutorial)
1202
1226
add_subdirectory (examples/file_format)
1203
1227
add_subdirectory (examples/asset_resolution)
0 commit comments