Disable draco on cmake prior to 3.12

pull/3614/head
RichardTea 2021-01-27 10:18:33 +00:00
parent 6ec32b6b78
commit f6862f9697
1 changed files with 68 additions and 62 deletions

View File

@ -567,73 +567,79 @@ ELSE ()
ADD_DEFINITIONS( -DASSIMP_BUILD_NO_C4D_IMPORTER ) ADD_DEFINITIONS( -DASSIMP_BUILD_NO_C4D_IMPORTER )
ENDIF () ENDIF ()
OPTION ( ASSIMP_BUILD_DRACO "If the Draco libraries are to be built. Primarily for glTF" ON ) # Draco requires cmake 3.12
IF ( ASSIMP_BUILD_DRACO ) IF (DEFINED CMAKE_VERSION AND "${CMAKE_VERSION}" VERSION_LESS "3.12")
# Primarily for glTF v2 message(NOTICE "draco requires cmake 3.12 or newer, cmake is ${CMAKE_VERSION} . Draco is disabled")
# Enable Draco glTF feature set SET ( ASSIMP_BUILD_DRACO OFF CACHE BOOL "Disabled: Draco requires newer cmake" FORCE )
set(DRACO_GLTF ON CACHE BOOL "" FORCE) ELSE()
# Disable unnecessary or omitted components OPTION ( ASSIMP_BUILD_DRACO "If the Draco libraries are to be built. Primarily for glTF" ON )
set(DRACO_JS_GLUE OFF CACHE BOOL "" FORCE) IF ( ASSIMP_BUILD_DRACO )
set(DRACO_WASM OFF CACHE BOOL "" FORCE) # Primarily for glTF v2
set(DRACO_MAYA_PLUGIN OFF CACHE BOOL "" FORCE) # Enable Draco glTF feature set
set(DRACO_UNITY_PLUGIN OFF CACHE BOOL "" FORCE) set(DRACO_GLTF ON CACHE BOOL "" FORCE)
set(DRACO_TESTS OFF CACHE BOOL "" FORCE) # Disable unnecessary or omitted components
set(DRACO_JS_GLUE OFF CACHE BOOL "" FORCE)
IF(ASSIMP_HUNTER_ENABLED) set(DRACO_WASM OFF CACHE BOOL "" FORCE)
# hunter is untested set(DRACO_MAYA_PLUGIN OFF CACHE BOOL "" FORCE)
hunter_add_package(draco) set(DRACO_UNITY_PLUGIN OFF CACHE BOOL "" FORCE)
find_package(draco CONFIG REQUIRED) set(DRACO_TESTS OFF CACHE BOOL "" FORCE)
ELSE()
# Draco 1.4.1 has many warnings and will not build with /WX or -Werror IF(ASSIMP_HUNTER_ENABLED)
# See https://github.com/google/draco/issues/672 # hunter is untested
# and https://github.com/google/draco/issues/673 hunter_add_package(draco)
IF(MSVC) find_package(draco CONFIG REQUIRED)
set(DRACO_CXX_FLAGS "/W0")
ELSE() ELSE()
list(APPEND DRACO_CXX_FLAGS # Draco 1.4.1 has many warnings and will not build with /WX or -Werror
"-Wno-bool-compare" # See https://github.com/google/draco/issues/672
"-Wno-comment" # and https://github.com/google/draco/issues/673
"-Wno-maybe-uninitialized" IF(MSVC)
"-Wno-sign-compare" set(DRACO_CXX_FLAGS "/W0")
"-Wno-unused-local-typedefs" ELSE()
) list(APPEND DRACO_CXX_FLAGS
ENDIF() "-Wno-bool-compare"
"-Wno-comment"
ADD_SUBDIRECTORY( "contrib/draco" ) "-Wno-maybe-uninitialized"
"-Wno-sign-compare"
"-Wno-unused-local-typedefs"
)
ENDIF()
ADD_SUBDIRECTORY( "contrib/draco" )
if(MSVC OR WIN32) if(MSVC OR WIN32)
set(draco_LIBRARIES "draco") set(draco_LIBRARIES "draco")
else()
if(BUILD_SHARED_LIBS)
set(draco_LIBRARIES "draco_shared")
else() else()
set(draco_LIBRARIES "draco_static") if(BUILD_SHARED_LIBS)
set(draco_LIBRARIES "draco_shared")
else()
set(draco_LIBRARIES "draco_static")
endif()
endif() endif()
endif()
# Don't build the draco command-line tools by default
# Don't build the draco command-line tools by default set_target_properties(draco_encoder draco_decoder PROPERTIES
set_target_properties(draco_encoder draco_decoder PROPERTIES EXCLUDE_FROM_ALL TRUE
EXCLUDE_FROM_ALL TRUE EXCLUDE_FROM_DEFAULT_BUILD TRUE
EXCLUDE_FROM_DEFAULT_BUILD TRUE )
)
TARGET_USE_COMMON_OUTPUT_DIRECTORY(${draco_LIBRARIES})
TARGET_USE_COMMON_OUTPUT_DIRECTORY(${draco_LIBRARIES}) TARGET_USE_COMMON_OUTPUT_DIRECTORY(draco_encoder)
TARGET_USE_COMMON_OUTPUT_DIRECTORY(draco_encoder) TARGET_USE_COMMON_OUTPUT_DIRECTORY(draco_decoder)
TARGET_USE_COMMON_OUTPUT_DIRECTORY(draco_decoder)
set(draco_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/contrib/draco/src")
set(draco_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/contrib/draco/src")
# This is probably wrong
# This is probably wrong INSTALL( TARGETS ${draco_LIBRARIES}
INSTALL( TARGETS ${draco_LIBRARIES} EXPORT "${TARGETS_EXPORT_NAME}"
EXPORT "${TARGETS_EXPORT_NAME}" LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR} ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR} RUNTIME DESTINATION ${ASSIMP_BIN_INSTALL_DIR}
RUNTIME DESTINATION ${ASSIMP_BIN_INSTALL_DIR} FRAMEWORK DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
FRAMEWORK DESTINATION ${ASSIMP_LIB_INSTALL_DIR} COMPONENT ${LIBASSIMP_COMPONENT}
COMPONENT ${LIBASSIMP_COMPONENT} INCLUDES DESTINATION include
INCLUDES DESTINATION include )
)
ENDIF()
ENDIF() ENDIF()
ENDIF() ENDIF()