CMAKE_POLICY(SET CMP0048 NEW) project(test C Fortran) cmake_minimum_required(VERSION 3.10) #include(FindMPI) # --- compiler check set(MPI_BASE_DIR "C:/Program Files (x86)/Intel/oneAPI/mpi/2021.3.0" CACHE PATH "MPI Path") set(IMPI_LIB_ILP64 "C:/Program Files (x86)/Intel/oneAPI/mpi/2021.3.0/lib/libmpi_ilp64.lib") set(IMPI_C_LIB "C:/Program Files (x86)/Intel/oneAPI/mpi/2021.3.0/lib/release/impi.lib") find_package(MPI COMPONENTS C Fortran REQUIRED) if (MPI_FOUND) message(STATUS "Found MPI_LIBRARY : ${MPI_FOUND} ") set(CMAKE_Fortran_COMPILER ${MPI_Fortran_COMPILER}) message(STATUS "After findMPI(), CMAKE_Fortran_COMPILER = ${CMAKE_Fortran_COMPILER}") message(STATUS "After findMPI(), MPI_Fortran_COMPILER = ${MPI_Fortran_COMPILER}") message(STATUS "After findMPI(), MPI_C_COMPILER = ${MPI_C_COMPILER}") message(STATUS "After findMPI(), MPI_C_LIBRARIES = ${MPI_C_LIBRARIES}") message(STATUS "After findMPI(), MPI_Fortran_LIBRARIES = ${MPI_Fortran_LIBRARIES}") endif() unset(MPI_C_LIBRARIES) list(APPEND MPI_C_LIBRARIES ${IMPI_LIB_ILP64}) list(APPEND MPI_C_LIBRARIES ${IMPI_C_LIB}) #unset(MPI_Fortran_LIBRARIES) #list(APPEND MPI_Fortran_LIBRARIES ${IMPI_LIB_ILP64}) #list(APPEND MPI_Fortran_LIBRARIES ${IMPI_C_LIB}) message(STATUS "MPI_C_LIBRARIES = ${MPI_C_LIBRARIES}") message(STATUS "MPI_Fortran_LIBRARIES = ${MPI_Fortran_LIBRARIES}") add_definitions("-DInt=__int64" "-DUInt=unsigned __int64" "-i8" "-i8") add_executable(test test.f90) target_compile_options(test PUBLIC ${FORTRAN_FLAG_INT64}) target_link_libraries(test PUBLIC ${MPI_C_LIBRARIES})