CMake: Add a bunch of pandatool components to the build

This commit is contained in:
Sam Edwards 2018-10-28 03:12:47 -06:00
parent 6760c1366d
commit 841e7a9a16
25 changed files with 575 additions and 0 deletions

View File

@ -10,10 +10,33 @@ add_subdirectory(src/dxf)
add_subdirectory(src/dxfegg)
add_subdirectory(src/dxfprogs)
add_subdirectory(src/eggbase)
add_subdirectory(src/eggcharbase)
add_subdirectory(src/eggprogs)
add_subdirectory(src/egg-mkfont)
add_subdirectory(src/egg-optchar)
add_subdirectory(src/egg-palettize)
add_subdirectory(src/egg-qtess)
add_subdirectory(src/flt)
add_subdirectory(src/fltegg)
add_subdirectory(src/fltprogs)
add_subdirectory(src/gtk-stats)
add_subdirectory(src/imagebase)
add_subdirectory(src/imageprogs)
add_subdirectory(src/lwo)
add_subdirectory(src/lwoegg)
add_subdirectory(src/lwoprogs)
add_subdirectory(src/miscprogs)
add_subdirectory(src/objegg)
add_subdirectory(src/objprogs)
add_subdirectory(src/palettizer)
add_subdirectory(src/pandatoolbase)
add_subdirectory(src/pfmprogs)
add_subdirectory(src/progbase)
add_subdirectory(src/pstatserver)
add_subdirectory(src/ptloader)
add_subdirectory(src/vrml)
add_subdirectory(src/vrmlegg)
add_subdirectory(src/vrmlprogs)
add_subdirectory(src/xfile)
add_subdirectory(src/xfileegg)
add_subdirectory(src/xfileprogs)

View File

@ -0,0 +1,17 @@
set(P3EGG_MKFONT_HEADERS
eggMakeFont.h
rangeDescription.h rangeDescription.I
rangeIterator.h rangeIterator.I
)
set(P3EGG_MKFONT_SOURCES
eggMakeFont.cxx
rangeDescription.cxx
rangeIterator.cxx
)
composite_sources(egg-mkfont P3EGG_MKFONT_SOURCES)
add_executable(egg-mkfont ${P3EGG_MKFONT_HEADERS} ${P3EGG_MKFONT_SOURCES})
target_link_libraries(egg-mkfont p3palettizer p3eggbase p3pandatoolbase)
install(TARGETS egg-mkfont DESTINATION bin)

View File

@ -0,0 +1,19 @@
set(P3EGG_OPTCHAR_HEADERS
config_egg_optchar.h
eggOptchar.h
eggOptcharUserData.h eggOptcharUserData.I
vertexMembership.h vertexMembership.I
)
set(P3EGG_OPTCHAR_SOURCES
config_egg_optchar.cxx
eggOptchar.cxx
eggOptcharUserData.cxx
vertexMembership.cxx
)
composite_sources(egg-optchar P3EGG_OPTCHAR_SOURCES)
add_executable(egg-optchar ${P3EGG_OPTCHAR_HEADERS} ${P3EGG_OPTCHAR_SOURCES})
target_link_libraries(egg-optchar p3eggcharbase)
install(TARGETS egg-optchar DESTINATION bin)

View File

@ -0,0 +1,7 @@
add_executable(egg-palettize eggPalettize.cxx eggPalettize.h)
target_link_libraries(egg-palettize p3palettizer p3eggbase p3progbase)
install(TARGETS egg-palettize DESTINATION bin)
add_library(p3txafile txaFileFilter.cxx txaFileFilter.h txaFileFilter.I)
target_link_libraries(p3txafile p3palettizer)
install(TARGETS p3txafile DESTINATION lib RUNTIME DESTINATION bin)

View File

@ -0,0 +1,27 @@
set(P3EGG_QTESS_HEADERS
config_egg_qtess.h
eggQtess.h
isoPlacer.h isoPlacer.I
qtessGlobals.h
qtessInputEntry.h qtessInputEntry.I
qtessInputFile.h qtessInputFile.I
qtessSurface.h qtessSurface.I
subdivSegment.h subdivSegment.I
)
set(P3EGG_QTESS_SOURCES
config_egg_qtess.cxx
eggQtess.cxx
isoPlacer.cxx
qtessGlobals.cxx
qtessInputEntry.cxx
qtessInputFile.cxx
qtessSurface.cxx
subdivSegment.cxx
)
composite_sources(egg-qtess P3EGG_QTESS_SOURCES)
add_executable(egg-qtess ${P3EGG_QTESS_HEADERS} ${P3EGG_QTESS_SOURCES})
target_link_libraries(egg-qtess p3eggbase)
install(TARGETS egg-qtess DESTINATION bin)

