Add tinyusdz source files if option enabled

pull/5522/head
Steve M 2024-03-29 20:49:29 -07:00
parent 58f7195aac
commit dc123acc63
2 changed files with 85 additions and 6 deletions

View File

@ -262,7 +262,7 @@ IF ((CMAKE_C_COMPILER_ID MATCHES "GNU") AND NOT MINGW AND NOT HAIKU)
IF(NOT ASSIMP_HUNTER_ENABLED)
SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
ENDIF()
IF(CMAKE_CXX_COMPILER_VERSION GREATER_EQUAL 13)
MESSAGE(STATUS "GCC13 detected disabling \"-Wdangling-reference\" in Cpp files as it appears to be a false positive")
ADD_COMPILE_OPTIONS("$<$<COMPILE_LANGUAGE:CXX>:-Wno-dangling-reference>")
@ -284,13 +284,13 @@ ELSEIF(MSVC)
ELSE() # msvc
ADD_COMPILE_OPTIONS(/MP /bigobj)
ENDIF()
# disable "elements of array '' will be default initialized" warning on MSVC2013
IF(MSVC12)
ADD_COMPILE_OPTIONS(/wd4351)
ADD_COMPILE_OPTIONS(/wd4351)
ENDIF()
# supress warning for double to float conversion if Double precission is activated
ADD_COMPILE_OPTIONS(/wd4244)
ADD_COMPILE_OPTIONS(/wd4244)
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /D_DEBUG /Zi /Od")
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG:FULL /PDBALTPATH:%_PDB% /OPT:REF /OPT:ICF")
@ -330,7 +330,7 @@ ENDIF()
IF (ASSIMP_COVERALLS)
MESSAGE(STATUS "Coveralls enabled")
INCLUDE(Coveralls)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
@ -338,7 +338,7 @@ ENDIF()
IF (ASSIMP_ASAN)
MESSAGE(STATUS "AddressSanitizer enabled")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
ENDIF()
@ -696,6 +696,9 @@ ELSE()
ENDIF()
ENDIF()
# USD/USDA/USDC/USDZ support
option(ASSIMP_TINYUSDZ_ENABLED "Enable tinyusdz support" OFF)
# Main assimp code
ADD_SUBDIRECTORY( code/ )

View File

@ -905,6 +905,80 @@ SET( Extra_SRCS
)
SOURCE_GROUP( Extra FILES ${Extra_SRCS})
# USD/USDA/USDC/USDZ support
# tinyusdz
IF(ASSIMP_TINYUSDZ_ENABLED)
set(Tinyusdz_SRC_RELPATH "../contrib/tinyusdz/tinyusdz_repo/src")
set(Tinyusdz_SRCS
${Tinyusdz_SRC_RELPATH}/tinyusdz.cc
${Tinyusdz_SRC_RELPATH}/asset-resolution.cc
${Tinyusdz_SRC_RELPATH}/composition.cc
${Tinyusdz_SRC_RELPATH}/prim-types.cc
${Tinyusdz_SRC_RELPATH}/ascii-parser.cc
${Tinyusdz_SRC_RELPATH}/ascii-parser-basetype.cc
${Tinyusdz_SRC_RELPATH}/ascii-parser-timesamples.cc
${Tinyusdz_SRC_RELPATH}/ascii-parser-timesamples-array.cc
${Tinyusdz_SRC_RELPATH}/usda-reader.cc
${Tinyusdz_SRC_RELPATH}/usdc-reader.cc
${Tinyusdz_SRC_RELPATH}/usdc-writer.cc
${Tinyusdz_SRC_RELPATH}/crate-reader.cc
${Tinyusdz_SRC_RELPATH}/crate-format.cc
${Tinyusdz_SRC_RELPATH}/crate-pprint.cc
${Tinyusdz_SRC_RELPATH}/io-util.cc
${Tinyusdz_SRC_RELPATH}/pprinter.cc
${Tinyusdz_SRC_RELPATH}/tiny-format.cc
${Tinyusdz_SRC_RELPATH}/value-types.cc
${Tinyusdz_SRC_RELPATH}/value-pprint.cc
${Tinyusdz_SRC_RELPATH}/primvar.cc
${Tinyusdz_SRC_RELPATH}/prim-reconstruct.cc
${Tinyusdz_SRC_RELPATH}/prim-composition.cc
${Tinyusdz_SRC_RELPATH}/image-loader.cc
${Tinyusdz_SRC_RELPATH}/usda-writer.cc
${Tinyusdz_SRC_RELPATH}/usdGeom.cc
${Tinyusdz_SRC_RELPATH}/usdSkel.cc
${Tinyusdz_SRC_RELPATH}/usdShade.cc
${Tinyusdz_SRC_RELPATH}/usdMtlx.cc
${Tinyusdz_SRC_RELPATH}/usdLux.cc
${Tinyusdz_SRC_RELPATH}/xform.cc
${Tinyusdz_SRC_RELPATH}/stage.cc
${Tinyusdz_SRC_RELPATH}/str-util.cc
${Tinyusdz_SRC_RELPATH}/path-util.cc
${Tinyusdz_SRC_RELPATH}/image-util.cc
${Tinyusdz_SRC_RELPATH}/image-writer.cc
${Tinyusdz_SRC_RELPATH}/linear-algebra.cc
${Tinyusdz_SRC_RELPATH}/tydra/facial.cc
${Tinyusdz_SRC_RELPATH}/tydra/scene-access.cc
${Tinyusdz_SRC_RELPATH}/tydra/render-data.cc
${Tinyusdz_SRC_RELPATH}/tydra/prim-apply.cc
${Tinyusdz_SRC_RELPATH}/tydra/shader-network.cc
)
set(Tinyusdz_DEP_SOURCES
${Tinyusdz_SRC_RELPATH}/integerCoding.cpp
${Tinyusdz_SRC_RELPATH}/lz4-compression.cc
${Tinyusdz_SRC_RELPATH}/lz4/lz4.c
#${Tinyusdz_SRC_RELPATH}/external/string_id/database.cpp
#${Tinyusdz_SRC_RELPATH}/external/string_id/string_id.cpp
#${Tinyusdz_SRC_RELPATH}/external/string_id/error.cpp
${Tinyusdz_SRC_RELPATH}/external/fpng.cpp
#${Tinyusdz_SRC_RELPATH}/external/staticstruct.cc
#${Tinyusdz_SRC_RELPATH}/external/tinyxml2/tinyxml2.cpp
)
set(tinyusdz_INCLUDE_DIRS "../contrib/tinyusdz/tinyusdz_repo/src")
INCLUDE_DIRECTORIES(${tinyusdz_INCLUDE_DIRS})
SOURCE_GROUP( Contrib\\Tinyusdz
FILES
${Tinyusdz_SRCS}
${Tinyusdz_DEP_SOURCES}
)
MESSAGE(STATUS "tinyusdz enabled")
ELSE()
set(Tinyusdz_SRCS "")
set(Tinyusdz_DEP_SOURCES "")
MESSAGE(STATUS "tinyusdz disabled")
ENDIF()
# pugixml
IF(ASSIMP_HUNTER_ENABLED)
hunter_add_package(pugixml)
@ -1155,6 +1229,8 @@ SET( assimp_src
${openddl_parser_SRCS}
${open3dgc_SRCS}
${ziplib_SRCS}
${Tinyusdz_SRCS}
${Tinyusdz_DEP_SOURCES}
${Pugixml_SRCS}
${stb_SRCS}
# Necessary to show the headers in the project when using the VC++ generator: