pfe/CMakeLists.txt

77 lines
2.0 KiB
CMake

cmake_minimum_required(VERSION 3.15)
project(pfe)
set(VTK_COMPONENTS
VTK::CommonCore
VTK::IOCore
VTK::FiltersCore
VTK::CommonColor
VTK::CommonDataModel
VTK::IOLegacy
VTK::IOGeometry
VTK::IOXML
VTK::FiltersModeling
VTK::FiltersGeometry
VTK::vtksys)
set(ENABLE_VIEWER OFF CACHE BOOL "Enable the 3D viewer, depends on Qt.")
if(ENABLE_VIEWER)
list(APPEND VTK_COMPONENTS
VTK::RenderingCore
VTK::ViewsCore
VTK::GUISupportQt
VTK::RenderingQt
VTK::ViewsQt
VTK::RenderingVolume
VTK::RenderingVolumeOpenGL2)
endif()
set(USE_SYSTEM_VTK NO CACHE BOOL
"Use the version of vtk installed in the system instead of downloading and compiling it ourselves.")
if(USE_SYSTEM_VTK)
list(TRANSFORM VTK_COMPONENTS REPLACE "VTK::" ""
OUTPUT_VARIABLE VTK_PACKAGE_COMPONENTS)
message("VTK_COMPONENTS: ${VTK_COMPONENTS}")
message("VTK_PACKAGE_COMPONENTS: ${VTK_PACKAGE_COMPONENTS}")
find_package(VTK COMPONENTS ${VTK_PACKAGE_COMPONENTS})
else()
add_subdirectory(external/vtk)
endif()
add_executable(pfe)
target_compile_features(pfe PRIVATE cxx_std_17)
target_sources(pfe PRIVATE
src/main.cc
src/analysis/angles_filter.cc
src/analysis/angles_filter.h
src/analysis/aspect_ratio_filter.cc
src/analysis/aspect_ratio_filter.h
src/analysis/dihedral_angles_filter.cc
src/analysis/dihedral_angles_filter.h
src/surface_points_filter.cc
src/surface_points_filter.h
src/kd_tree.cc
src/kd_tree.h
src/fitting/mesh_fit_filter.cc
src/fitting/mesh_fit_filter.h
src/point_tris_dist.cc
src/point_tris_dist.h
src/fitting/project_surface_points_on_poly.cc
src/fitting/project_surface_points_on_poly.h
src/fitting/remove_external_cells_filter.cc
src/fitting/remove_external_cells_filter.h
src/fitting/relaxation_filter.cc
src/fitting/relaxation_filter.h
src/analysis/max_distance_filter.cc
src/analysis/max_distance_filter.h
src/closest_polymesh_point.cc
src/closest_polymesh_point.h)
target_link_libraries(pfe PRIVATE ${VTK_COMPONENTS})
if(ENABLE_VIEWER)
target_compile_definitions(pfe PRIVATE ENABLE_VIEWER)
endif()