123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955 |
- # Open Asset Import Library (assimp)
- # ----------------------------------------------------------------------
- #
- # Copyright (c) 2006-2016, assimp team
- # All rights reserved.
- #
- # Redistribution and use of this software in source and binary forms,
- # with or without modification, are permitted provided that the
- # following conditions are met:
- #
- # * Redistributions of source code must retain the above
- # copyright notice, this list of conditions and the
- # following disclaimer.
- #
- # * Redistributions in binary form must reproduce the above
- # copyright notice, this list of conditions and the
- # following disclaimer in the documentation and/or other
- # materials provided with the distribution.
- #
- # * Neither the name of the assimp team, nor the names of its
- # contributors may be used to endorse or promote products
- # derived from this software without specific prior
- # written permission of the assimp team.
- #
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- #
- #----------------------------------------------------------------------
- # Listing and grouping of all the source files.
- # 1) Set the file lists for each component
- # 2) Create a Source Group for each component, for IDE project orginization
- # 3) Add libassimp using the file lists (eliminates duplication of file names between
- # source groups and library command)
- #
- cmake_minimum_required( VERSION 2.6 )
- SET( HEADER_PATH ../include/assimp )
- SET( COMPILER_HEADERS
- ${HEADER_PATH}/Compiler/pushpack1.h
- ${HEADER_PATH}/Compiler/poppack1.h
- ${HEADER_PATH}/Compiler/pstdint.h
- )
- SOURCE_GROUP( Compiler FILES ${COMPILER_HEADERS})
- SET( PUBLIC_HEADERS
- ${HEADER_PATH}/anim.h
- ${HEADER_PATH}/ai_assert.h
- ${HEADER_PATH}/camera.h
- ${HEADER_PATH}/color4.h
- ${HEADER_PATH}/color4.inl
- ${HEADER_PATH}/config.h
- ${HEADER_PATH}/defs.h
- ${HEADER_PATH}/cfileio.h
- ${HEADER_PATH}/light.h
- ${HEADER_PATH}/material.h
- ${HEADER_PATH}/material.inl
- ${HEADER_PATH}/matrix3x3.h
- ${HEADER_PATH}/matrix3x3.inl
- ${HEADER_PATH}/matrix4x4.h
- ${HEADER_PATH}/matrix4x4.inl
- ${HEADER_PATH}/mesh.h
- ${HEADER_PATH}/postprocess.h
- ${HEADER_PATH}/quaternion.h
- ${HEADER_PATH}/quaternion.inl
- ${HEADER_PATH}/scene.h
- ${HEADER_PATH}/metadata.h
- ${HEADER_PATH}/texture.h
- ${HEADER_PATH}/types.h
- ${HEADER_PATH}/vector2.h
- ${HEADER_PATH}/vector2.inl
- ${HEADER_PATH}/vector3.h
- ${HEADER_PATH}/vector3.inl
- ${HEADER_PATH}/version.h
- ${HEADER_PATH}/cimport.h
- ${HEADER_PATH}/importerdesc.h
- ${HEADER_PATH}/Importer.hpp
- ${HEADER_PATH}/DefaultLogger.hpp
- ${HEADER_PATH}/ProgressHandler.hpp
- ${HEADER_PATH}/IOStream.hpp
- ${HEADER_PATH}/IOSystem.hpp
- ${HEADER_PATH}/Logger.hpp
- ${HEADER_PATH}/LogStream.hpp
- ${HEADER_PATH}/NullLogger.hpp
- ${HEADER_PATH}/cexport.h
- ${HEADER_PATH}/Exporter.hpp
- )
- SET( Core_SRCS
- Assimp.cpp
- )
- SET( Logging_SRCS
- ${HEADER_PATH}/DefaultLogger.hpp
- ${HEADER_PATH}/LogStream.hpp
- ${HEADER_PATH}/Logger.hpp
- ${HEADER_PATH}/NullLogger.hpp
- Win32DebugLogStream.h
- DefaultLogger.cpp
- FileLogStream.h
- StdOStreamLogStream.h
- )
- SOURCE_GROUP(Logging FILES ${Logging_SRCS})
- SET( Common_SRCS
- fast_atof.h
- qnan.h
- BaseImporter.cpp
- BaseImporter.h
- BaseProcess.cpp
- BaseProcess.h
- Importer.h
- ScenePrivate.h
- PostStepRegistry.cpp
- ImporterRegistry.cpp
- ByteSwapper.h
- DefaultProgressHandler.h
- DefaultIOStream.cpp
- DefaultIOStream.h
- DefaultIOSystem.cpp
- DefaultIOSystem.h
- CInterfaceIOWrapper.cpp
- CInterfaceIOWrapper.h
- Hash.h
- Importer.cpp
- IFF.h
- MemoryIOWrapper.h
- ParsingUtils.h
- StreamReader.h
- StreamWriter.h
- StringComparison.h
- StringUtils.h
- SGSpatialSort.cpp
- SGSpatialSort.h
- VertexTriangleAdjacency.cpp
- VertexTriangleAdjacency.h
- GenericProperty.h
- SpatialSort.cpp
- SpatialSort.h
- SceneCombiner.cpp
- SceneCombiner.h
- ScenePreprocessor.cpp
- ScenePreprocessor.h
- SkeletonMeshBuilder.cpp
- SkeletonMeshBuilder.h
- SplitByBoneCountProcess.cpp
- SplitByBoneCountProcess.h
- SmoothingGroups.h
- StandardShapes.cpp
- StandardShapes.h
- TargetAnimation.cpp
- TargetAnimation.h
- RemoveComments.cpp
- RemoveComments.h
- Subdivision.cpp
- Subdivision.h
- scene.cpp
- Vertex.h
- LineSplitter.h
- TinyFormatter.h
- Profiler.h
- LogAux.h
- Bitmap.cpp
- Bitmap.h
- XMLTools.h
- Version.cpp
- IOStreamBuffer.h
- CreateAnimMesh.h
- CreateAnimMesh.cpp
- )
- SOURCE_GROUP(Common FILES ${Common_SRCS})
- IF ( ASSIMP_BUILD_NONFREE_C4D_IMPORTER )
- SET( C4D_SRCS
- C4DImporter.cpp
- C4DImporter.h
- )
- SOURCE_GROUP( C4D FILES ${C4D_SRCS})
- ENDIF ( ASSIMP_BUILD_NONFREE_C4D_IMPORTER )
- # if this variable is set to TRUE, the user can manually disable importers by setting
- # ASSIMP_BUILD_XXX_IMPORTER to FALSE for each importer
- # if this variable is set to FALSE, the user can manually enable importers by setting
- # ASSIMP_BUILD_XXX_IMPORTER to TRUE for each importer
- OPTION(ASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT "default value of all ASSIMP_BUILD_XXX_IMPORTER value" TRUE)
- # macro to add the CMake Option ADD_ASSIMP_IMPORTER_<name> which enables compile of loader
- # this way selective loaders can be compiled (reduces filesize + compile time)
- MACRO(ADD_ASSIMP_IMPORTER name)
- OPTION(ASSIMP_BUILD_${name}_IMPORTER "build the ${name} importer" ${ASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT})
- IF(ASSIMP_BUILD_${name}_IMPORTER)
- LIST(APPEND ASSIMP_LOADER_SRCS ${ARGN})
- SET(ASSIMP_IMPORTERS_ENABLED "${ASSIMP_IMPORTERS_ENABLED} ${name}")
- SET(${name}_SRCS ${ARGN})
- SOURCE_GROUP(${name} FILES ${ARGN})
- ELSE()
- SET(${name}_SRC "")
- SET(ASSIMP_IMPORTERS_DISABLED "${ASSIMP_IMPORTERS_DISABLED} ${name}")
- add_definitions(-DASSIMP_BUILD_NO_${name}_IMPORTER)
- add_definitions(-DASSIMP_BUILD_NO_${name}_EXPORTER)
- ENDIF()
- ENDMACRO()
- SET(ASSIMP_LOADER_SRCS "")
- SET(ASSIMP_IMPORTERS_ENABLED "") # list of enabled importers
- SET(ASSIMP_IMPORTERS_DISABLED "") # disabled list (used to print)
- ADD_ASSIMP_IMPORTER( AMF
- AMFImporter.hpp
- AMFImporter_Macro.hpp
- AMFImporter_Node.hpp
- AMFImporter.cpp
- AMFImporter_Geometry.cpp
- AMFImporter_Material.cpp
- AMFImporter_Postprocess.cpp
- )
- ADD_ASSIMP_IMPORTER( 3DS
- 3DSConverter.cpp
- 3DSHelper.h
- 3DSLoader.cpp
- 3DSLoader.h
- 3DSExporter.h
- 3DSExporter.cpp
- )
- ADD_ASSIMP_IMPORTER( AC
- ACLoader.cpp
- ACLoader.h
- )
- ADD_ASSIMP_IMPORTER( ASE
- ASELoader.cpp
- ASELoader.h
- ASEParser.cpp
- ASEParser.h
- )
- ADD_ASSIMP_IMPORTER( ASSBIN
- AssbinExporter.h
- AssbinExporter.cpp
- AssbinLoader.h
- AssbinLoader.cpp
- )
- ADD_ASSIMP_IMPORTER( ASSXML
- AssxmlExporter.h
- AssxmlExporter.cpp
- )
- ADD_ASSIMP_IMPORTER( B3D
- B3DImporter.cpp
- B3DImporter.h
- )
- ADD_ASSIMP_IMPORTER( BVH
- BVHLoader.cpp
- BVHLoader.h
- )
- ADD_ASSIMP_IMPORTER( COLLADA
- ColladaHelper.h
- ColladaLoader.cpp
- ColladaLoader.h
- ColladaParser.cpp
- ColladaParser.h
- ColladaExporter.h
- ColladaExporter.cpp
- )
- ADD_ASSIMP_IMPORTER( DXF
- DXFLoader.cpp
- DXFLoader.h
- DXFHelper.h
- )
- ADD_ASSIMP_IMPORTER( CSM
- CSMLoader.cpp
- CSMLoader.h
- )
- ADD_ASSIMP_IMPORTER( HMP
- HMPFileData.h
- HMPLoader.cpp
- HMPLoader.h
- HalfLifeFileData.h
- )
- ADD_ASSIMP_IMPORTER( IRRMESH
- IRRMeshLoader.cpp
- IRRMeshLoader.h
- IRRShared.cpp
- IRRShared.h
- )
- ADD_ASSIMP_IMPORTER( IRR
- IRRLoader.cpp
- IRRLoader.h
- IRRShared.cpp
- IRRShared.h
- )
- ADD_ASSIMP_IMPORTER( LWO
- LWOAnimation.cpp
- LWOAnimation.h
- LWOBLoader.cpp
- LWOFileData.h
- LWOLoader.cpp
- LWOLoader.h
- LWOMaterial.cpp
- )
- ADD_ASSIMP_IMPORTER( LWS
- LWSLoader.cpp
- LWSLoader.h
- )
- ADD_ASSIMP_IMPORTER( MD2
- MD2FileData.h
- MD2Loader.cpp
- MD2Loader.h
- MD2NormalTable.h
- )
- ADD_ASSIMP_IMPORTER( MD3
- MD3FileData.h
- MD3Loader.cpp
- MD3Loader.h
- )
- ADD_ASSIMP_IMPORTER( MD5
- MD5Loader.cpp
- MD5Loader.h
- MD5Parser.cpp
- MD5Parser.h
- )
- ADD_ASSIMP_IMPORTER( MDC
- MDCFileData.h
- MDCLoader.cpp
- MDCLoader.h
- MDCNormalTable.h
- )
- ADD_ASSIMP_IMPORTER( MDL
- MDLDefaultColorMap.h
- MDLFileData.h
- MDLLoader.cpp
- MDLLoader.h
- MDLMaterialLoader.cpp
- )
- SET( MaterialSystem_SRCS
- MaterialSystem.cpp
- MaterialSystem.h
- )
- SOURCE_GROUP( MaterialSystem FILES ${MaterialSystem_SRCS})
- ADD_ASSIMP_IMPORTER( NFF
- NFFLoader.cpp
- NFFLoader.h
- )
- ADD_ASSIMP_IMPORTER( NDO
- NDOLoader.cpp
- NDOLoader.h
- )
- ADD_ASSIMP_IMPORTER( OFF
- OFFLoader.cpp
- OFFLoader.h
- )
- ADD_ASSIMP_IMPORTER( OBJ
- ObjFileData.h
- ObjFileImporter.cpp
- ObjFileImporter.h
- ObjFileMtlImporter.cpp
- ObjFileMtlImporter.h
- ObjFileParser.cpp
- ObjFileParser.h
- ObjTools.h
- ObjExporter.h
- ObjExporter.cpp
- )
- ADD_ASSIMP_IMPORTER( OGRE
- OgreImporter.h
- OgreStructs.h
- OgreParsingUtils.h
- OgreBinarySerializer.h
- OgreXmlSerializer.h
- OgreImporter.cpp
- OgreStructs.cpp
- OgreBinarySerializer.cpp
- OgreXmlSerializer.cpp
- OgreMaterial.cpp
- )
- ADD_ASSIMP_IMPORTER( OPENGEX
- OpenGEXExporter.cpp
- OpenGEXExporter.h
- OpenGEXImporter.cpp
- OpenGEXImporter.h
- OpenGEXStructs.h
- )
- ADD_ASSIMP_IMPORTER( PLY
- PlyLoader.cpp
- PlyLoader.h
- PlyParser.cpp
- PlyParser.h
- PlyExporter.cpp
- PlyExporter.h
- )
- ADD_ASSIMP_IMPORTER( MS3D
- MS3DLoader.cpp
- MS3DLoader.h
- )
- ADD_ASSIMP_IMPORTER( COB
- COBLoader.cpp
- COBLoader.h
- COBScene.h
- )
- ADD_ASSIMP_IMPORTER( BLEND
- BlenderLoader.cpp
- BlenderLoader.h
- BlenderDNA.cpp
- BlenderDNA.h
- BlenderDNA.inl
- BlenderScene.cpp
- BlenderScene.h
- BlenderSceneGen.h
- BlenderIntermediate.h
- BlenderModifier.h
- BlenderModifier.cpp
- BlenderBMesh.h
- BlenderBMesh.cpp
- BlenderTessellator.h
- BlenderTessellator.cpp
- )
- ADD_ASSIMP_IMPORTER( IFC
- IFCLoader.cpp
- IFCLoader.h
- IFCReaderGen1.cpp
- IFCReaderGen2.cpp
- IFCReaderGen.h
- IFCUtil.h
- IFCUtil.cpp
- IFCGeometry.cpp
- IFCMaterial.cpp
- IFCProfile.cpp
- IFCCurve.cpp
- IFCBoolean.cpp
- IFCOpenings.cpp
- STEPFile.h
- STEPFileReader.h
- STEPFileReader.cpp
- STEPFileEncoding.cpp
- STEPFileEncoding.h
- )
- if (ASSIMP_BUILD_IFC_IMPORTER)
- if (MSVC)
- set_source_files_properties(IFCReaderGen1.cpp IFCReaderGen2.cpp PROPERTIES COMPILE_FLAGS "/bigobj")
- elseif(CMAKE_COMPILER_IS_MINGW)
- set_source_files_properties(IFCReaderGen1.cpp IFCReaderGen2.cpp PROPERTIES COMPILE_FLAGS "-O2 -Wa,-mbig-obj")
- endif()
- endif (ASSIMP_BUILD_IFC_IMPORTER)
- ADD_ASSIMP_IMPORTER( XGL
- XGLLoader.cpp
- XGLLoader.h
- )
- ADD_ASSIMP_IMPORTER( FBX
- FBXImporter.cpp
- FBXCompileConfig.h
- FBXImporter.h
- FBXParser.cpp
- FBXParser.h
- FBXTokenizer.cpp
- FBXTokenizer.h
- FBXImportSettings.h
- FBXConverter.h
- FBXConverter.cpp
- FBXUtil.h
- FBXUtil.cpp
- FBXDocument.h
- FBXDocument.cpp
- FBXProperties.h
- FBXProperties.cpp
- FBXMeshGeometry.h
- FBXMeshGeometry.cpp
- FBXMaterial.cpp
- FBXModel.cpp
- FBXAnimation.cpp
- FBXNodeAttribute.cpp
- FBXDeformer.cpp
- FBXBinaryTokenizer.cpp
- FBXDocumentUtil.cpp
- )
- SET( PostProcessing_SRCS
- CalcTangentsProcess.cpp
- CalcTangentsProcess.h
- ComputeUVMappingProcess.cpp
- ComputeUVMappingProcess.h
- ConvertToLHProcess.cpp
- ConvertToLHProcess.h
- FindDegenerates.cpp
- FindDegenerates.h
- FindInstancesProcess.cpp
- FindInstancesProcess.h
- FindInvalidDataProcess.cpp
- FindInvalidDataProcess.h
- FixNormalsStep.cpp
- FixNormalsStep.h
- GenFaceNormalsProcess.cpp
- GenFaceNormalsProcess.h
- GenVertexNormalsProcess.cpp
- GenVertexNormalsProcess.h
- PretransformVertices.cpp
- PretransformVertices.h
- ImproveCacheLocality.cpp
- ImproveCacheLocality.h
- JoinVerticesProcess.cpp
- JoinVerticesProcess.h
- LimitBoneWeightsProcess.cpp
- LimitBoneWeightsProcess.h
- RemoveRedundantMaterials.cpp
- RemoveRedundantMaterials.h
- RemoveVCProcess.cpp
- RemoveVCProcess.h
- SortByPTypeProcess.cpp
- SortByPTypeProcess.h
- SplitLargeMeshes.cpp
- SplitLargeMeshes.h
- TextureTransform.cpp
- TextureTransform.h
- TriangulateProcess.cpp
- TriangulateProcess.h
- ValidateDataStructure.cpp
- ValidateDataStructure.h
- OptimizeGraph.cpp
- OptimizeGraph.h
- OptimizeMeshes.cpp
- OptimizeMeshes.h
- DeboneProcess.cpp
- DeboneProcess.h
- ProcessHelper.h
- ProcessHelper.cpp
- PolyTools.h
- MakeVerboseFormat.cpp
- MakeVerboseFormat.h
- )
- SOURCE_GROUP( PostProcessing FILES ${PostProcessing_SRCS})
- ADD_ASSIMP_IMPORTER( Q3D
- Q3DLoader.cpp
- Q3DLoader.h
- )
- ADD_ASSIMP_IMPORTER( Q3BSP
- Q3BSPFileData.h
- Q3BSPFileParser.h
- Q3BSPFileParser.cpp
- Q3BSPFileImporter.h
- Q3BSPFileImporter.cpp
- Q3BSPZipArchive.h
- Q3BSPZipArchive.cpp
- )
- ADD_ASSIMP_IMPORTER( RAW
- RawLoader.cpp
- RawLoader.h
- )
- ADD_ASSIMP_IMPORTER( SIB
- SIBImporter.cpp
- SIBImporter.h
- )
- ADD_ASSIMP_IMPORTER( SMD
- SMDLoader.cpp
- SMDLoader.h
- )
- ADD_ASSIMP_IMPORTER( STL
- STLLoader.cpp
- STLLoader.h
- STLExporter.h
- STLExporter.cpp
- )
- ADD_ASSIMP_IMPORTER( TERRAGEN
- TerragenLoader.cpp
- TerragenLoader.h
- )
- ADD_ASSIMP_IMPORTER( 3D
- UnrealLoader.cpp
- UnrealLoader.h
- )
- ADD_ASSIMP_IMPORTER( X
- XFileHelper.h
- XFileImporter.cpp
- XFileImporter.h
- XFileParser.cpp
- XFileParser.h
- XFileExporter.h
- XFileExporter.cpp
- )
- ADD_ASSIMP_IMPORTER(X3D
- X3DExporter.cpp
- X3DExporter.hpp
- X3DImporter.cpp
- X3DImporter.hpp
- X3DImporter_Geometry2D.cpp
- X3DImporter_Geometry3D.cpp
- X3DImporter_Group.cpp
- X3DImporter_Light.cpp
- X3DImporter_Macro.hpp
- X3DImporter_Metadata.cpp
- X3DImporter_Networking.cpp
- X3DImporter_Node.hpp
- X3DImporter_Postprocess.cpp
- X3DImporter_Rendering.cpp
- X3DImporter_Shape.cpp
- X3DImporter_Texturing.cpp
- )
- ADD_ASSIMP_IMPORTER( GLTF
- glTFAsset.h
- glTFAsset.inl
- glTFAssetWriter.h
- glTFAssetWriter.inl
- glTFImporter.cpp
- glTFImporter.h
- glTFExporter.h
- glTFExporter.cpp
- )
- ADD_ASSIMP_IMPORTER( 3MF
- D3MFImporter.h
- D3MFImporter.cpp
- D3MFOpcPackage.h
- D3MFOpcPackage.cpp
- )
- SET( Step_SRCS
- StepExporter.h
- StepExporter.cpp
- )
- SOURCE_GROUP( Step FILES ${Step_SRCS})
- SET( Exporter_SRCS
- Exporter.cpp
- AssimpCExport.cpp
- BlobIOSystem.h
- )
- SOURCE_GROUP( Exporter FILES ${Exporter_SRCS})
- SET( Extra_SRCS
- MD4FileData.h
- )
- SOURCE_GROUP( Extra FILES ${Extra_SRCS})
- SET( IrrXML_SRCS
- irrXMLWrapper.h
- ../contrib/irrXML/CXMLReaderImpl.h
- ../contrib/irrXML/heapsort.h
- ../contrib/irrXML/irrArray.h
- ../contrib/irrXML/irrString.h
- ../contrib/irrXML/irrTypes.h
- ../contrib/irrXML/irrXML.cpp
- ../contrib/irrXML/irrXML.h
- )
- SOURCE_GROUP( IrrXML FILES ${IrrXML_SRCS})
- SET( ConvertUTF_SRCS
- ../contrib/ConvertUTF/ConvertUTF.h
- ../contrib/ConvertUTF/ConvertUTF.c
- )
- SOURCE_GROUP( ConvertUTF FILES ${ConvertUTF_SRCS})
- SET( Clipper_SRCS
- ../contrib/clipper/clipper.hpp
- ../contrib/clipper/clipper.cpp
- )
- SOURCE_GROUP( Clipper FILES ${Clipper_SRCS})
- SET( Poly2Tri_SRCS
- ../contrib/poly2tri/poly2tri/common/shapes.cc
- ../contrib/poly2tri/poly2tri/common/shapes.h
- ../contrib/poly2tri/poly2tri/common/utils.h
- ../contrib/poly2tri/poly2tri/sweep/advancing_front.h
- ../contrib/poly2tri/poly2tri/sweep/advancing_front.cc
- ../contrib/poly2tri/poly2tri/sweep/cdt.cc
- ../contrib/poly2tri/poly2tri/sweep/cdt.h
- ../contrib/poly2tri/poly2tri/sweep/sweep.cc
- ../contrib/poly2tri/poly2tri/sweep/sweep.h
- ../contrib/poly2tri/poly2tri/sweep/sweep_context.cc
- ../contrib/poly2tri/poly2tri/sweep/sweep_context.h
- )
- SOURCE_GROUP( Poly2Tri FILES ${Poly2Tri_SRCS})
- SET( unzip_SRCS
- ../contrib/unzip/crypt.h
- ../contrib/unzip/ioapi.c
- ../contrib/unzip/ioapi.h
- ../contrib/unzip/unzip.c
- ../contrib/unzip/unzip.h
- )
- SOURCE_GROUP( unzip FILES ${unzip_SRCS})
- SET ( openddl_parser_SRCS
- ../contrib/openddlparser/code/OpenDDLParser.cpp
- ../contrib/openddlparser/code/DDLNode.cpp
- ../contrib/openddlparser/code/OpenDDLCommon.cpp
- ../contrib/openddlparser/code/OpenDDLExport.cpp
- ../contrib/openddlparser/code/Value.cpp
- ../contrib/openddlparser/include/openddlparser/OpenDDLParser.h
- ../contrib/openddlparser/include/openddlparser/OpenDDLParserUtils.h
- ../contrib/openddlparser/include/openddlparser/OpenDDLCommon.h
- ../contrib/openddlparser/include/openddlparser/OpenDDLExport.h
- ../contrib/openddlparser/include/openddlparser/DDLNode.h
- ../contrib/openddlparser/include/openddlparser/Value.h
- )
- SOURCE_GROUP( openddl_parser FILES ${openddl_parser_SRCS})
- SET ( open3dgc_SRCS
- ../contrib/Open3DGC/o3dgcAdjacencyInfo.h
- ../contrib/Open3DGC/o3dgcArithmeticCodec.cpp
- ../contrib/Open3DGC/o3dgcArithmeticCodec.h
- ../contrib/Open3DGC/o3dgcBinaryStream.h
- ../contrib/Open3DGC/o3dgcCommon.h
- ../contrib/Open3DGC/o3dgcDVEncodeParams.h
- ../contrib/Open3DGC/o3dgcDynamicVectorDecoder.cpp
- ../contrib/Open3DGC/o3dgcDynamicVectorDecoder.h
- ../contrib/Open3DGC/o3dgcDynamicVectorEncoder.cpp
- ../contrib/Open3DGC/o3dgcDynamicVectorEncoder.h
- ../contrib/Open3DGC/o3dgcDynamicVector.h
- ../contrib/Open3DGC/o3dgcFIFO.h
- ../contrib/Open3DGC/o3dgcIndexedFaceSet.h
- ../contrib/Open3DGC/o3dgcIndexedFaceSet.inl
- ../contrib/Open3DGC/o3dgcSC3DMCDecoder.h
- ../contrib/Open3DGC/o3dgcSC3DMCDecoder.inl
- ../contrib/Open3DGC/o3dgcSC3DMCEncodeParams.h
- ../contrib/Open3DGC/o3dgcSC3DMCEncoder.h
- ../contrib/Open3DGC/o3dgcSC3DMCEncoder.inl
- ../contrib/Open3DGC/o3dgcTimer.h
- ../contrib/Open3DGC/o3dgcTools.cpp
- ../contrib/Open3DGC/o3dgcTriangleFans.cpp
- ../contrib/Open3DGC/o3dgcTriangleFans.h
- ../contrib/Open3DGC/o3dgcTriangleListDecoder.h
- ../contrib/Open3DGC/o3dgcTriangleListDecoder.inl
- ../contrib/Open3DGC/o3dgcTriangleListEncoder.h
- ../contrib/Open3DGC/o3dgcTriangleListEncoder.inl
- ../contrib/Open3DGC/o3dgcVector.h
- ../contrib/Open3DGC/o3dgcVector.inl
- )
- SOURCE_GROUP( open3dgc FILES ${open3dgc_SRCS})
- # Check dependencies for glTF importer with Open3DGC-compression.
- # RT-extensions is used in "contrib/Open3DGC/o3dgcTimer.h" for collecting statistics. Pointed file
- # has implementation for different platforms: WIN32, __MACH__ and other ("else" block).
- FIND_PACKAGE(RT QUIET)
- IF (RT_FOUND OR MSVC)
- SET( ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC 1 )
- ADD_DEFINITIONS( -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 )
- ELSE ()
- SET (open3dgc_SRCS "")
- MESSAGE (INFO " RT-extension not found. glTF import/export will be built without Open3DGC-compression.")
- #!TODO: off course is better to remove statistics timers from o3dgc codec. Or propose to choose what to use.
- ENDIF ()
- INCLUDE_DIRECTORIES( "../contrib/rapidjson/include" )
- INCLUDE_DIRECTORIES( "../contrib" )
- # VC2010 fixes
- if(MSVC10)
- option( VC10_STDINT_FIX "Fix for VC10 Compiler regarding pstdint.h redefinition errors" OFF )
- if( VC10_STDINT_FIX )
- ADD_DEFINITIONS( -D_STDINT )
- endif( VC10_STDINT_FIX )
- endif(MSVC10)
- ADD_DEFINITIONS( -DASSIMP_BUILD_DLL_EXPORT )
- if ( MSVC )
- ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS )
- ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS )
- endif ( MSVC )
- if (UNZIP_FOUND)
- SET (unzip_compile_SRCS "")
- else (UNZIP_FOUND)
- SET (unzip_compile_SRCS ${unzip_SRCS})
- INCLUDE_DIRECTORIES( "../contrib/unzip/" )
- endif (UNZIP_FOUND)
- MESSAGE(STATUS "Enabled formats:${ASSIMP_IMPORTERS_ENABLED}")
- MESSAGE(STATUS "Disabled formats:${ASSIMP_IMPORTERS_DISABLED}")
- SET( assimp_src
- # Assimp Files
- ${Core_SRCS}
- ${Common_SRCS}
- ${Logging_SRCS}
- ${Exporter_SRCS}
- ${PostProcessing_SRCS}
- ${MaterialSystem_SRCS}
- ${Step_SRCS}
- # Model Support
- ${ASSIMP_LOADER_SRCS}
- # Third-party libraries
- ${IrrXML_SRCS}
- ${ConvertUTF_SRCS}
- ${unzip_compile_SRCS}
- ${Poly2Tri_SRCS}
- ${Clipper_SRCS}
- ${openddl_parser_SRCS}
- ${open3dgc_SRCS}
- # Necessary to show the headers in the project when using the VC++ generator:
- ${PUBLIC_HEADERS}
- ${COMPILER_HEADERS}
- )
- ADD_DEFINITIONS( -DOPENDDLPARSER_BUILD )
- INCLUDE_DIRECTORIES(
- ../contrib/openddlparser/include
- )
- IF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
- SET( assimp_src ${assimp_src} ${C4D_SRCS})
- INCLUDE_DIRECTORIES(${C4D_INCLUDES})
- ENDIF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
- ADD_LIBRARY( assimp ${assimp_src} )
- TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES} )
- if(ANDROID AND ASSIMP_ANDROID_JNIIOSYSTEM)
- set(ASSIMP_ANDROID_JNIIOSYSTEM_PATH port/AndroidJNI)
- add_subdirectory(../${ASSIMP_ANDROID_JNIIOSYSTEM_PATH}/ ../${ASSIMP_ANDROID_JNIIOSYSTEM_PATH}/)
- target_link_libraries(assimp android_jniiosystem)
- endif(ANDROID AND ASSIMP_ANDROID_JNIIOSYSTEM)
- IF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
- TARGET_LINK_LIBRARIES(assimp optimized ${C4D_RELEASE_LIBRARIES})
- TARGET_LINK_LIBRARIES(assimp debug ${C4D_DEBUG_LIBRARIES})
- TARGET_LINK_LIBRARIES(assimp ${C4D_EXTRA_LIBRARIES})
- ENDIF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
- if( MSVC )
- # in order to prevent DLL hell, each of the DLLs have to be suffixed with the major version and msvc prefix
- if( MSVC70 OR MSVC71 )
- set(MSVC_PREFIX "vc70")
- elseif( MSVC80 )
- set(MSVC_PREFIX "vc80")
- elseif( MSVC90 )
- set(MSVC_PREFIX "vc90")
- elseif( MSVC10 )
- set(MSVC_PREFIX "vc100")
- elseif( MSVC11 )
- set(MSVC_PREFIX "vc110")
- elseif( MSVC12 )
- set(MSVC_PREFIX "vc120")
- elseif( MSVC14 )
- set(MSVC_PREFIX "vc140")
- else()
- set(MSVC_PREFIX "vc150")
- endif()
- set(LIBRARY_SUFFIX "${ASSIMP_LIBRARY_SUFFIX}-${MSVC_PREFIX}-mt" CACHE STRING "the suffix for the assimp windows library")
- endif()
- SET_TARGET_PROPERTIES( assimp PROPERTIES
- VERSION ${ASSIMP_VERSION}
- SOVERSION ${ASSIMP_SOVERSION} # use full version
- OUTPUT_NAME assimp${LIBRARY_SUFFIX}
- )
- if (APPLE)
- SET_TARGET_PROPERTIES( assimp PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${ASSIMP_LIB_INSTALL_DIR}")
- endif()
- # Build against external unzip, or add ../contrib/unzip so
- # assimp can #include "unzip.h"
- if (UNZIP_FOUND)
- INCLUDE_DIRECTORIES(${UNZIP_INCLUDE_DIRS})
- TARGET_LINK_LIBRARIES(assimp ${UNZIP_LIBRARIES})
- else (UNZIP_FOUND)
- INCLUDE_DIRECTORIES("../")
- endif (UNZIP_FOUND)
- # Add RT-extension library for glTF importer with Open3DGC-compression.
- IF (RT_FOUND AND ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC)
- TARGET_LINK_LIBRARIES(assimp ${RT_LIBRARY})
- ENDIF (RT_FOUND AND ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC)
- INSTALL( TARGETS assimp
- LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
- ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
- RUNTIME DESTINATION ${ASSIMP_BIN_INSTALL_DIR}
- COMPONENT ${LIBASSIMP_COMPONENT})
- INSTALL( FILES ${PUBLIC_HEADERS} DESTINATION ${ASSIMP_INCLUDE_INSTALL_DIR}/assimp COMPONENT assimp-dev)
- INSTALL( FILES ${COMPILER_HEADERS} DESTINATION ${ASSIMP_INCLUDE_INSTALL_DIR}/assimp/Compiler COMPONENT assimp-dev)
- if (ASSIMP_ANDROID_JNIIOSYSTEM)
- INSTALL(FILES ${HEADER_PATH}/${ASSIMP_ANDROID_JNIIOSYSTEM_PATH}/AndroidJNIIOSystem.h
- DESTINATION ${ASSIMP_INCLUDE_INSTALL_DIR}
- COMPONENT assimp-dev)
- endif(ASSIMP_ANDROID_JNIIOSYSTEM)
- if(MSVC AND ASSIMP_INSTALL_PDB)
- install(FILES ${Assimp_BINARY_DIR}/code/Debug/assimp${LIBRARY_SUFFIX}${CMAKE_DEBUG_POSTFIX}.pdb
- DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
- CONFIGURATIONS Debug
- )
- install(FILES ${Assimp_BINARY_DIR}/code/RelWithDebInfo/assimp.pdb
- DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
- CONFIGURATIONS RelWithDebInfo
- )
- endif ()
- if (ASSIMP_COVERALLS)
- include(Coveralls)
- set(COVERAGE_SRCS ${assimp_src} ${TEST_SRCS} )
- # Create the coveralls target.
- coveralls_setup(
- "${COVERAGE_SRCS}" # The source files.
- ON # If we should upload.
- "${PROJECT_SOURCE_DIR}/cmake-modules/") # (Optional) Alternate project cmake module path.
- endif()
|