瀏覽代碼

FindArmadillo: Fix wrapper linking with MSVC

Transitive linking does not work with MSVC, so we must link against both
Armadillo and its dependencies directly if `ARMA_USE_WRAPPER` is enabled.
Ryan Curtin 10 月之前
父節點
當前提交
6745af99c8
共有 1 個文件被更改,包括 6 次插入1 次删除
  1. 6 1
      Modules/FindArmadillo.cmake

+ 6 - 1
Modules/FindArmadillo.cmake

@@ -99,8 +99,13 @@ if(_ARMA_USE_WRAPPER)
   mark_as_advanced(ARMADILLO_LIBRARY)
   mark_as_advanced(ARMADILLO_LIBRARY)
   set(_ARMA_REQUIRED_VARS ARMADILLO_LIBRARY)
   set(_ARMA_REQUIRED_VARS ARMADILLO_LIBRARY)
 else()
 else()
-  # Link directly to individual components.
   set(ARMADILLO_LIBRARY "")
   set(ARMADILLO_LIBRARY "")
+endif()
+
+# Transitive linking with the wrapper does not work with MSVC,
+# so we must *also* link against Armadillo's dependencies.
+if(NOT _ARMA_USE_WRAPPER OR MSVC)
+  # Link directly to individual components.
   foreach(pkg
   foreach(pkg
       LAPACK
       LAPACK
       BLAS
       BLAS