FreeCAD / src /Mod /PartDesign /App /CMakeLists.txt
AbdulElahGwaith's picture
Upload folder using huggingface_hub
985c397 verified
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
$<$<COMPILE_LANGUAGE:CXX>:"${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})