View File

@ -0,0 +1,42 @@
set(P3EGGCHARBASE_HEADERS
config_eggcharbase.h
eggBackPointer.h
eggCharacterCollection.h eggCharacterCollection.I
eggCharacterData.h eggCharacterData.I
eggCharacterDb.h eggCharacterDb.I
eggCharacterFilter.h
eggComponentData.h eggComponentData.I
eggJointData.h eggJointData.I
eggJointNodePointer.h
eggJointPointer.h eggJointPointer.I
eggMatrixTablePointer.h
eggScalarTablePointer.h
eggSliderData.h eggSliderData.I
eggSliderPointer.h
eggVertexPointer.h
)
set(P3EGGCHARBASE_SOURCES
config_eggcharbase.cxx
eggBackPointer.cxx
eggCharacterCollection.cxx
eggCharacterData.cxx
eggCharacterDb.cxx
eggCharacterFilter.cxx
eggComponentData.cxx
eggJointData.cxx
eggJointNodePointer.cxx
eggJointPointer.cxx
eggMatrixTablePointer.cxx
eggScalarTablePointer.cxx
eggSliderData.cxx
eggSliderPointer.cxx
eggVertexPointer.cxx
)
composite_sources(p3eggcharbase P3EGGCHARBASE_SOURCES)
add_library(p3eggcharbase STATIC ${P3EGGCHARBASE_HEADERS} ${P3EGGCHARBASE_SOURCES})
target_link_libraries(p3eggcharbase p3eggbase)
# This is only needed for binaries in the pandatool package. It is not useful
# for user applications, so it is not installed.

View File

@ -0,0 +1,35 @@
add_executable(egg-crop eggCrop.cxx eggCrop.h)
target_link_libraries(egg-crop p3eggbase)
install(TARGETS egg-crop DESTINATION bin)
add_executable(egg-list-textures eggListTextures.cxx eggListTextures.h)
target_link_libraries(egg-list-textures p3eggbase)
install(TARGETS egg-list-textures DESTINATION bin)
add_executable(egg-make-tube eggMakeTube.cxx eggMakeTube.h)
target_link_libraries(egg-make-tube p3eggbase)
install(TARGETS egg-make-tube DESTINATION bin)
add_executable(egg-rename eggRename.cxx eggRename.h)
target_link_libraries(egg-rename p3eggbase)
install(TARGETS egg-rename DESTINATION bin)
add_executable(egg-retarget-anim eggRetargetAnim.cxx eggRetargetAnim.h)
target_link_libraries(egg-retarget-anim p3eggcharbase)
install(TARGETS egg-retarget-anim DESTINATION bin)
add_executable(egg-texture-cards eggTextureCards.cxx eggTextureCards.h)
target_link_libraries(egg-texture-cards p3eggbase)
install(TARGETS egg-texture-cards DESTINATION bin)
add_executable(egg2c eggToC.cxx eggToC.h)
target_link_libraries(egg2c p3eggbase)
install(TARGETS egg2c DESTINATION bin)
add_executable(egg-topstrip eggTopstrip.cxx eggTopstrip.h)
target_link_libraries(egg-topstrip p3eggcharbase)
install(TARGETS egg-topstrip DESTINATION bin)
add_executable(egg-trans eggTrans.cxx eggTrans.h)
target_link_libraries(egg-trans p3eggbase)
install(TARGETS egg-trans DESTINATION bin)

View File

@ -0,0 +1,20 @@
set(P3IMAGEBASE_HEADERS
imageBase.h
imageFilter.h
imageReader.h
imageWriter.h imageWriter.I
)
set(P3IMAGEBASE_SOURCES
imageBase.cxx
imageFilter.cxx
imageReader.cxx
imageWriter.cxx
)
composite_sources(p3imagebase P3IMAGEBASE_SOURCES)
add_library(p3imagebase STATIC ${P3IMAGEBASE_HEADERS} ${P3IMAGEBASE_SOURCES})
target_link_libraries(p3imagebase p3progbase)
# This is only needed for binaries in the pandatool package. It is not useful
# for user applications, so it is not installed.

