diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists-OpenFOAM.txt b/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists-OpenFOAM.txt new file mode 100644 index 0000000000000000000000000000000000000000..15c675adecbd4663176d8c1d86adc8534959cb51 --- /dev/null +++ b/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists-OpenFOAM.txt @@ -0,0 +1,26 @@ +#----------------------------------------------------------------------------- +# Standard definitions when using OpenFOAM + +if (NOT EXISTS "$ENV{WM_PROJECT_DIR}") + message(FATAL_ERROR "WM_PROJECT_DIR not set - no OpenFOAM??") +endif() + +# WM_OSTYPE env variable is optional (only POSIX anyhow) +if (EXISTS "$ENV{WM_OSTYPE}") + set(WM_OSTYPE "$ENV{WM_OSTYPE}") +else() + set(WM_OSTYPE "POSIX") +endif() + +# Convenience name, as per wmake internals +set(LIB_SRC "$ENV{WM_PROJECT_DIR}/src") + +# Needed for internal label-size, scalar-size, templates +add_definitions( + -DWM_$ENV{WM_PRECISION_OPTION} + -DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE} + -DNoRepository + -std=c++11 +) + +#----------------------------------------------------------------------------- diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists-Project.txt b/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists-Project.txt new file mode 100644 index 0000000000000000000000000000000000000000..f5b7e80988049a0f40a2347797cffa5bbd0c4709 --- /dev/null +++ b/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists-Project.txt @@ -0,0 +1,65 @@ +#----------------------------------------------------------------------------- +# OpenFOAM reader plugin for ParaView GUI + +link_directories( + $ENV{FOAM_LIBBIN} +) + +include_directories( + ${LIB_SRC}/OpenFOAM/lnInclude + ${LIB_SRC}/OSspecific/${WM_OSTYPE}/lnInclude + ${LIB_SRC}/conversion/lnInclude + ${LIB_SRC}/finiteArea/lnInclude + ${LIB_SRC}/finiteVolume/lnInclude + ${PROJECT_SOURCE_DIR}/../foamPv + ${PROJECT_SOURCE_DIR}/../vtkPVFoam +) + +set(OPENFOAM_LIBRARIES + OpenFOAM + finiteVolume + finiteArea + conversion +) + +# Set output library destination to plugin directory +set( + LIBRARY_OUTPUT_PATH $ENV{PV_PLUGIN_PATH} + CACHE INTERNAL + "Single output directory for building all libraries." +) + + +if (PARAVIEW_QT_VERSION VERSION_GREATER "4") + qt5_wrap_cpp(MOC_SRCS pqFoamReaderControls.h) +else() + qt4_wrap_cpp(MOC_SRCS pqFoamReaderControls.h) +endif() + +add_paraview_property_group_widget(IFACES0 IFACES0_SRCS + TYPE "openfoam_reader_general_controls" + CLASS_NAME pqFoamReaderControls +) + +add_paraview_plugin( + PVFoamReader_SM "1.0" + SERVER_MANAGER_XML PVFoamReader_SM.xml + SERVER_MANAGER_SOURCES vtkPVFoamReader.cxx + GUI_INTERFACES + ${IFACES0} + SOURCES + ${IFACES0_SRCS} + ${MOC_SRCS} + pqFoamReaderControls.cxx +) + + +target_link_libraries( + PVFoamReader_SM + LINK_PUBLIC + vtkPVFoam-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR} + foamPv-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR} + ${OPENFOAM_LIBRARIES} +) + +#----------------------------------------------------------------------------- diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists.txt b/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists.txt index 621dcf61ae1a028606a5c9768197e2c920f4d828..f18eef56cab009917db41e58623615c99bb67f73 100644 --- a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists.txt +++ b/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists.txt @@ -1,101 +1,23 @@ -# Create a plugin to add a reader to the ParaView GUI - -cmake_minimum_required(VERSION 2.8) - -find_package(ParaView REQUIRED) -include(${PARAVIEW_USE_FILE}) - #----------------------------------------------------------------------------- -# Standard definitions when using OpenFOAM -if (NOT EXISTS "$ENV{WM_PROJECT_DIR}") - message(FATAL_ERROR "WM_PROJECT_DIR not set - no OpenFOAM??") -endif() +cmake_minimum_required(VERSION 2.8) +cmake_policy(SET CMP0002 NEW) # Policy CMP0002 required for for cmake >= 3 -# WM_OSTYPE env variable is optional (only POSIX anyhow) -if (EXISTS "$ENV{WM_OSTYPE}") - set(WM_OSTYPE "$ENV{WM_OSTYPE}") -else() - set(WM_OSTYPE "POSIX") +# Fail if not building out-of-source +if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR) + message(FATAL_ERROR + "In-source builds disallowed. Use a separate build directory") endif() -# Convenience name, as per wmake internals -set(LIB_SRC "$ENV{WM_PROJECT_DIR}/src") - -# Needed for internal label-size, scalar-size, templates -add_definitions( - -DWM_$ENV{WM_PRECISION_OPTION} - -DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE} - -DNoRepository - - -std=c++11 -) - #----------------------------------------------------------------------------- +# Simple discovery and sanity checks -link_directories( - $ENV{FOAM_LIBBIN} -) - -include_directories( - ${LIB_SRC}/OpenFOAM/lnInclude - ${LIB_SRC}/OSspecific/${WM_OSTYPE}/lnInclude - ${LIB_SRC}/conversion/lnInclude - ${LIB_SRC}/finiteArea/lnInclude - ${LIB_SRC}/finiteVolume/lnInclude - ${PROJECT_SOURCE_DIR}/../foamPv - ${PROJECT_SOURCE_DIR}/../vtkPVFoam -) - -set(OPENFOAM_LIBRARIES - OpenFOAM - finiteVolume - finiteArea - conversion -) - -# Set output library destination to plugin directory -set( - LIBRARY_OUTPUT_PATH $ENV{PV_PLUGIN_PATH} - CACHE INTERNAL - "Single output directory for building all libraries." -) - - -if (PARAVIEW_QT_VERSION VERSION_GREATER "4") - qt5_wrap_cpp(MOC_SRCS - pqFoamReaderControls.h - ) -else() - qt4_wrap_cpp(MOC_SRCS - pqFoamReaderControls.h - ) -endif() - -add_paraview_property_group_widget(IFACES0 IFACES0_SRCS - TYPE "openfoam_reader_general_controls" - CLASS_NAME pqFoamReaderControls -) - -add_paraview_plugin( - PVFoamReader_SM "1.0" - SERVER_MANAGER_XML PVFoamReader_SM.xml - SERVER_MANAGER_SOURCES vtkPVFoamReader.cxx - GUI_INTERFACES - ${IFACES0} - SOURCES - ${IFACES0_SRCS} - ${MOC_SRCS} - pqFoamReaderControls.cxx -) +find_package(ParaView REQUIRED) +include(${PARAVIEW_USE_FILE}) +#----------------------------------------------------------------------------- -target_link_libraries( - PVFoamReader_SM - LINK_PUBLIC - vtkPVFoam-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR} - foamPv-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR} - ${OPENFOAM_LIBRARIES} -) +include(CMakeLists-OpenFOAM.txt) +include(CMakeLists-Project.txt) #----------------------------------------------------------------------------- diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists-OpenFOAM.txt b/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists-OpenFOAM.txt new file mode 100644 index 0000000000000000000000000000000000000000..15c675adecbd4663176d8c1d86adc8534959cb51 --- /dev/null +++ b/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists-OpenFOAM.txt @@ -0,0 +1,26 @@ +#----------------------------------------------------------------------------- +# Standard definitions when using OpenFOAM + +if (NOT EXISTS "$ENV{WM_PROJECT_DIR}") + message(FATAL_ERROR "WM_PROJECT_DIR not set - no OpenFOAM??") +endif() + +# WM_OSTYPE env variable is optional (only POSIX anyhow) +if (EXISTS "$ENV{WM_OSTYPE}") + set(WM_OSTYPE "$ENV{WM_OSTYPE}") +else() + set(WM_OSTYPE "POSIX") +endif() + +# Convenience name, as per wmake internals +set(LIB_SRC "$ENV{WM_PROJECT_DIR}/src") + +# Needed for internal label-size, scalar-size, templates +add_definitions( + -DWM_$ENV{WM_PRECISION_OPTION} + -DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE} + -DNoRepository + -std=c++11 +) + +#----------------------------------------------------------------------------- diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists-Project.txt b/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists-Project.txt new file mode 100644 index 0000000000000000000000000000000000000000..544f3a5478e3b168303d9f92cab62aa7fcf667b5 --- /dev/null +++ b/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists-Project.txt @@ -0,0 +1,61 @@ +#----------------------------------------------------------------------------- +# OpenFOAM blockMeshDict reader plugin for ParaView GUI + +link_directories( + $ENV{FOAM_LIBBIN} +) + +include_directories( + ${LIB_SRC}/OpenFOAM/lnInclude + ${LIB_SRC}/OSspecific/${WM_OSTYPE}/lnInclude + ${LIB_SRC}/meshing/blockMesh/lnInclude + ${PROJECT_SOURCE_DIR}/../foamPv + ${PROJECT_SOURCE_DIR}/../vtkPVblockMesh +) + +set(OPENFOAM_LIBRARIES + OpenFOAM + blockMesh +) + +# Set output library destination to plugin directory +set( + LIBRARY_OUTPUT_PATH $ENV{PV_PLUGIN_PATH} + CACHE INTERNAL + "Single output directory for building all libraries." +) + + +if (PARAVIEW_QT_VERSION VERSION_GREATER "4") + qt5_wrap_cpp(MOC_SRCS pqFoamBlockMeshControls.h) +else() + qt4_wrap_cpp(MOC_SRCS pqFoamBlockMeshControls.h) +endif() + +add_paraview_property_group_widget(IFACES0 IFACES0_SRCS + TYPE "openfoam_blockMesh_general_controls" + CLASS_NAME pqFoamBlockMeshControls +) + +add_paraview_plugin( + PVblockMeshReader_SM "1.0" + SERVER_MANAGER_XML PVblockMeshReader_SM.xml + SERVER_MANAGER_SOURCES vtkPVblockMeshReader.cxx + GUI_INTERFACES + ${IFACES0} + SOURCES + ${IFACES0_SRCS} + ${MOC_SRCS} + pqFoamBlockMeshControls.cxx +) + + +target_link_libraries( + PVblockMeshReader_SM + LINK_PUBLIC + vtkPVblockMesh-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR} + foamPv-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR} + ${OPENFOAM_LIBRARIES} +) + +#----------------------------------------------------------------------------- diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists.txt b/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists.txt index c6ae7a2db120dcfe7341f2fbf0c39291bfb2cce3..f18eef56cab009917db41e58623615c99bb67f73 100644 --- a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists.txt +++ b/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists.txt @@ -1,96 +1,23 @@ -# Create a plugin to add a reader to the ParaView GUI - -cmake_minimum_required(VERSION 2.6) - -find_package(ParaView REQUIRED) -include(${PARAVIEW_USE_FILE}) - -link_directories( - $ENV{FOAM_LIBBIN} -) - #----------------------------------------------------------------------------- -# Standard definitions when using OpenFOAM -if (NOT EXISTS "$ENV{WM_PROJECT_DIR}") - message(FATAL_ERROR "WM_PROJECT_DIR not set - no OpenFOAM??") -endif() +cmake_minimum_required(VERSION 2.8) +cmake_policy(SET CMP0002 NEW) # Policy CMP0002 required for for cmake >= 3 -# WM_OSTYPE env variable is optional (only POSIX anyhow) -if (EXISTS "$ENV{WM_OSTYPE}") - set(WM_OSTYPE "$ENV{WM_OSTYPE}") -else() - set(WM_OSTYPE "POSIX") +# Fail if not building out-of-source +if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR) + message(FATAL_ERROR + "In-source builds disallowed. Use a separate build directory") endif() -# Convenience name, as per wmake internals -set(LIB_SRC "$ENV{WM_PROJECT_DIR}/src") - -# Needed for internal label-size, scalar-size, templates -add_definitions( - -DWM_$ENV{WM_PRECISION_OPTION} - -DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE} - -DNoRepository - - -std=c++11 -) - #----------------------------------------------------------------------------- -include_directories( - ${LIB_SRC}/OpenFOAM/lnInclude - ${LIB_SRC}/OSspecific/${WM_OSTYPE}/lnInclude - ${LIB_SRC}/meshing/blockMesh/lnInclude - ${PROJECT_SOURCE_DIR}/../foamPv - ${PROJECT_SOURCE_DIR}/../vtkPVblockMesh -) +# Simple discovery and sanity checks -set(OPENFOAM_LIBRARIES - OpenFOAM - blockMesh -) - -# Set output library destination to plugin directory -set( - LIBRARY_OUTPUT_PATH $ENV{PV_PLUGIN_PATH} - CACHE INTERNAL - "Single output directory for building all libraries." -) - - -if (PARAVIEW_QT_VERSION VERSION_GREATER "4") - qt5_wrap_cpp(MOC_SRCS - pqFoamBlockMeshControls.h - ) -else() - qt4_wrap_cpp(MOC_SRCS - pqFoamBlockMeshControls.h - ) -endif() - -add_paraview_property_group_widget(IFACES0 IFACES0_SRCS - TYPE "openfoam_blockMesh_general_controls" - CLASS_NAME pqFoamBlockMeshControls -) - -add_paraview_plugin( - PVblockMeshReader_SM "1.0" - SERVER_MANAGER_XML PVblockMeshReader_SM.xml - SERVER_MANAGER_SOURCES vtkPVblockMeshReader.cxx - GUI_INTERFACES - ${IFACES0} - SOURCES - ${IFACES0_SRCS} - ${MOC_SRCS} - pqFoamBlockMeshControls.cxx -) +find_package(ParaView REQUIRED) +include(${PARAVIEW_USE_FILE}) +#----------------------------------------------------------------------------- -target_link_libraries( - PVblockMeshReader_SM - LINK_PUBLIC - vtkPVblockMesh-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR} - foamPv-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR} - ${OPENFOAM_LIBRARIES} -) +include(CMakeLists-OpenFOAM.txt) +include(CMakeLists-Project.txt) #----------------------------------------------------------------------------- diff --git a/modules/catalyst b/modules/catalyst index d97babec3581bad413fd602e17fcd4bc1e312d26..2ac2c5ec6e3bec25b3e4b641781adcd78d8dd20b 160000 --- a/modules/catalyst +++ b/modules/catalyst @@ -1 +1 @@ -Subproject commit d97babec3581bad413fd602e17fcd4bc1e312d26 +Subproject commit 2ac2c5ec6e3bec25b3e4b641781adcd78d8dd20b diff --git a/src/functionObjects/graphics/runTimePostProcessing/CMakeLists-Common.txt b/src/functionObjects/graphics/runTimePostProcessing/CMakeLists-Project.txt similarity index 91% rename from src/functionObjects/graphics/runTimePostProcessing/CMakeLists-Common.txt rename to src/functionObjects/graphics/runTimePostProcessing/CMakeLists-Project.txt index 85e007c43729ec1fb98c016b71319269329dffeb..6cd899348c0a2060ae2672a6f7f05da14942e140 100644 --- a/src/functionObjects/graphics/runTimePostProcessing/CMakeLists-Common.txt +++ b/src/functionObjects/graphics/runTimePostProcessing/CMakeLists-Project.txt @@ -1,4 +1,5 @@ #----------------------------------------------------------------------------- +project(runTimePostProcessing) include(${VTK_USE_FILE}) @@ -28,7 +29,8 @@ link_directories( set(CMAKE_BUILD_TYPE Release) -# Set output library destination to plugin directory +# 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 "" diff --git a/src/functionObjects/graphics/runTimePostProcessing/CMakeLists.txt b/src/functionObjects/graphics/runTimePostProcessing/CMakeLists.txt index 0a3838b4ea7ad7205b020680ff8c3cc2be909b78..3158b16b2c9d125efb67ace4df5c0a2063277bd2 100644 --- a/src/functionObjects/graphics/runTimePostProcessing/CMakeLists.txt +++ b/src/functionObjects/graphics/runTimePostProcessing/CMakeLists.txt @@ -1,9 +1,15 @@ +#------------------------------------------------------------------------------ cmake_minimum_required(VERSION 2.8) +cmake_policy(SET CMP0002 NEW) # Policy CMP0002 required for for cmake >= 3 -project(runTimePostProcessing) +# Fail if not building out-of-source +if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR) + message(FATAL_ERROR + "In-source builds disallowed. Use a separate build directory") +endif() -# Set policy for CMP0002 needed for cmake > 3 -cmake_policy(SET CMP0002 OLD) +#----------------------------------------------------------------------------- +# Simple discovery and sanity checks if (EXISTS "$ENV{VTK_DIR}") message("Building with VTK from $ENV{VTK_DIR}") @@ -11,17 +17,19 @@ if (EXISTS "$ENV{VTK_DIR}") include(${VTK_USE_FILE}) elseif (EXISTS "$ENV{ParaView_DIR}") message("Building with Paraview from $ENV{ParaView_DIR}") - find_package(ParaView REQUIRED) + find_package(ParaView REQUIRED HINTS $ENV{ParaView_DIR}) include(${VTK_USE_FILE}) set( VTK_VERSION "${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}" ) else() - message (FATAL_ERROR "VTK not found using VTK_DIR or ParaView_DIR") + message(FATAL_ERROR "VTK not found using VTK_DIR or ParaView_DIR") endif() +#----------------------------------------------------------------------------- + include(CMakeLists-OpenFOAM.txt) -include(CMakeLists-Common.txt) +include(CMakeLists-Project.txt) #-----------------------------------------------------------------------------