Building 3.2.1 Eigen using MS VC++ SDK in 64 bit mode. Default configure / generate of nmake files works correctly in cmake. nmake blas compiles without error nmake lapack fails with the following error: "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Bin\amd64\nmake.e xe" -f lapack\CMakeFiles\eigen_lapack.dir\build.make /nologo -L lapack\CMakeFiles\eigen_lapack.dir\build NMAKE : fatal error U1073: don't know how to make 'blas\eigen_blas.lib' Stop. The file "lapack\CMakeFiles\eigen_lapack.dir\build.make" has the line: lapack\eigen_lapack.dll: blas\eigen_blas.lib In fact blas\eigen_blas.dll exists, but blas\eigen_blas.lib does not. Is it possible the build is making assumptions about the configuration that don't hold?
hm, very strange . On our side we are simply doing: target_link_libraries(eigen_lapack eigen_blas) so cmake should know that the eigen_blas target is a shared library... Perhaps the two subdirectories are not communicating well. What if you remove the first line of blas/CMakeList.txt and lapack/CMakeList.txt, i.e., remove the lines: project(EigenBlas CXX) and project(EigenLapack CXX) Or maybe we explicitly have to make the eigen_blas target visible from the parent scope...??
I did: * Commented out those lines * Cleared cmake cache * cmake configure * cmake generate * nmake blas lapack and got the same error as above.
Does any cmake & MSVC expert have an idea for this?
-- GitLab Migration Automatic Message -- This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/777.