cmake_minimum_required(VERSION 3.15) project(tp LANGUAGES C CXX) find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets) add_subdirectory(external/OpenMesh) add_subdirectory(external/Eigen) add_subdirectory(external/MeshReconstruction) target_include_directories(MeshReconstruction INTERFACE external/MeshReconstruction/lib) add_executable(${PROJECT_NAME}) target_sources(${PROJECT_NAME} PRIVATE resources.qrc src/main.cpp src/main_window.cpp src/main_window.h src/mesh_processor.cpp src/mesh_processor.h src/mesh_view.cpp src/mesh_view.h src/mesh_viewer.cpp src/mesh_viewer.h src/my_mesh.h src/smoothing.cpp src/smoothing.h src/util.cpp src/util.h src/curvature.cpp src/curvature.h src/quad_patch.cpp src/quad_patch.h src/quad_patch_tesselator.cpp src/quad_patch_tesselator.h src/hole_filling.cpp src/hole_filling.h src/double_input.cpp src/double_input.h src/noise_removal.cpp src/noise_removal.h) target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Gui Qt5::Widgets OpenMeshCore eigen MeshReconstruction) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) set_target_properties(${PROJECT_NAME} PROPERTIES AUTOMOC ON AUTORCC ON AUTOUIC ON)