View File

@ -0,0 +1,19 @@
add_executable(image-fix-hidden-color imageFixHiddenColor.cxx imageFixHiddenColor.h)
target_link_libraries(image-fix-hidden-color p3imagebase)
install(TARGETS image-fix-hidden-color DESTINATION bin)
add_executable(image-info imageInfo.cxx imageInfo.h)
target_link_libraries(image-info p3imagebase)
install(TARGETS image-info DESTINATION bin)
add_executable(image-resize imageResize.cxx imageResize.h)
target_link_libraries(image-resize p3imagebase)
install(TARGETS image-resize DESTINATION bin)
add_executable(image-transform-colors imageTransformColors.cxx imageTransformColors.h)
target_link_libraries(image-transform-colors p3imagebase)
install(TARGETS image-transform-colors DESTINATION bin)
add_executable(image-trans imageTrans.cxx imageTrans.h)
target_link_libraries(image-trans p3imagebase)
install(TARGETS image-trans DESTINATION bin)

View File

@ -0,0 +1,69 @@
set(P3LWO_HEADERS
config_lwo.h
iffChunk.h iffChunk.I
iffGenericChunk.h iffGenericChunk.I
iffId.h iffId.I
iffInputFile.h iffInputFile.I
lwoBoundingBox.h
lwoChunk.h
lwoClip.h
lwoDiscontinuousVertexMap.h
lwoGroupChunk.h
lwoHeader.h lwoHeader.I
lwoInputFile.h lwoInputFile.I
lwoLayer.h
lwoPoints.h
lwoPolygons.h lwoPolygonTags.h
lwoStillImage.h
lwoSurfaceBlockAxis.h lwoSurfaceBlockChannel.h lwoSurfaceBlockCoordSys.h
lwoSurfaceBlockEnabled.h lwoSurfaceBlock.h lwoSurfaceBlockHeader.h
lwoSurfaceBlockImage.h lwoSurfaceBlockOpacity.h lwoSurfaceBlockProjection.h
lwoSurfaceBlockRefObj.h lwoSurfaceBlockRepeat.h lwoSurfaceBlockTMap.h
lwoSurfaceBlockTransform.h lwoSurfaceBlockVMapName.h lwoSurfaceBlockWrap.h
lwoSurfaceColor.h
lwoSurface.h
lwoSurfaceParameter.h
lwoSurfaceSidedness.h
lwoSurfaceSmoothingAngle.h
lwoTags.h
lwoVertexMap.h
)
set(P3LWO_SOURCES
config_lwo.cxx
iffChunk.cxx
iffGenericChunk.cxx
iffId.cxx
iffInputFile.cxx
lwoBoundingBox.cxx
lwoChunk.cxx
lwoClip.cxx
lwoDiscontinuousVertexMap.cxx
lwoGroupChunk.cxx
lwoHeader.cxx
lwoInputFile.cxx
lwoLayer.cxx
lwoPoints.cxx
lwoPolygons.cxx
lwoPolygonTags.cxx
lwoStillImage.cxx
lwoSurfaceBlockAxis.cxx lwoSurfaceBlockChannel.cxx lwoSurfaceBlockCoordSys.cxx
lwoSurfaceBlock.cxx lwoSurfaceBlockEnabled.cxx lwoSurfaceBlockHeader.cxx
lwoSurfaceBlockImage.cxx lwoSurfaceBlockOpacity.cxx lwoSurfaceBlockProjection.cxx
lwoSurfaceBlockRefObj.cxx lwoSurfaceBlockRepeat.cxx lwoSurfaceBlockTMap.cxx
lwoSurfaceBlockTransform.cxx lwoSurfaceBlockVMapName.cxx lwoSurfaceBlockWrap.cxx
lwoSurfaceColor.cxx
lwoSurface.cxx
lwoSurfaceParameter.cxx
lwoSurfaceSidedness.cxx
lwoSurfaceSmoothingAngle.cxx
lwoTags.cxx
lwoVertexMap.cxx
)
composite_sources(p3lwo P3LWO_SOURCES)
add_library(p3lwo STATIC ${P3LWO_HEADERS} ${P3LWO_SOURCES})
target_link_libraries(p3lwo p3pandatoolbase)
# This is only needed for binaries in the pandatool package. It is not useful
# for user applications, so it is not installed.

