Files
create/src/Mod/TechDraw/App/CMakeLists.txt

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})