From 2e30a8c2e4c898ed3abd5152631a3a6aecc92b3d Mon Sep 17 00:00:00 2001 From: Lars Bilke Date: Tue, 23 Apr 2024 17:34:15 +0200 Subject: [PATCH 1/2] [cmake] Define USE_MKL on source scope only. --- MathLib/CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/MathLib/CMakeLists.txt b/MathLib/CMakeLists.txt index ca6bd559cd4..5b2627c59b2 100644 --- a/MathLib/CMakeLists.txt +++ b/MathLib/CMakeLists.txt @@ -57,8 +57,13 @@ target_compile_definitions( $<$:EIGEN_INITIALIZE_MATRICES_BY_NAN> $<$:EIGEN_INITIALIZE_MATRICES_BY_NAN> $<$,$>:EIGEN_USE_MKL_ALL> - PRIVATE $<$:USE_MKL> ) +if(OGS_USE_MKL) + set_source_files_properties( + LinAlg/Eigen/EigenLinearSolver.cpp PROPERTIES COMPILE_DEFINITIONS + USE_MKL + ) +endif() target_precompile_headers( MathLib PRIVATE [["BaseLib/Error.h"]] [["BaseLib/ConfigTree.h"]] From d472b21b0270ba477fa6ff94474628be5c17177e Mon Sep 17 00:00:00 2001 From: Lars Bilke Date: Tue, 23 Apr 2024 18:43:51 +0200 Subject: [PATCH 2/2] [cmake] Linking MathLib to MKL privately is sufficient. --- MathLib/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MathLib/CMakeLists.txt b/MathLib/CMakeLists.txt index 5b2627c59b2..8161718785c 100644 --- a/MathLib/CMakeLists.txt +++ b/MathLib/CMakeLists.txt @@ -32,9 +32,9 @@ target_link_libraries( $<$:${LIS_LIBRARIES}> $<$:CVODE::CVODE> $<$:PkgConfig::PETSC> - $<$:MKL::MKL> Eigen3::Eigen $<$:OpenMP::OpenMP_CXX> + PRIVATE $<$:MKL::MKL> ) if(OGS_USE_MKL AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") # Otherwise required MKL libs get stripped out (don't show up in ldd):