You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.3 KiB
CMake
43 lines
1.3 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
|
|
# Enable compile_commands.json generation for IDE support
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
|
|
|
set(CMAKE_C_COMPILER gcc)
|
|
set(CMAKE_CXX_COMPILER g++)
|
|
set(CMAKE_Fortran_COMPILER gfortran)
|
|
|
|
project(main)
|
|
|
|
find_package(PkgConfig REQUIRED)
|
|
|
|
pkg_search_module(OpenBLAS REQUIRED IMPORTED_TARGET openblas)
|
|
pkg_search_module(PETSc REQUIRED IMPORTED_TARGET petsc)
|
|
pkg_search_module(hdf5 REQUIRED IMPORTED_TARGET hdf5)
|
|
pkg_search_module(OpenMPI REQUIRED IMPORTED_TARGET ompi)
|
|
|
|
# add_executable(main main.c)
|
|
# target_include_directories(main PUBLIC ${PETSc_INCLUDE_DIRS} ${OpenBLAS_INCLUDE_DIRS} ${OpenMPI_INCLUDE_DIRS})
|
|
# target_link_libraries(main PUBLIC m PkgConfig::PETSc PkgConfig::OpenBLAS PkgConfig::OpenMPI)
|
|
|
|
add_executable(arnoldi arnoldi.c)
|
|
target_include_directories(arnoldi PUBLIC
|
|
${PETSc_INCLUDE_DIRS}
|
|
${hdf5_INCLUDE_DIRS}
|
|
${OpenBLAS_INCLUDE_DIRS}
|
|
${OpenMPI_INCLUDE_DIRS}
|
|
)
|
|
target_link_libraries(arnoldi PUBLIC
|
|
m
|
|
PkgConfig::PETSc
|
|
PkgConfig::hdf5
|
|
PkgConfig::OpenBLAS
|
|
PkgConfig::OpenMPI
|
|
)
|
|
|
|
# add_executable(ex10 ex10.c)
|
|
# target_include_directories(ex10 PUBLIC ${PETSc_INCLUDE_DIRS} ${OpenBLAS_INCLUDE_DIRS} ${OpenMPI_INCLUDE_DIRS})
|
|
# target_link_libraries(ex10 PUBLIC m PkgConfig::PETSc PkgConfig::OpenBLAS PkgConfig::OpenMPI)
|