312 lines
7.7 KiB
CMake
312 lines
7.7 KiB
CMake
include_directories(
|
|
${CMAKE_BINARY_DIR}
|
|
${CMAKE_BINARY_DIR}/src
|
|
${CMAKE_SOURCE_DIR}/src
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
)
|
|
|
|
set(TechDrawLIBS
|
|
Measure
|
|
Part
|
|
Spreadsheet
|
|
PartDesign
|
|
)
|
|
|
|
if (BUILD_IMPORT)
|
|
list(APPEND TechDrawLIBS Import)
|
|
endif ()
|
|
|
|
include_directories(
|
|
SYSTEM
|
|
${QtConcurrent_INCLUDE_DIRS}
|
|
${QtCore_INCLUDE_DIR}
|
|
${QtGui_INCLUDE_DIR}
|
|
${QtWidgets_INCLUDE_DIRS}
|
|
)
|
|
|
|
list(APPEND TechDrawLIBS
|
|
${QtConcurrent_LIBRARIES}
|
|
${QtCore_LIBRARIES}
|
|
${QtWidgets_LIBRARIES}
|
|
)
|
|
|
|
generate_from_xml(DrawPagePy)
|
|
generate_from_xml(DrawViewPy)
|
|
generate_from_xml(DrawViewPartPy)
|
|
generate_from_xml(DrawViewSymbolPy)
|
|
generate_from_xml(DrawTemplatePy)
|
|
generate_from_xml(DrawParametricTemplatePy)
|
|
generate_from_xml(DrawSVGTemplatePy)
|
|
generate_from_xml(DrawViewSymbolPy)
|
|
generate_from_xml(DrawViewClipPy)
|
|
generate_from_xml(DrawViewDimensionPy)
|
|
generate_from_xml(DrawViewDimExtentPy)
|
|
generate_from_xml(DrawHatchPy)
|
|
generate_from_xml(DrawGeomHatchPy)
|
|
generate_from_xml(DrawViewCollectionPy)
|
|
generate_from_xml(DrawProjGroupPy)
|
|
generate_from_xml(DrawProjGroupItemPy)
|
|
generate_from_xml(DrawViewAnnotationPy)
|
|
generate_from_xml(DrawLeaderLinePy)
|
|
generate_from_xml(DrawRichAnnoPy)
|
|
generate_from_xml(GeomFormatPy)
|
|
generate_from_xml(CenterLinePy)
|
|
generate_from_xml(CosmeticEdgePy)
|
|
generate_from_xml(CosmeticVertexPy)
|
|
generate_from_xml(DrawTilePy)
|
|
generate_from_xml(DrawTileWeldPy)
|
|
generate_from_xml(DrawWeldSymbolPy)
|
|
generate_from_xml(CosmeticExtensionPy)
|
|
generate_from_xml(DrawBrokenViewPy)
|
|
|
|
SET(Draw_SRCS
|
|
DrawPage.cpp
|
|
DrawPage.h
|
|
DrawComplexSection.cpp
|
|
DrawComplexSection.h
|
|
DrawView.cpp
|
|
DrawView.h
|
|
DrawViewPart.cpp
|
|
DrawViewPart.h
|
|
DrawViewAnnotation.cpp
|
|
DrawViewAnnotation.h
|
|
DrawViewSymbol.cpp
|
|
DrawViewSymbol.h
|
|
DrawViewSpreadsheet.cpp
|
|
DrawViewSpreadsheet.h
|
|
DrawViewClip.cpp
|
|
DrawViewClip.h
|
|
DrawProjGroup.cpp
|
|
DrawProjGroup.h
|
|
DrawProjGroupItem.cpp
|
|
DrawProjGroupItem.h
|
|
DrawParametricTemplate.cpp
|
|
DrawParametricTemplate.h
|
|
DrawSVGTemplate.cpp
|
|
DrawSVGTemplate.h
|
|
DrawTemplate.cpp
|
|
DrawTemplate.h
|
|
DrawViewCollection.cpp
|
|
DrawViewCollection.h
|
|
DrawViewDimension.cpp
|
|
DrawViewDimension.h
|
|
DrawViewDimExtent.cpp
|
|
DrawViewDimExtent.h
|
|
LandmarkDimension.cpp
|
|
LandmarkDimension.h
|
|
DimensionGeometry.cpp
|
|
DimensionGeometry.h
|
|
DimensionReferences.cpp
|
|
DimensionReferences.h
|
|
DimensionFormatter.cpp
|
|
DimensionFormatter.h
|
|
DimensionAutoCorrect.cpp
|
|
DimensionAutoCorrect.h
|
|
DrawViewBalloon.cpp
|
|
DrawViewBalloon.h
|
|
DrawViewSection.cpp
|
|
DrawViewSection.h
|
|
DrawHatch.cpp
|
|
DrawHatch.h
|
|
DrawGeomHatch.cpp
|
|
DrawGeomHatch.h
|
|
DrawViewDraft.cpp
|
|
DrawViewDraft.h
|
|
DrawViewArch.cpp
|
|
DrawViewArch.h
|
|
DrawViewMulti.cpp
|
|
DrawViewMulti.h
|
|
DrawViewImage.cpp
|
|
DrawViewImage.h
|
|
DrawViewDetail.cpp
|
|
DrawViewDetail.h
|
|
DrawLeaderLine.cpp
|
|
DrawLeaderLine.h
|
|
DrawRichAnno.cpp
|
|
DrawRichAnno.h
|
|
DrawTile.cpp
|
|
DrawTile.h
|
|
DrawTileWeld.cpp
|
|
DrawTileWeld.h
|
|
DrawWeldSymbol.cpp
|
|
DrawWeldSymbol.h
|
|
FeatureProjection.cpp
|
|
FeatureProjection.h
|
|
DrawBrokenView.cpp
|
|
DrawBrokenView.h
|
|
)
|
|
|
|
SET(TechDraw_SRCS
|
|
AppTechDraw.cpp
|
|
AppTechDrawPy.cpp
|
|
DrawUtil.cpp
|
|
DrawUtil.h
|
|
ShapeExtractor.cpp
|
|
ShapeExtractor.h
|
|
DrawDimHelper.cpp
|
|
DrawDimHelper.h
|
|
HatchLine.cpp
|
|
HatchLine.h
|
|
PreCompiled.cpp
|
|
PreCompiled.h
|
|
EdgeWalker.cpp
|
|
EdgeWalker.h
|
|
DrawProjectSplit.cpp
|
|
DrawProjectSplit.h
|
|
LineGroup.cpp
|
|
LineGroup.h
|
|
LineNameEnum.cpp
|
|
LineNameEnum.h
|
|
ArrowPropEnum.cpp
|
|
ArrowPropEnum.h
|
|
BalloonPropEnum.cpp
|
|
BalloonPropEnum.h
|
|
MattingPropEnum.cpp
|
|
MattingPropEnum.h
|
|
Preferences.cpp
|
|
Preferences.h
|
|
Tag.cpp
|
|
Tag.h
|
|
TechDrawExport.cpp
|
|
TechDrawExport.h
|
|
ProjectionAlgos.cpp
|
|
ProjectionAlgos.h
|
|
XMLQuery.cpp
|
|
XMLQuery.h
|
|
LineGenerator.cpp
|
|
LineGenerator.h
|
|
LineFormat.cpp
|
|
LineFormat.h
|
|
)
|
|
|
|
SET(Geometry_SRCS
|
|
Geometry.cpp
|
|
Geometry.h
|
|
GeometryObject.cpp
|
|
GeometryObject.h
|
|
ShapeUtils.cpp
|
|
ShapeUtils.h
|
|
CenterLine.cpp
|
|
CenterLine.h
|
|
Cosmetic.cpp
|
|
Cosmetic.h
|
|
CosmeticVertex.cpp
|
|
CosmeticVertex.h
|
|
PropertyGeomFormatList.cpp
|
|
PropertyGeomFormatList.h
|
|
PropertyCenterLineList.cpp
|
|
PropertyCenterLineList.h
|
|
PropertyCosmeticEdgeList.cpp
|
|
PropertyCosmeticEdgeList.h
|
|
PropertyCosmeticVertexList.cpp
|
|
PropertyCosmeticVertexList.h
|
|
CosmeticExtension.cpp
|
|
CosmeticExtension.h
|
|
GeometryMatcher.cpp
|
|
GeometryMatcher.h
|
|
)
|
|
|
|
SET(Python_SRCS
|
|
DrawPagePy.xml
|
|
DrawPagePyImp.cpp
|
|
DrawViewPy.xml
|
|
DrawViewPyImp.cpp
|
|
DrawViewPartPy.xml
|
|
DrawViewPartPyImp.cpp
|
|
DrawViewSymbolPy.xml
|
|
DrawViewSymbolPyImp.cpp
|
|
DrawTemplatePy.xml
|
|
DrawTemplatePyImp.cpp
|
|
DrawParametricTemplatePy.xml
|
|
DrawParametricTemplatePyImp.cpp
|
|
DrawSVGTemplatePy.xml
|
|
DrawSVGTemplatePyImp.cpp
|
|
DrawViewClipPy.xml
|
|
DrawViewClipPyImp.cpp
|
|
DrawViewDimensionPy.xml
|
|
DrawViewDimensionPyImp.cpp
|
|
DrawViewDimExtentPy.xml
|
|
DrawViewDimExtentPyImp.cpp
|
|
DrawHatchPy.xml
|
|
DrawHatchPyImp.cpp
|
|
DrawGeomHatchPy.xml
|
|
DrawGeomHatchPyImp.cpp
|
|
DrawViewCollectionPy.xml
|
|
DrawViewCollectionPyImp.cpp
|
|
DrawProjGroupPy.xml
|
|
DrawProjGroupPyImp.cpp
|
|
DrawProjGroupItemPy.xml
|
|
DrawProjGroupItemPyImp.cpp
|
|
DrawViewAnnotationPy.xml
|
|
DrawViewAnnotationPyImp.cpp
|
|
DrawLeaderLinePy.xml
|
|
DrawLeaderLinePyImp.cpp
|
|
DrawRichAnnoPy.xml
|
|
DrawRichAnnoPyImp.cpp
|
|
GeomFormatPy.xml
|
|
GeomFormatPyImp.cpp
|
|
CenterLinePy.xml
|
|
CenterLinePyImp.cpp
|
|
CosmeticEdgePy.xml
|
|
CosmeticEdgePyImp.cpp
|
|
CosmeticVertexPy.xml
|
|
CosmeticVertexPyImp.cpp
|
|
DrawTilePy.xml
|
|
DrawTilePyImp.cpp
|
|
DrawTileWeldPy.xml
|
|
DrawTileWeldPyImp.cpp
|
|
DrawWeldSymbolPy.xml
|
|
DrawWeldSymbolPyImp.cpp
|
|
CosmeticExtensionPy.xml
|
|
CosmeticExtensionPyImp.cpp
|
|
DrawBrokenViewPy.xml
|
|
DrawBrokenViewPyImp.cpp
|
|
)
|
|
|
|
SOURCE_GROUP("Mod" FILES ${TechDraw_SRCS})
|
|
SOURCE_GROUP("Features" FILES ${Draw_SRCS})
|
|
SOURCE_GROUP("Geometry" FILES ${Geometry_SRCS})
|
|
SOURCE_GROUP("Python" FILES ${Python_SRCS})
|
|
|
|
if(FREECAD_USE_PCH)
|
|
add_definitions(-D_PreComp_)
|
|
GET_MSVC_PRECOMPILED_SOURCE("PreCompiled.cpp" PCH_SRCS ${TechDraw_SRCS} ${Draw_SRCS} ${TechDrawAlgos_SRCS}
|
|
${Geometry_SRCS} ${Python_SRCS})
|
|
ADD_MSVC_PRECOMPILED_HEADER(TechDraw PreCompiled.h PreCompiled.cpp PCH_SRCS)
|
|
endif(FREECAD_USE_PCH)
|
|
|
|
add_library(TechDraw SHARED ${TechDraw_SRCS} ${Draw_SRCS} ${TechDrawAlgos_SRCS}
|
|
${Geometry_SRCS} ${Python_SRCS})
|
|
target_link_libraries(TechDraw ${TechDrawLIBS} ${TechDraw})
|
|
if (FREECAD_WARN_ERROR)
|
|
target_compile_warn_error(TechDraw)
|
|
endif()
|
|
|
|
ADD_CUSTOM_COMMAND(TARGET TechDraw
|
|
POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
${CMAKE_SOURCE_DIR}/src/Mod/TechDraw/Patterns
|
|
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/TechDraw/Patterns
|
|
)
|
|
|
|
ADD_CUSTOM_COMMAND(TARGET TechDraw
|
|
POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
${CMAKE_SOURCE_DIR}/src/Mod/TechDraw/Templates
|
|
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/TechDraw/Templates
|
|
)
|
|
|
|
ADD_CUSTOM_COMMAND(TARGET TechDraw
|
|
POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
${CMAKE_SOURCE_DIR}/src/Mod/TechDraw/Symbols
|
|
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/TechDraw/Symbols
|
|
)
|
|
|
|
SET_BIN_DIR(TechDraw TechDraw /Mod/TechDraw)
|
|
SET_PYTHON_PREFIX_SUFFIX(TechDraw)
|
|
|
|
INSTALL(TARGETS TechDraw DESTINATION ${CMAKE_INSTALL_LIBDIR})
|