project(libslic3r) cmake_minimum_required(VERSION 2.6) include(PrecompiledHeader) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libslic3r_version.h.in ${CMAKE_CURRENT_BINARY_DIR}/libslic3r_version.h @ONLY) add_library(libslic3r STATIC pchheader.cpp pchheader.hpp BoundingBox.cpp BoundingBox.hpp BridgeDetector.cpp BridgeDetector.hpp ClipperUtils.cpp ClipperUtils.hpp Config.cpp Config.hpp EdgeGrid.cpp EdgeGrid.hpp ExPolygon.cpp ExPolygon.hpp ExPolygonCollection.cpp ExPolygonCollection.hpp Extruder.cpp Extruder.hpp ExtrusionEntity.cpp ExtrusionEntity.hpp ExtrusionEntityCollection.cpp ExtrusionEntityCollection.hpp ExtrusionSimulator.cpp ExtrusionSimulator.hpp FileParserError.hpp Fill/Fill.cpp Fill/Fill.hpp Fill/Fill3DHoneycomb.cpp Fill/Fill3DHoneycomb.hpp Fill/FillBase.cpp Fill/FillBase.hpp Fill/FillConcentric.cpp Fill/FillConcentric.hpp Fill/FillHoneycomb.cpp Fill/FillHoneycomb.hpp Fill/FillGyroid.cpp Fill/FillGyroid.hpp Fill/FillPlanePath.cpp Fill/FillPlanePath.hpp Fill/FillRectilinear.cpp Fill/FillRectilinear.hpp Fill/FillRectilinear2.cpp Fill/FillRectilinear2.hpp Fill/FillRectilinear3.cpp Fill/FillRectilinear3.hpp Flow.cpp Flow.hpp Format/3mf.cpp Format/3mf.hpp Format/AMF.cpp Format/AMF.hpp Format/OBJ.cpp Format/OBJ.hpp Format/objparser.cpp Format/objparser.hpp Format/PRUS.cpp Format/PRUS.hpp Format/STL.cpp Format/STL.hpp GCode/Analyzer.cpp GCode/Analyzer.hpp GCode/CoolingBuffer.cpp GCode/CoolingBuffer.hpp GCode/PostProcessor.cpp GCode/PostProcessor.hpp GCode/PressureEqualizer.cpp GCode/PressureEqualizer.hpp GCode/PreviewData.cpp GCode/PreviewData.hpp GCode/PrintExtents.cpp GCode/PrintExtents.hpp GCode/SpiralVase.cpp GCode/SpiralVase.hpp GCode/ToolOrdering.cpp GCode/ToolOrdering.hpp GCode/WipeTower.hpp GCode/WipeTowerPrusaMM.cpp GCode/WipeTowerPrusaMM.hpp GCode.cpp GCode.hpp GCodeReader.cpp GCodeReader.hpp GCodeSender.cpp GCodeSender.hpp GCodeTimeEstimator.cpp GCodeTimeEstimator.hpp GCodeWriter.cpp GCodeWriter.hpp Geometry.cpp Geometry.hpp Int128.hpp # KdTree.hpp Layer.cpp Layer.hpp LayerRegion.cpp libslic3r.h "${CMAKE_CURRENT_BINARY_DIR}/libslic3r_version.h" Line.cpp Line.hpp Model.cpp Model.hpp ModelArrange.hpp ModelArrange.cpp MotionPlanner.cpp MotionPlanner.hpp MultiPoint.cpp MultiPoint.hpp MutablePriorityQueue.hpp PerimeterGenerator.cpp PerimeterGenerator.hpp PlaceholderParser.cpp PlaceholderParser.hpp Point.cpp Point.hpp Polygon.cpp Polygon.hpp Polyline.cpp Polyline.hpp PolylineCollection.cpp PolylineCollection.hpp Print.cpp Print.hpp PrintBase.cpp PrintBase.hpp PrintExport.hpp PrintConfig.cpp PrintConfig.hpp PrintObject.cpp PrintRegion.cpp Rasterizer/Rasterizer.hpp Rasterizer/Rasterizer.cpp SLAPrint.cpp SLAPrint.hpp Slicing.cpp Slicing.hpp SlicingAdaptive.cpp SlicingAdaptive.hpp SupportMaterial.cpp SupportMaterial.hpp Surface.cpp Surface.hpp SurfaceCollection.cpp SurfaceCollection.hpp SVG.cpp SVG.hpp Technologies.hpp TriangleMesh.cpp TriangleMesh.hpp utils.cpp Utils.hpp SLA/SLABoilerPlate.hpp SLA/SLABasePool.hpp SLA/SLABasePool.cpp SLA/SLASupportTree.hpp SLA/SLASupportTree.cpp SLA/SLASupportTreeIGL.cpp SLA/SLARotfinder.hpp SLA/SLARotfinder.cpp SLA/SLABoostAdapter.hpp SLA/SLASpatIndex.hpp ) if (NOT SLIC3R_SYNTAXONLY) add_precompiled_header(libslic3r pchheader.hpp FORCEINCLUDE) endif () target_compile_definitions(libslic3r PUBLIC -DUSE_TBB ${PNG_DEFINITIONS}) target_include_directories(libslic3r PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${LIBNEST2D_INCLUDES} ${PNG_INCLUDE_DIRS}) target_link_libraries(libslic3r libnest2d admesh miniz ${Boost_LIBRARIES} clipper nowide ${EXPAT_LIBRARIES} ${GLEW_LIBRARIES} ${PNG_LIBRARIES} polypartition poly2tri qhull semver tbb ) if(SLIC3R_PROFILE) target_link_libraries(slic3r Shiny) endif()