project(pputils2) set(SRCS pputils2.f90 ) set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/modules ) add_library(pputils2 ${SRCS}) target_include_directories(pputils2 PRIVATE $ ${MPI_Fortran_INCLUDE_PATH} INTERFACE $ $ ${MPI_Fortran_INCLUDE_PATH} ) target_compile_options(pputils2 PUBLIC ${MPI_Fortran_COMPILE_FLAGS}) target_link_libraries(pputils2 PUBLIC ${MPI_Fortran_LIBRARIES}) set_property(TARGET pputils2 PROPERTY PUBLIC_HEADER ${CMAKE_CURRENT_BINARY_DIR}/modules/pputils.mod) include(GNUInstallDirs) install(TARGETS pputils2 EXPORT ${BSPLINES_EXPORT_TARGETS} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) if(BSPLINES_EXAMPLES) set(EXAMPLES ex1 ex2 ex3 ex4 ex5 ex6 ex7) foreach(ex ${EXAMPLES}) add_executable(pputils2_${ex} ${ex}.f90) target_link_libraries(pputils2_${ex} pputils2 futils) endforeach() add_test(ex1 ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 4 ${CMAKE_CURRENT_BINARY_DIR}/pputils2_ex1) add_test(ex2 ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 9 ${CMAKE_CURRENT_BINARY_DIR}/pputils2_ex2) add_test(ex3 ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 5 ${CMAKE_CURRENT_BINARY_DIR}/pputils2_ex3) add_test(ex4 ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 12 ${CMAKE_CURRENT_BINARY_DIR}/pputils2_ex4) add_test(ex5 ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 8 ${CMAKE_CURRENT_BINARY_DIR}/pputils2_ex5) add_test(ex6 ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 12 ${CMAKE_CURRENT_BINARY_DIR}/pputils2_ex6) add_test(ex7 ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 6 ${CMAKE_CURRENT_BINARY_DIR}/pputils2_ex7) endif()