View File

@ -0,0 +1,27 @@
set(P3LWOEGG_HEADERS
cLwoClip.h cLwoClip.I
cLwoLayer.h cLwoLayer.I
cLwoPoints.h cLwoPoints.I
cLwoPolygons.h cLwoPolygons.I
cLwoSurfaceBlock.h cLwoSurfaceBlock.I
cLwoSurfaceBlockTMap.h cLwoSurfaceBlockTMap.I
cLwoSurface.h cLwoSurface.I
lwoToEggConverter.h lwoToEggConverter.I
)
set(P3LWOEGG_SOURCES
cLwoClip.cxx
cLwoLayer.cxx
cLwoPoints.cxx
cLwoPolygons.cxx
cLwoSurfaceBlock.cxx
cLwoSurfaceBlockTMap.cxx
cLwoSurface.cxx
lwoToEggConverter.cxx
)
add_library(p3lwoegg STATIC ${P3LWOEGG_HEADERS} ${P3LWOEGG_SOURCES})
target_link_libraries(p3lwoegg p3lwo p3eggbase)
# This is only needed for binaries in the pandatool package. It is not useful
# for user applications, so it is not installed.

View File

@ -0,0 +1,7 @@
add_executable(lwo-scan lwoScan.cxx lwoScan.h)
target_link_libraries(lwo-scan p3progbase p3lwo)
install(TARGETS lwo-scan DESTINATION bin)
add_executable(lwo2egg lwoToEgg.cxx lwoToEgg.h)
target_link_libraries(lwo2egg p3lwoegg p3eggbase p3progbase)
install(TARGETS lwo2egg DESTINATION bin)

View File

@ -0,0 +1,3 @@
add_executable(bin2c binToC.cxx binToC.h)
target_link_libraries(bin2c p3progbase)
install(TARGETS bin2c DESTINATION bin)

View File

@ -0,0 +1,19 @@
set(P3OBJEGG_HEADERS
config_objegg.h
eggToObjConverter.h
objToEggConverter.h
objToEggConverter.I
)
set(P3OBJEGG_SOURCES
config_objegg.cxx
eggToObjConverter.cxx
objToEggConverter.cxx
)
composite_sources(p3objegg P3OBJEGG_SOURCES)
add_library(p3objegg STATIC ${P3OBJEGG_HEADERS} ${P3OBJEGG_SOURCES})
target_link_libraries(p3objegg p3eggbase)
# This is only needed for binaries in the pandatool package. It is not useful
# for user applications, so it is not installed.

View File

@ -0,0 +1,7 @@
add_executable(egg2obj eggToObj.cxx eggToObj.h)
target_link_libraries(egg2obj p3objegg p3eggbase)
install(TARGETS egg2obj DESTINATION bin)
add_executable(obj2egg objToEgg.cxx objToEgg.h)
target_link_libraries(obj2egg p3objegg p3eggbase p3progbase)
install(TARGETS obj2egg DESTINATION bin)

View File

@ -0,0 +1,56 @@
set(P3PALETTIZER_HEADERS
config_palettizer.h
destTextureImage.h
eggFile.h
filenameUnifier.h
imageFile.h
omitReason.h
paletteGroup.h
paletteGroups.h
paletteImage.h
palettePage.h
palettizer.h
pal_string_utils.h
sourceTextureImage.h
textureImage.h
textureMemoryCounter.h
texturePlacement.h
texturePosition.h
textureProperties.h
textureReference.h
textureRequest.h
txaFile.h
txaLine.h
)
set(P3PALETTIZER_SOURCES
config_palettizer.cxx
destTextureImage.cxx
eggFile.cxx
filenameUnifier.cxx
imageFile.cxx
omitReason.cxx
paletteGroup.cxx
paletteGroups.cxx
paletteImage.cxx
palettePage.cxx
palettizer.cxx
pal_string_utils.cxx
sourceTextureImage.cxx
textureImage.cxx
textureMemoryCounter.cxx
texturePlacement.cxx
texturePosition.cxx
textureProperties.cxx
textureReference.cxx
textureRequest.cxx
txaFile.cxx
txaLine.cxx
)
composite_sources(p3palettizer P3PALETTIZER_SOURCES)
add_library(p3palettizer STATIC ${P3PALETTIZER_HEADERS} ${P3PALETTIZER_SOURCES})
target_link_libraries(p3palettizer p3progbase p3converter)
# This is only needed for binaries in the pandatool package. It is not useful
# for user applications, so it is not installed.

