#----------------------------------------------------------------------------- project(runTimePostProcessing) include(${VTK_USE_FILE}) if(VTK_LIBRARIES) message("Found VTK LIBRARIES: " ${VTK_USE_FILE}) endif() if(${VTK_VERSION} VERSION_GREATER "6") message("VTK version: " ${VTK_VERSION}) else() message(FATAL_ERROR " VTK version is too old - requires VTK6 or newer") endif() #----------------------------------------------------------------------------- # Test some characteristics set(test_file ${CMAKE_CURRENT_BINARY_DIR}/check_mpi.cxx) file(WRITE ${test_file} "#include \n" "int main() {\n" " vtkMPICommunicator* p = vtkMPICommunicator::New();\n" " p->Delete();\n" " return 0;\n" "}" ) try_compile(FOAM_USING_VTK_MPI ${CMAKE_CURRENT_BINARY_DIR} ${test_file} LINK_LIBRARIES vtkParallelMPI CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${VTK_INCLUDE_DIRS}" ) if (FOAM_USING_VTK_MPI) add_definitions(-DFOAM_USING_VTK_MPI) message("Building with VTK MPI") include(vtkMPI) else() message(WARNING "==== Building without VTK MPI ====") endif() #----------------------------------------------------------------------------- include_directories( ${LIB_SRC}/OpenFOAM/include ${LIB_SRC}/OpenFOAM/lnInclude ${LIB_SRC}/OSspecific/${WM_OSTYPE}/lnInclude ${LIB_SRC}/finiteVolume/lnInclude ${LIB_SRC}/fileFormats/lnInclude ${LIB_SRC}/conversion/lnInclude ${LIB_SRC}/surfMesh/lnInclude ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ) link_directories( $ENV{FOAM_LIBBIN} ) set(CMAKE_BUILD_TYPE Release) # Build intermediate (library) directly into the OpenFOAM libdir # - implies CMAKE_INSTALL_PREFIX is ignored and there is no 'install' phase set(LIBRARY_OUTPUT_PATH $ENV{FOAM_LIBBIN} CACHE INTERNAL "" ) ## Record VTK version for general bookkeeping # file(WRITE # ${CMAKE_BINARY_DIR}/version # "VTK_VERSION=${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}\n" # ) file(GLOB SOURCE_FILES fieldVisualisationBase.C scalarBar.C functionObjectBase.C functionObjectCloud.C functionObjectLine.C functionObjectSurface.C geometryBase.C geometryCloud.C geometryCloudGather.C geometryPatches.C geometryPatchesGather.C geometrySurface.C pathline.C pointData.C runTimePostProcessing.C runTimePostProcessingFunctionObject.C scene.C surface.C surfaceGather.C text.C contourFilter.C cuttingPlaneFilter.C volumeFilter.C ) set(OPENFOAM_LIBRARIES OpenFOAM finiteVolume surfMesh fileFormats conversion ) if (FOAM_USING_VTK_MPI) set(LINK_LIBRARIES vtkParallelMPI) else() set(LINK_LIBRARIES) endif() add_library( runTimePostProcessing SHARED ${SOURCE_FILES} ) set_target_properties( runTimePostProcessing PROPERTIES VERSION ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION} SOVERSION ${VTK_MAJOR_VERSION} ) target_link_libraries( runTimePostProcessing ${VTK_LIBRARIES} ${LINK_LIBRARIES} ${OPENFOAM_LIBRARIES} ) #-----------------------------------------------------------------------------