aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmake
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2015-02-16 16:26:47 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2015-02-16 16:26:47 +0100
commit4dded7322715ab1940539b903014f2a115de1984 (patch)
treeb1ed7a943222837b1e06fcb766b1b72d1cdba238 /cmake
parent953d5ccfd5e7612233d464456e111f7b7e90d382 (diff)
bug #914: fix compiler detection on windows
Diffstat (limited to 'cmake')
-rw-r--r--cmake/EigenTesting.cmake13
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)