View File

@ -20,5 +20,12 @@ composite_sources(p3pandatoolbase P3PANDATOOLBASE_SOURCES)
add_library(p3pandatoolbase STATIC ${P3PANDATOOLBASE_HEADERS} ${P3PANDATOOLBASE_SOURCES})
target_link_libraries(p3pandatoolbase panda)
# ptloader - a module - may need to link in libraries in this package, so:
if(MODULE_TYPE STREQUAL "MODULE")
set_target_properties(p3pandatoolbase PROPERTIES
POSITION_INDEPENDENT_CODE ON
INTERFACE_POSITION_INDEPENDENT_CODE ON)
endif()
# This is only needed for binaries in the pandatool package. It is not useful
# for user applications, so it is not installed.

View File

@ -0,0 +1,9 @@
add_executable(pfm-bba
config_pfmprogs.cxx config_pfmprogs.h
pfmBba.cxx pfmBba.h)
target_link_libraries(pfm-bba p3progbase)
install(TARGETS pfm-bba DESTINATION bin)
add_executable(pfm-trans pfmTrans.cxx pfmTrans.h)
target_link_libraries(pfm-trans p3progbase)
install(TARGETS pfm-trans DESTINATION bin)

View File

@ -0,0 +1,18 @@
set(P3PTLOADER_HEADERS
config_ptloader.h
loaderFileTypePandatool.h
)
set(P3PTLOADER_SOURCES
config_ptloader.cxx
loaderFileTypePandatool.cxx
)
composite_sources(p3ptloader P3PTLOADER_SOURCES)
add_library(p3ptloader ${MODULE_TYPE} ${P3PTLOADER_HEADERS} ${P3PTLOADER_SOURCES})
set_target_properties(p3ptloader PROPERTIES DEFINE_SYMBOL BUILDING_PTLOADER)
target_link_libraries(p3ptloader
p3dxfegg p3fltegg p3lwoegg p3objegg p3vrmlegg p3xfileegg
p3converter)
install(TARGETS p3ptloader DESTINATION ${MODULE_DESTINATION})

View File

@ -0,0 +1,30 @@
add_bison_target(vrmlParser.cxx vrmlParser.yxx DEFINES vrmlParser.h PREFIX vrmlyy)
add_flex_target(vrmlLexer.cxx vrmlLexer.lxx CASE_INSENSITIVE PREFIX vrmlyy)
set(P3VRML_HEADERS
parse_vrml.h
standard_nodes.h
vrmlLexerDefs.h
vrmlNode.h
vrmlNodeType.h
vrmlParserDefs.h
)
set(P3VRML_SOURCES
parse_vrml.cxx
standard_nodes.cxx
vrmlNode.cxx
vrmlNodeType.cxx
)
set(P3VRML_PARSER_SOURCES
vrmlParser.cxx
vrmlLexer.cxx
)
composite_sources(p3vrml P3VRML_SOURCES)
add_library(p3vrml STATIC ${P3VRML_HEADERS} ${P3VRML_SOURCES} ${P3VRML_PARSER_SOURCES})
target_link_libraries(p3vrml p3pandatoolbase)
# This is only needed for binaries in the pandatool package. It is not useful
# for user applications, so it is not installed.

View File

@ -0,0 +1,18 @@
set(P3VRMLEGG_HEADERS
indexedFaceSet.h
vrmlAppearance.h
vrmlToEggConverter.h
)
set(P3VRMLEGG_SOURCES
indexedFaceSet.cxx
vrmlAppearance.cxx
vrmlToEggConverter.cxx
)
composite_sources(p3vrmlegg P3VRMLEGG_SOURCES)
add_library(p3vrmlegg STATIC ${P3VRMLEGG_HEADERS} ${P3VRMLEGG_SOURCES})
target_link_libraries(p3vrmlegg p3vrml p3eggbase)
# This is only needed for binaries in the pandatool package. It is not useful
# for user applications, so it is not installed.

View File

