Added optional usage of OpenMP
This commit is contained in:
parent
abc0a5713b
commit
dd96bb9bf1
@ -6,6 +6,9 @@ project(Diffusion CXX)
|
|||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
|
|
||||||
find_package(Eigen3 REQUIRED NO_MODULE)
|
find_package(Eigen3 REQUIRED NO_MODULE)
|
||||||
|
find_package(OpenMP)
|
||||||
|
|
||||||
|
option(USE_OPENMP "Compile with OpenMP support" ON)
|
||||||
|
|
||||||
add_subdirectory(app)
|
add_subdirectory(app)
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
|
|||||||
@ -14,11 +14,16 @@
|
|||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <iterator>
|
#include <iterator>
|
||||||
#include <omp.h>
|
|
||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <tuple>
|
#include <tuple>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#ifdef _OPENMP
|
||||||
|
#include <omp.h>
|
||||||
|
#else
|
||||||
|
#define omp_get_thread_num() 0
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
constexpr int BTCS_MAX_DEP_PER_CELL = 3;
|
constexpr int BTCS_MAX_DEP_PER_CELL = 3;
|
||||||
|
|||||||
@ -1,5 +1,11 @@
|
|||||||
find_package(OpenMP)
|
find_package(OpenMP)
|
||||||
|
|
||||||
add_library(diffusion OBJECT BTCSDiffusion.cpp BTCSDiffusion.hpp)
|
add_library(diffusion OBJECT BTCSDiffusion.cpp BTCSDiffusion.hpp)
|
||||||
target_link_libraries(diffusion Eigen3::Eigen OpenMP::OpenMP_CXX)
|
|
||||||
|
target_link_libraries(diffusion Eigen3::Eigen)
|
||||||
|
|
||||||
|
if(USE_OPENMP AND OpenMP_CXX_FOUND)
|
||||||
|
target_link_libraries(diffusion OpenMP::OpenMP_CXX)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_include_directories(diffusion PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
target_include_directories(diffusion PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user