From 4c40c9c86f00377d77f0587fc0ee62df62efb09d Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 15 May 2018 09:28:11 +0100 Subject: [PATCH] COMP: allow catalystFoam without ParaView MPI support - ParaView Catalyst with MPI is advisable (especially for larger simulations), but not a requirement --- src/catalyst/CMakeLists-Common.txt | 43 +++++++++++++++++------------- src/catalyst/CMakeLists.txt | 8 +++--- 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/src/catalyst/CMakeLists-Common.txt b/src/catalyst/CMakeLists-Common.txt index 341fed0..375ec68 100644 --- a/src/catalyst/CMakeLists-Common.txt +++ b/src/catalyst/CMakeLists-Common.txt @@ -20,8 +20,8 @@ link_directories( ) add_definitions( - -DWM_$ENV{WM_PRECISION_OPTION} -DNoRepository - -DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE} + -DWM_$ENV{WM_PRECISION_OPTION} -DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE} + -DNoRepository ) set(CMAKE_BUILD_TYPE Release) @@ -29,29 +29,27 @@ set(CMAKE_BUILD_TYPE Release) set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wno-overloaded-virtual" ) -set(CMAKE_C_FLAGS_DEBUG "-g -O0 -std=c++11") - set(CMAKE_CXX_FLAGS_RELEASE - "-O3 -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wno-overloaded-virtual") -set(CMAKE_C_FLAGS_RELEASE "-O3 -std=c++11") + "-O3 -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wno-overloaded-virtual" +) # Some characteristics set(test_file ${CMAKE_CURRENT_BINARY_DIR}/check_initialize.cxx) file(WRITE ${test_file} - "#include <vtkCPProcessor.h>\n" - "int main() {\n" - " vtkCPProcessor* p = vtkCPProcessor::New();\n" - " p->Initialize(\"AAA\");\n" - " p->Delete();\n" - " return 0;\n" - "}") + "#include <vtkCPProcessor.h>\n" + "int main() {\n" + " vtkCPProcessor* p = vtkCPProcessor::New();\n" + " p->Initialize(\"AAA\");\n" + " p->Delete();\n" + " return 0;\n" + "}" +) try_compile(CATALYST_HAS_WORKING_DIRECTORY - ${CMAKE_CURRENT_BINARY_DIR} ${test_file} - LINK_LIBRARIES vtkPVPythonCatalyst - CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${PARAVIEW_INCLUDE_DIRS}" - ) + ${CMAKE_CURRENT_BINARY_DIR} ${test_file} + CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${PARAVIEW_INCLUDE_DIRS}" +) if (CATALYST_HAS_WORKING_DIRECTORY) - add_definitions(-DUSE_CATALYST_WORKING_DIRECTORY) + add_definitions(-DUSE_CATALYST_WORKING_DIRECTORY) endif() @@ -94,6 +92,13 @@ set(OPENFOAM_LIBRARIES overset ) + +if (PARAVIEW_USE_MPI) + set(LINK_LIBRARIES vtkPVPythonCatalyst vtkParallelMPI) +else() + set(LINK_LIBRARIES vtkPVPythonCatalyst) +endif() + add_library( catalystFoam SHARED @@ -102,7 +107,7 @@ add_library( target_link_libraries( catalystFoam - vtkPVPythonCatalyst vtkParallelMPI + ${LINK_LIBRARIES} ${OPENFOAM_LIBRARIES} ) diff --git a/src/catalyst/CMakeLists.txt b/src/catalyst/CMakeLists.txt index 0f20b1a..b84df5b 100644 --- a/src/catalyst/CMakeLists.txt +++ b/src/catalyst/CMakeLists.txt @@ -8,12 +8,12 @@ cmake_policy(SET CMP0002 OLD) if (EXISTS "$ENV{ParaView_DIR}") message("Building with Paraview from $ENV{ParaView_DIR}") find_package(ParaView REQUIRED COMPONENTS vtkPVPythonCatalyst) - if(NOT PARAVIEW_USE_MPI) - message(SEND_ERROR "ParaView must be built with MPI enabled") + if (NOT PARAVIEW_USE_MPI) + message(WARNING "==== Recommended to build using ParaView Catalyst with MPI ====") endif() -else () +else() message (FATAL_ERROR "ParaView_DIR not set") -endif () +endif() include(CMakeLists-Common.txt) -- GitLab