include_directories( SYSTEM ${CMAKE_SOURCE_DIR}/src/3rdParty/json/single_include/nlohmann/ ) generate_from_py(Body) generate_from_py(Feature) set(PartDesign_LIBS ${OCC_LIBRARIES} ${OCC_DEBUG_LIBRARIES} Part FreeCADApp ) SET(Features_SRCS Feature.cpp Feature.h FeatureSolid.cpp FeatureSolid.h Body.cpp Body.h FeatureBase.h FeatureBase.cpp ) SOURCE_GROUP("Features" FILES ${Features_SRCS}) SET(DatumFeatures_SRCS ShapeBinder.h ShapeBinder.cpp DatumPlane.cpp DatumPlane.h DatumLine.cpp DatumLine.h DatumPoint.cpp DatumPoint.h DatumCS.h DatumCS.cpp ) SOURCE_GROUP("DatumFeatures" FILES ${DatumFeatures_SRCS}) SET(FeaturesTransformed_SRCS FeatureTransformed.h FeatureTransformed.cpp FeatureMirrored.h FeatureMirrored.cpp FeatureLinearPattern.h FeatureLinearPattern.cpp FeaturePolarPattern.h FeaturePolarPattern.cpp FeatureScaled.h FeatureScaled.cpp FeatureMultiTransform.h FeatureMultiTransform.cpp ) SOURCE_GROUP("FeaturesTransformed" FILES ${FeaturesTransformed_SRCS}) SET(FeaturesDressUp_SRCS FeatureDressUp.cpp FeatureDressUp.h FeatureFillet.cpp FeatureFillet.h FeatureChamfer.cpp FeatureChamfer.h FeatureDraft.cpp FeatureDraft.h FeatureThickness.cpp FeatureThickness.h ) SOURCE_GROUP("DressUpFeatures" FILES ${FeaturesDressUp_SRCS}) SET(FeaturesSketchBased_SRCS FeatureExtrude.cpp FeatureExtrude.h FeatureSketchBased.cpp FeatureSketchBased.h FeaturePad.cpp FeaturePad.h FeaturePocket.cpp FeaturePocket.h FeatureRevolution.cpp FeatureRevolution.h FeatureGroove.cpp FeatureGroove.h FeatureRefine.cpp FeatureRefine.h FeatureAddSub.cpp FeatureAddSub.h FeatureHole.h FeatureHole.cpp FeatureBoolean.h FeatureBoolean.cpp FeaturePrimitive.h FeaturePrimitive.cpp FeaturePipe.h FeaturePipe.cpp FeatureLoft.h FeatureLoft.cpp FeatureHelix.h FeatureHelix.cpp ) SOURCE_GROUP("SketchBasedFeatures" FILES ${FeaturesSketchBased_SRCS}) SET(Module_SRCS AppPartDesign.cpp AppPartDesignPy.cpp PreCompiled.h Measure.cpp Measure.h ) SOURCE_GROUP("Module" FILES ${Module_SRCS}) SET(Python_SRCS Body.pyi BodyPyImp.cpp Feature.pyi FeaturePyImp.cpp ) SOURCE_GROUP("Python" FILES ${Python_SRCS}) SET(PartDesign_SRCS ${Features_SRCS} ${DatumFeatures_SRCS} ${FeaturesTransformed_SRCS} ${FeaturesSketchBased_SRCS} ${FeaturesDressUp_SRCS} ${Module_SRCS} ${Python_SRCS} ) add_library(PartDesign SHARED ${PartDesign_SRCS}) target_include_directories( PartDesign PRIVATE ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/src ${CMAKE_CURRENT_BINARY_DIR} ) target_link_directories(PartDesign PUBLIC ${OCC_LIBRARY_DIR}) target_link_libraries(PartDesign ${PartDesign_LIBS}) if (MSVC) target_compile_options(PartDesign PRIVATE /wd4275) endif() if (FREECAD_WARN_ERROR) target_compile_warn_error(PartDesign) endif() if(FREECAD_USE_PCH) target_precompile_headers(PartDesign PRIVATE $<$:"${CMAKE_CURRENT_LIST_DIR}/PreCompiled.h"> ) endif(FREECAD_USE_PCH) SET_BIN_DIR(PartDesign _PartDesign /Mod/PartDesign) SET_PYTHON_PREFIX_SUFFIX(PartDesign) INSTALL(TARGETS PartDesign DESTINATION ${CMAKE_INSTALL_LIBDIR})