mirror of
https://codeberg.org/vcbferreira/NuFI_deal.ii
synced 2026-08-12 22:43:17 +02:00
58 lines
1.0 KiB
CMake
58 lines
1.0 KiB
CMake
cmake_minimum_required(VERSION 3.13.4)
|
|
project(nufi_poisson)
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
if(NOT CMAKE_BUILD_TYPE)
|
|
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type" FORCE)
|
|
endif()
|
|
|
|
find_package(deal.II 9.6.0
|
|
HINTS ${deal.II_DIR} ${DEAL_II_DIR} ../ ../../ $ENV{DEAL_II_DIR}
|
|
)
|
|
|
|
if(NOT ${deal.II_FOUND})
|
|
message(FATAL_ERROR
|
|
"\n*** Could not locate deal.II. ***\n"
|
|
"Pass -DDEAL_II_DIR=/path/to/deal.II to cmake\n"
|
|
)
|
|
endif()
|
|
|
|
deal_ii_initialize_cached_variables()
|
|
|
|
find_package(OpenMP REQUIRED)
|
|
|
|
# -------------------------
|
|
|
|
add_library(nufi_lib
|
|
src/nufi_solver.cc
|
|
src/save_results.cc
|
|
# src/blas.cc
|
|
)
|
|
|
|
target_include_directories(nufi_lib PUBLIC
|
|
${CMAKE_SOURCE_DIR}
|
|
)
|
|
|
|
deal_ii_setup_target(nufi_lib)
|
|
|
|
target_link_libraries(nufi_lib
|
|
OpenMP::OpenMP_CXX
|
|
)
|
|
|
|
target_compile_options(nufi_lib PRIVATE -O3)
|
|
|
|
# -------------------------
|
|
|
|
add_executable(nufi_poisson
|
|
src/main.cc
|
|
)
|
|
|
|
target_link_libraries(nufi_poisson
|
|
nufi_lib
|
|
OpenMP::OpenMP_CXX
|
|
)
|
|
|
|
deal_ii_setup_target(nufi_poisson)
|
|
|
|
target_compile_options(nufi_poisson PRIVATE -O3)
|