From 209617dd24c90325ae01adf448b25e635203b563 Mon Sep 17 00:00:00 2001 From: John Zhao Date: Thu, 7 Jun 2018 23:47:01 +0800 Subject: [PATCH] Get compiler version values --- CMakeLists.txt | 30 +++++++++++++++++++++--------- cmake/templates/build.info.in | 8 ++++---- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 29f7e26..5299cb0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -260,18 +260,30 @@ macro(set_default_value VARIABLE DEFAULT) endif() endmacro() -string(REPLACE "." ";" VERSION_LIST ${CMAKE_CXX_COMPILER_VERSION}) -list(GET VERSION_LIST 0 CXX_COMPILER_VERSION_MAJOR) -list(GET VERSION_LIST 1 CXX_COMPILER_VERSION_MINOR) -list(GET VERSION_LIST 2 CXX_COMPILER_VERSION_PATCH) -list(GET VERSION_LIST 3 CXX_COMPILER_VERSION_TWEAK) +macro(set_version_values VARIABLE) + string(REPLACE "." ";" __version_list "${${VARIABLE}}") + list(LENGTH __version_list __len) + if(${__len} GREATER 0) + list(GET __version_list 0 ${VARIABLE}_MAJOR) + endif() + if(${__len} GREATER 1) + list(GET __version_list 1 ${VARIABLE}_MINOR) + endif() + if(${__len} GREATER 2) + list(GET __version_list 2 ${VARIABLE}_PATCH) + endif() + if(${__len} GREATER 3) + list(GET __version_list 3 ${VARIABLE}_TWEAK) + endif() +endmacro() find_package(CUDA QUIET) -set_default_value(CXX_COMPILER_VERSION_MAJOR 0) -set_default_value(CXX_COMPILER_VERSION_MINOR 0) -set_default_value(CXX_COMPILER_VERSION_PATCH 0) -set_default_value(CXX_COMPILER_VERSION_TWEAK 0) +set_version_values(CMAKE_CXX_COMPILER_VERSION) +set_default_value(CMAKE_CXX_COMPILER_VERSION_MAJOR 0) +set_default_value(CMAKE_CXX_COMPILER_VERSION_MINOR 0) +set_default_value(CMAKE_CXX_COMPILER_VERSION_PATCH 0) +set_default_value(CMAKE_CXX_COMPILER_VERSION_TWEAK 0) set_default_value(CUDA_VERSION_MAJOR 0) set_default_value(CUDA_VERSION_MINOR 0) set_default_value(OpenCV_VERSION_MAJOR 0) diff --git a/cmake/templates/build.info.in b/cmake/templates/build.info.in index 7a5295b..48b8afe 100644 --- a/cmake/templates/build.info.in +++ b/cmake/templates/build.info.in @@ -5,10 +5,10 @@ HOST_NAME: "@HOST_NAME@" HOST_ARCH: "@HOST_ARCH@" HOST_COMPILER: "@CMAKE_CXX_COMPILER_ID@" COMPILER_VERSION: "@CMAKE_CXX_COMPILER_VERSION@" -COMPILER_VERSION_MAJOR: @CXX_COMPILER_VERSION_MAJOR@ -COMPILER_VERSION_MINOR: @CXX_COMPILER_VERSION_MINOR@ -COMPILER_VERSION_PATCH: @CXX_COMPILER_VERSION_PATCH@ -COMPILER_VERSION_TWEAK: @CXX_COMPILER_VERSION_TWEAK@ +COMPILER_VERSION_MAJOR: @CMAKE_CXX_COMPILER_VERSION_MAJOR@ +COMPILER_VERSION_MINOR: @CMAKE_CXX_COMPILER_VERSION_MINOR@ +COMPILER_VERSION_PATCH: @CMAKE_CXX_COMPILER_VERSION_PATCH@ +COMPILER_VERSION_TWEAK: @CMAKE_CXX_COMPILER_VERSION_TWEAK@ CUDA_VERSION: "@CUDA_VERSION@" CUDA_VERSION_MAJOR: @CUDA_VERSION_MAJOR@ CUDA_VERSION_MINOR: @CUDA_VERSION_MINOR@