message: LAPACK: add support for complex numbers for MSVC
diff: @@ -31,27 +31,33 @@ macro(ocv_lapack_check)
  else()
  # adding proxy opencv_lapack.h header
  set(CBLAS_H_PROXY_PATH ${CMAKE_BINARY_DIR}/opencv_lapack.h)
  - if((APPLE OR OPENCV_SKIP_LAPACK_EXTERN_C) AND NOT OPENCV_FORCE_LAPACK_EXTERN_C)
  - set(_lapack_include_str_extern_C "")
  - set(_lapack_include_str_extern_C_end "")
  - else()
  - set(_lapack_include_str_extern_C "extern \"C\" {\n")
  - set(_lapack_include_str_extern_C_end "}\n")
  - endif()
  - set(_lapack_include_str "${_lapack_include_str_extern_C}\#include \"${OPENCV_CBLAS_H_PATH_${_lapack_impl}}\"")
  +
  + set(_lapack_add_extern_c NOT (APPLE OR OPENCV_SKIP_LAPACK_EXTERN_C) OR OPENCV_FORCE_LAPACK_EXTERN_C)
  +
  + set(_lapack_content "// This file is auto-generated\n")
  + if(${_lapack_add_extern_c})
  + list(APPEND _lapack_content "extern \"C\" {")
  + endif()
  + if(NOT OPENCV_SKIP_LAPACK_MSVC_FIX)
  + list(APPEND _lapack_content "
  +#ifdef _MSC_VER
  +#include <complex.h>
  +#define lapack_complex_float _Fcomplex
  +#define lapack_complex_double _Dcomplex
  +#endif
  +")
  + endif()
  + list(APPEND _lapack_content "#include \"${OPENCV_CBLAS_H_PATH_${_lapack_impl}}\"")
  if(NOT "${OPENCV_CBLAS_H_PATH_${_lapack_impl}}" STREQUAL "${OPENCV_LAPACKE_H_PATH_${_lapack_impl}}")
  - set(_lapack_include_str "${_lapack_include_str}\n#include \"${OPENCV_LAPACKE_H_PATH_${_lapack_impl}}\"")
  - endif()
  - set(_lapack_include_str "${_lapack_include_str}\n${_lapack_include_str_extern_C_end}")
  - # update file contents (if required)
  - set(__content_str "")
  - if(EXISTS "${CBLAS_H_PROXY_PATH}")
  - file(READ "${CBLAS_H_PROXY_PATH}" __content_str)
  + list(APPEND _lapack_content "#include \"${OPENCV_LAPACKE_H_PATH_${_lapack_impl}}\"")
  endif()
  - if(NOT " ${__content_str}" STREQUAL " ${_lapack_include_str}")
  - file(WRITE "${CBLAS_H_PROXY_PATH}" "${_lapack_include_str}")
  + if(${_lapack_add_extern_c})
  + list(APPEND _lapack_content "}")
  endif()
  + string(REPLACE ";" "\n" _lapack_content "${_lapack_content}")
  + ocv_update_file("${CBLAS_H_PROXY_PATH}" "${_lapack_content}")
  +
  try_compile(__VALID_LAPACK
  "${OpenCV_BINARY_DIR}"
  "${OpenCV_SOURCE_DIR}/cmake/checks/lapack_check.cpp"
  