Files
create/src/Mod/TechDraw/App/CMakeLists.txt
2019-12-16 20:36:10 -05:00

270 lines
6.9 KiB
CMake

if(MSVC)
add_definitions(-DFCAppTechDraw -DHAVE_ACOSH -DHAVE_ASINH -DHAVE_ATANH)
else(MSVC)
add_definitions(-DHAVE_LIMITS_H -DHAVE_CONFIG_H -DHAVE_ACOSH -DHAVE_ATANH -DHAVE_ASINH)
endif(MSVC)
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}
${Boost_INCLUDE_DIRS}
${OCC_INCLUDE_DIR}
${ZLIB_INCLUDE_DIR}
${PYTHON_INCLUDE_DIRS}
${XercesC_INCLUDE_DIRS}
${QT_QTCORE_INCLUDE_DIR}
)
if(BUILD_QT5)
include_directories(
${Qt5XmlPatterns_INCLUDE_DIRS}
)
set(QtXmlPatternsLib ${Qt5XmlPatterns_LIBRARIES})
else(BUILD_QT5)
include_directories(
${QT_QTXMLPATTERNS_INCLUDE_DIR}
)
set(QtXmlPatternsLib ${QT_QTXMLPATTERNS_LIBRARY})
endif(BUILD_QT5)
link_directories(${OCC_LIBRARY_DIR})
set(TechDrawLIBS
Measure
Part
Spreadsheet
Drawing
Import
)
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)
SET(Draw_SRCS
DrawPage.cpp
DrawPage.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
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
QDomNodeModel.cpp
QDomNodeModel.h
DrawTile.cpp
DrawTile.h
DrawTileWeld.cpp
DrawTileWeld.h
DrawWeldSymbol.cpp
DrawWeldSymbol.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
)
SET(Geometry_SRCS
Geometry.cpp
Geometry.h
GeometryObject.cpp
GeometryObject.h
Cosmetic.cpp
Cosmetic.h
PropertyGeomFormatList.cpp
PropertyGeomFormatList.h
PropertyCenterLineList.cpp
PropertyCenterLineList.h
PropertyCosmeticEdgeList.cpp
PropertyCosmeticEdgeList.h
PropertyCosmeticVertexList.cpp
PropertyCosmeticVertexList.h
CosmeticExtension.cpp
CosmeticExtension.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
)
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" TechDrawCPP_SRCS ${TechDraw_SRCS} ${Draw_SRCS} )
#ADD_MSVC_PRECOMPILED_HEADER(TechDraw PreCompiled.h PreCompiled.cpp TechDrawCPP_SRCS)
endif(FREECAD_USE_PCH)
add_library(TechDraw SHARED ${TechDraw_SRCS} ${Draw_SRCS} ${TechDrawAlgos_SRCS}
${Geometry_SRCS} ${Python_SRCS})
target_link_libraries(TechDraw ${TechDrawLIBS};${QtXmlPatternsLib};${TechDraw})
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})