1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
cmake_minimum_required(VERSION 3.21)
project(PythonFullExampleV2)
include (GNUInstallDirs)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
# Since this example uses MPI, find and link against it.
find_package(MPI COMPONENTS C)
if (NOT MPI_FOUND)
message(STATUS
"Skipping example: ${PROJECT_NAME} requires MPI.")
return ()
endif ()
#------------------------------------------------------------------------------
option(USE_CATALYST "Build example with Catalyst enabled" ON)
if (USE_CATALYST)
find_package(catalyst
REQUIRED
PATHS "${ParaView_DIR}/catalyst")
find_package(Python3 REQUIRED)
include(CTest)
if (BUILD_TESTING)
set(python_driver "${CMAKE_CURRENT_SOURCE_DIR}/fedriver.py")
set(num_ranks 4)
set(mpi_prefix
${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${num_ranks})
# once we update to cmake >= 3.25 we should use --modify PYTHONPATH=path_list_prepend:${CATALYST_PYTHONPATH}
add_test(
NAME PythonFullExampleV2::SimplePipeline
COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CATALYST_PYTHONPATH}:$ENV{PYTHONPATH}" "CATALYST_IMPLEMENTATION_PATHS=${ParaView_CATALYST_DIR}"
${mpi_prefix}
${Python3_EXECUTABLE} ${python_driver} "${CMAKE_CURRENT_SOURCE_DIR}/catalyst_pipeline.py"
)
endif()
# configure a script for running without using ctest
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/run.sh.in
${CMAKE_CURRENT_BINARY_DIR}/run.sh
@ONLY)
endif()
|