#PRISMAMESH CMAKELISTS FILE cmake_minimum_required(VERSION 3.12 FATAL_ERROR) project(createmesh) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_ENTENSIONS OFF) set(CMAKE_BUILD_TYPE Release) set(CMAKE_CXX_FLAGS "") set(CMAKE_CXX_FLAGS_DEBUG "-g") set(CMAKE_CXX_FLAGS_RELEASE "-O3") # Find ITK. find_package(ITK REQUIRED) include(${ITK_USE_FILE}) if (ITKVtkGlue_LOADED) find_package(VTK REQUIRED) # if(VTK_VERSION VERSION_LESS "8.90") include(${VTK_USE_FILE}) # endif() endif() # Try to find VTK, but don't use the default paths. find_package(VTK QUIET NO_DEFAULT_PATH) # If VTK is not found, set the directories manually. if(NOT VTK_FOUND) set(VTK_DIR "/home/3484681/Área de Trabalho/vtk-master/vtk-9.3") set(VTK_INCLUDE_DIRS "/home/3484681/Área de Trabalho/vtk-master/vtk-9.3/include/vtk-9.3") endif() # FIND VTK PACKAGE find_package(VTK REQUIRED COMPONENTS CommonColor CommonCore CommonDataModel IOImage IOXML InteractionStyle RenderingContextOpenGL2 RenderingCore RenderingFreeType RenderingGL2PSOpenGL2 RenderingOpenGL2 #FILTERING FiltersCore FiltersGeneral FiltersGeometry ImagingStatistics ) set(MPI_FOUND FALSE) if (NOT VTK_FOUND) message(FATAL_ERROR "PRISMAMESH: Unable to find the VTK build folder.") endif() # Use the find_package command to search for Boost find_package(Boost REQUIRED) #FIND MPI find_package(MPI REQUIRED) if(MPI_FOUND) message("MPI found.") else() message("MPI not found.") endif() # MANUALLY ENABLE/DISENABLE MPI SUPPORT option(ENABLE_MPI "Enable MPI support" OFF) set(ENABLE_MPI OFF) if(ENABLE_MPI) message("MPI support is enabled") else() message("MPI support is not enabled") endif() #if(VTK_VERSION VERSION_LESS "8.90") include(${VTK_USE_FILE}) #endif() add_executable(createmesh createmesh.cxx segmentation_io.cxx visualize_polidata.cxx MeshWriter.cxx) target_include_directories(createmesh PRIVATE ${VTK_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/include) target_link_libraries(createmesh PRIVATE ${VTK_LIBRARIES} ${ITK_LIBRARIES}) if(ENABLE_MPI) target_include_directories(createmesh PRIVATE ${MPI_CXX_INCLUDE_PATH} SYSTEM ${MPI_INCLUDE_PATH}) target_link_libraries(createmesh PRIVATE ${MPI_LIBRARIES}) endif() if(ENABLE_MPI AND MPI_FOUND) #Define the WriteParallelMesh function target_sources(createmesh PRIVATE write_parallel.cxx) #Add the MPI_ENABLED definition to your compile flags add_compile_definitions(MPI_ENABLED) endif() # vtk_module_autoinit is needed vtk_module_autoinit( TARGETS createmesh MODULES ${VTK_LIBRARIES} )