@ -0,0 +1,7 @@
add_executable(vrml-trans vrmlTrans.cxx vrmlTrans.h)
target_link_libraries(vrml-trans p3progbase p3vrml)
install(TARGETS vrml-trans DESTINATION bin)
add_executable(vrml2egg vrmlToEgg.cxx vrmlToEgg.h)
target_link_libraries(vrml2egg p3vrmlegg p3eggbase p3progbase)
install(TARGETS vrml2egg DESTINATION bin)

View File

@ -0,0 +1,56 @@
add_bison_target(xParser.cxx xParser.yxx DEFINES xParser.h PREFIX xyy)
add_flex_target(xLexer.cxx xLexer.lxx CASE_INSENSITIVE PREFIX xyy)
set(P3XFILE_HEADERS
config_xfile.h
standard_templates.h
windowsGuid.h windowsGuid.I
xFileArrayDef.h xFileArrayDef.I
xFileDataDef.h xFileDataDef.I
xFileDataNode.h xFileDataNode.I
xFileDataNodeReference.h xFileDataNodeReference.I
xFileDataNodeTemplate.h xFileDataNodeTemplate.I
xFileDataObjectArray.h xFileDataObjectArray.I
xFileDataObjectDouble.h xFileDataObjectDouble.I
xFileDataObject.h xFileDataObject.I
xFileDataObjectInteger.h xFileDataObjectInteger.I
xFileDataObjectString.h xFileDataObjectString.I
xFile.h xFile.I
xFileNode.h xFileNode.I
xFileParseData.h xFileParseData.I
xFileTemplate.h xFileTemplate.I
xLexerDefs.h
xParserDefs.h
)
set(P3XFILE_SOURCES
config_xfile.cxx
standard_templates.cxx
windowsGuid.cxx
xFileArrayDef.cxx
xFile.cxx
xFileDataDef.cxx
xFileDataNode.cxx
xFileDataNodeReference.cxx
xFileDataNodeTemplate.cxx
xFileDataObjectArray.cxx
xFileDataObject.cxx
xFileDataObjectDouble.cxx
xFileDataObjectInteger.cxx
xFileDataObjectString.cxx
xFileNode.cxx
xFileParseData.cxx
xFileTemplate.cxx
)
set(P3XFILE_PARSER_SOURCES
xParser.cxx
xLexer.cxx
)
composite_sources(p3xfile P3XFILE_SOURCES)
add_library(p3xfile STATIC ${P3XFILE_HEADERS} ${P3XFILE_SOURCES} ${P3XFILE_PARSER_SOURCES})
target_link_libraries(p3xfile p3pandatoolbase)
# This is only needed for binaries in the pandatool package. It is not useful
# for user applications, so it is not installed.

View File

@ -0,0 +1,22 @@
set(P3XFILEEGG_HEADERS
xFileAnimationSet.h xFileAnimationSet.I
xFileFace.h xFileMaker.h
xFileMaterial.h xFileMesh.h xFileNormal.h
xFileToEggConverter.h
xFileVertex.h xFileVertexPool.h
)
set(P3XFILEEGG_SOURCES
xFileAnimationSet.cxx
xFileFace.cxx xFileMaker.cxx
xFileMaterial.cxx xFileMesh.cxx xFileNormal.cxx
xFileToEggConverter.cxx
xFileVertex.cxx
)
composite_sources(p3xfileegg P3XFILEEGG_SOURCES)
add_library(p3xfileegg STATIC ${P3XFILEEGG_HEADERS} ${P3XFILEEGG_SOURCES})
target_link_libraries(p3xfileegg p3xfile p3eggbase)
# This is only needed for binaries in the pandatool package. It is not useful
# for user applications, so it is not installed.

View File

@ -0,0 +1,11 @@
add_executable(egg2x eggToX.cxx eggToX.h)
target_link_libraries(egg2x p3xfileegg p3eggbase p3progbase)
install(TARGETS egg2x DESTINATION bin)
add_executable(x-trans xFileTrans.cxx xFileTrans.h)
target_link_libraries(x-trans p3progbase p3xfile)
install(TARGETS x-trans DESTINATION bin)
add_executable(x2egg xFileToEgg.cxx xFileToEgg.h)
target_link_libraries(x2egg p3xfileegg p3eggbase p3progbase)
install(TARGETS x2egg DESTINATION bin)