diff options
author | Gael Guennebaud <g.gael@free.fr> | 2015-02-16 16:26:47 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2015-02-16 16:26:47 +0100 |
commit | 4dded7322715ab1940539b903014f2a115de1984 (patch) | |
tree | b1ed7a943222837b1e06fcb766b1b72d1cdba238 /cmake/EigenTesting.cmake | |
parent | 953d5ccfd5e7612233d464456e111f7b7e90d382 (diff) |
bug #914: fix compiler detection on windows
(grafted from 77af14fb6213b833cc37a01e2a8c7eb762db9af8
)
Diffstat (limited to 'cmake/EigenTesting.cmake')
-rw-r--r-- | cmake/EigenTesting.cmake | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/cmake/EigenTesting.cmake b/cmake/EigenTesting.cmake index 3eb4e4c07..dc69f65aa 100644 --- a/cmake/EigenTesting.cmake +++ b/cmake/EigenTesting.cmake @@ -359,22 +359,29 @@ macro(ei_get_compilerver VAR) endif() else() # on all other system we rely on ${CMAKE_CXX_COMPILER} - # supporting a "--version" flag + # supporting a "--version" or "/version" flag + + if(WIN32 AND NOT CYGWIN) + set(EIGEN_CXX_FLAG_VERSION "/version") + else() + set(EIGEN_CXX_FLAG_VERSION "--version") + endif() # check whether the head command exists find_program(HEAD_EXE head NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH) if(HEAD_EXE) - execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version + execute_process(COMMAND ${CMAKE_CXX_COMPILER} ${EIGEN_CXX_FLAG_VERSION} COMMAND head -n 1 OUTPUT_VARIABLE eigen_cxx_compiler_version_string OUTPUT_STRIP_TRAILING_WHITESPACE) else() - execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version + execute_process(COMMAND ${CMAKE_CXX_COMPILER} ${EIGEN_CXX_FLAG_VERSION} OUTPUT_VARIABLE eigen_cxx_compiler_version_string OUTPUT_STRIP_TRAILING_WHITESPACE) string(REGEX REPLACE "[\n\r].*" "" eigen_cxx_compiler_version_string ${eigen_cxx_compiler_version_string}) endif() ei_get_compilerver_from_cxx_version_string("${eigen_cxx_compiler_version_string}" CNAME CVER) set(${VAR} "${CNAME}-${CVER}") + endif() endmacro(ei_get_compilerver) |