|
|
|
|
@ -1,4 +1,4 @@
|
|
|
|
|
cmake_minimum_required(VERSION 3.31.1)
|
|
|
|
|
cmake_minimum_required(VERSION 3.16)
|
|
|
|
|
|
|
|
|
|
# Enable compile_commands.json generation for IDE support
|
|
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
|
@ -15,16 +15,28 @@ 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(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} ${OpenBLAS_INCLUDE_DIRS} ${OpenMPI_INCLUDE_DIRS})
|
|
|
|
|
target_link_libraries(arnoldi PUBLIC m PkgConfig::PETSc 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)
|
|
|
|
|
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)
|
|
|
|
|
|