diff --git a/panda/CMakeLists.txt b/panda/CMakeLists.txt index dfe39c0141..2b91951da3 100644 --- a/panda/CMakeLists.txt +++ b/panda/CMakeLists.txt @@ -27,6 +27,8 @@ add_subdirectory(src/putil) add_subdirectory(src/pstatclient) add_subdirectory(src/linmath) add_subdirectory(src/event) +add_subdirectory(src/egg) +add_subdirectory(src/egg2pg) add_subdirectory(src/mathutil) add_subdirectory(src/gsgbase) add_subdirectory(src/glstuff) @@ -58,4 +60,4 @@ add_subdirectory(src/testbed) # Include panda metalibs add_subdirectory(metalibs/panda) add_subdirectory(metalibs/pandagl) -#add_subdirectory(metalibs/pandaegg) +add_subdirectory(metalibs/pandaegg) diff --git a/panda/metalibs/pandaegg/CMakeLists.txt b/panda/metalibs/pandaegg/CMakeLists.txt new file mode 100644 index 0000000000..3d17cbfd10 --- /dev/null +++ b/panda/metalibs/pandaegg/CMakeLists.txt @@ -0,0 +1,6 @@ +if(HAVE_EGG) + set(PANDAEGG_LINK_TARGETS p3egg p3egg2pg) + + add_library(pandaegg pandaegg.cxx) + target_link_libraries(pandaegg ${PANDAEGG_LINK_TARGETS}) +endif() diff --git a/panda/src/egg/CMakeLists.txt b/panda/src/egg/CMakeLists.txt new file mode 100644 index 0000000000..774a33c33e --- /dev/null +++ b/panda/src/egg/CMakeLists.txt @@ -0,0 +1,97 @@ +if(HAVE_EGG) + add_bison_target(parser.cxx parser.yxx DEFINES parser.h PREFIX eggyy) + add_flex_target(lexer.cxx lexer.lxx DEFINES lexer.h PREFIX eggyy) + + set(P3EGG_HEADERS + config_egg.h eggAnimData.I eggAnimData.h + eggAnimPreload.I eggAnimPreload.h + eggAttributes.Ig + eggAttributes.h eggBin.h eggBinMaker.h eggComment.Ig + eggComment.h + eggCompositePrimitive.I eggCompositePrimitive.h + eggCoordinateSystem.I eggCoordinateSystem.hg + eggCurve.I eggCurve.h eggData.I eggData.hg + eggExternalReference.I eggExternalReference.hg + eggFilenameNode.I eggFilenameNode.h eggGroup.I eggGroup.hg + eggGroupNode.I eggGroupNode.h eggGroupUniquifier.hg + eggLine.I eggLine.h + eggMaterial.I eggMaterial.h eggMaterialCollection.Ig + eggMaterialCollection.h + eggMesher.h eggMesher.I + eggMesherEdge.h eggMesherEdge.I + eggMesherFanMaker.h eggMesherFanMaker.I + eggMesherStrip.h eggMesherStrip.I + eggMiscFuncs.I eggMiscFuncs.hg + eggMorph.I eggMorph.h eggMorphList.I eggMorphList.hg + eggNamedObject.I eggNamedObject.h eggNameUniquifier.hg + eggNode.I eggNode.h eggNurbsCurve.I eggNurbsCurve.hg + eggNurbsSurface.I eggNurbsSurface.h eggObject.I eggObject.hg + eggParameters.h + eggPatch.I eggPatch.h + eggPoint.I eggPoint.h eggPolygon.Ig + eggPolygon.h eggPolysetMaker.h eggPoolUniquifier.h + eggPrimitive.I eggPrimitive.h + eggRenderMode.I eggRenderMode.hg + eggSAnimData.I eggSAnimData.h eggSurface.I eggSurface.hg + eggSwitchCondition.h eggTable.I eggTable.h eggTexture.Ig + eggTexture.h eggTextureCollection.I eggTextureCollection.hg + eggTriangleFan.I eggTriangleFan.h + eggTriangleStrip.I eggTriangleStrip.h + eggTransform.I eggTransform.h + eggUserData.I eggUserData.h + eggUtilities.I eggUtilities.h + eggVertex.I eggVertex.h + eggVertexAux.I eggVertexAux.h + eggVertexPool.I eggVertexPool.h + eggVertexUV.I eggVertexUV.h + eggXfmAnimData.Ig + eggXfmAnimData.h eggXfmSAnim.I eggXfmSAnim.h parserDefs.hg + parser.yxx lexerDefs.h lexer.lxx pt_EggMaterial.hg + vector_PT_EggMaterial.h pt_EggTexture.hg + vector_PT_EggTexture.h pt_EggVertex.h vector_PT_EggVertex.h + ) + + set(P3EGG_SOURCES + config_egg.cxx eggAnimData.cxx + eggAnimPreload.cxx + eggAttributes.cxx eggBin.cxxg + eggBinMaker.cxx eggComment.cxx + eggCompositePrimitive.cxx + eggCoordinateSystem.cxxg + eggCurve.cxx eggData.cxx eggExternalReference.cxxg + eggFilenameNode.cxx eggGroup.cxx eggGroupNode.cxxg + eggGroupUniquifier.cxx eggLine.cxx eggMaterial.cxxg + eggMaterialCollection.cxx + eggMesher.cxx + eggMesherEdge.cxx + eggMesherFanMaker.cxx + eggMesherStrip.cxx + eggMiscFuncs.cxx eggMorphList.cxxg + eggNamedObject.cxx eggNameUniquifier.cxx eggNode.cxxg + eggNurbsCurve.cxx eggNurbsSurface.cxx eggObject.cxxg + eggParameters.cxx + eggPatch.cxx + eggPoint.cxx eggPolygon.cxx eggPolysetMaker.cxxg + eggPoolUniquifier.cxx eggPrimitive.cxx eggRenderMode.cxxg + eggSAnimData.cxx eggSurface.cxx eggSwitchCondition.cxxg + eggTable.cxx eggTexture.cxx eggTextureCollection.cxxg + eggTransform.cxx + eggTriangleFan.cxx + eggTriangleStrip.cxx + eggUserData.cxx + eggUtilities.cxx eggVertex.cxx + eggVertexAux.cxx + eggVertexPool.cxx eggVertexUV.cxx + eggXfmAnimData.cxx eggXfmSAnim.cxx pt_EggMaterial.cxxg + vector_PT_EggMaterial.cxx pt_EggTexture.cxxg + vector_PT_EggTexture.cxx pt_EggVertex.cxxg + vector_PT_EggVertex.cxxg + lexer.cxx + parser.cxx + ) + + composite_sources(p3egg P3EGG_SOURCES) + add_library(p3egg ${P3EGG_HEADERS} ${P3EGG_SOURCES}) + target_link_libraries(p3egg p3prc p3pandabase p3express p3linmath p3mathutil) + target_interrogate(p3egg ALL) +endif() diff --git a/panda/src/egg2pg/CMakeLists.txt b/panda/src/egg2pg/CMakeLists.txt new file mode 100644 index 0000000000..877cd20e12 --- /dev/null +++ b/panda/src/egg2pg/CMakeLists.txt @@ -0,0 +1,36 @@ +if(HAVE_EGG) + set(P3EGG2PG_HEADERS + animBundleMaker.h + characterMaker.h + config_egg2pg.h + deferredNodeProperty.h + eggBinner.h + eggLoader.h eggLoader.I + eggRenderState.h eggRenderState.I + eggSaver.h eggSaver.I + egg_parametrics.h + load_egg_file.h + save_egg_file.h + loaderFileTypeEgg.h + ) + + set(P3EGG2PG_SOURCES + animBundleMaker.cxx + characterMaker.cxx + config_egg2pg.cxx + deferredNodeProperty.cxx + eggBinner.cxx + eggLoader.cxx + eggRenderState.cxx + eggSaver.cxx + egg_parametrics.cxx + load_egg_file.cxx + save_egg_file.cxx + loaderFileTypeEgg.cxx + ) + + composite_sources(p3egg2pg P3EGG2PG_SOURCES) + add_library(p3egg2pg ${P3EGG2PG_HEADERS} ${P3EGG2PG_SOURCES}) + target_link_libraries(p3egg2pg p3parametrics p3collide p3egg p3pgraph p3chan p3char) + target_interrogate(p3egg2pg ALL) +endif()