Skip to content

Commit d567a79

Browse files
committed
cmake: use CMAKE_CXX_COMPILER_VERSION (CMake 2.8.8+)
- PVAPI library detection was changed
1 parent 3ba7c16 commit d567a79

File tree

6 files changed

+16
-65
lines changed

6 files changed

+16
-65
lines changed

3rdparty/tbb/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ if (HAVE_LIBPTHREAD)
187187
add_definitions(-DUSE_PTHREAD) #required for Unix
188188
endif()
189189

190-
if (CMAKE_COMPILER_IS_GNUCXX)
190+
if(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_COMPILER_IS_CLANGCXX)
191191
add_definitions(-DTBB_USE_GCC_BUILTINS=1) #required for ARM GCC
192192
endif()
193193

CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -712,10 +712,6 @@ endif()
712712
# ========================== C/C++ options ==========================
713713
if(CMAKE_CXX_COMPILER_VERSION)
714714
set(OPENCV_COMPILER_STR "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} (ver ${CMAKE_CXX_COMPILER_VERSION})")
715-
elseif(CMAKE_COMPILER_IS_CLANGCXX)
716-
set(OPENCV_COMPILER_STR "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} (ver ${CMAKE_CLANG_REGEX_VERSION})")
717-
elseif(CMAKE_COMPILER_IS_GNUCXX)
718-
set(OPENCV_COMPILER_STR "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} (ver ${CMAKE_GCC_REGEX_VERSION})")
719715
else()
720716
set(OPENCV_COMPILER_STR "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1}")
721717
endif()

cmake/OpenCVDetectCUDA.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ if(CUDA_FOUND)
212212
endif()
213213

214214
# disabled because of multiple warnings during building nvcc auto generated files
215-
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_GCC_REGEX_VERSION VERSION_GREATER "4.6.0")
215+
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.6.0")
216216
ocv_warnings_disable(CMAKE_CXX_FLAGS -Wunused-but-set-variable)
217217
endif()
218218

cmake/OpenCVDetectCXXCompiler.cmake

Lines changed: 4 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -42,49 +42,11 @@ if(MSVC AND CMAKE_C_COMPILER MATCHES "icc|icl")
4242
set(CV_ICC __INTEL_COMPILER_FOR_WINDOWS)
4343
endif()
4444

45-
# ----------------------------------------------------------------------------
46-
# Detect GNU version:
47-
# ----------------------------------------------------------------------------
48-
if(CMAKE_COMPILER_IS_CLANGCXX)
49-
set(CMAKE_GCC_REGEX_VERSION "4.2.1")
50-
set(CMAKE_OPENCV_GCC_VERSION_MAJOR 4)
51-
set(CMAKE_OPENCV_GCC_VERSION_MINOR 2)
52-
set(CMAKE_OPENCV_GCC_VERSION 42)
53-
set(CMAKE_OPENCV_GCC_VERSION_NUM 402)
54-
55-
execute_process(COMMAND ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} -v
56-
ERROR_VARIABLE CMAKE_OPENCV_CLANG_VERSION_FULL
57-
ERROR_STRIP_TRAILING_WHITESPACE)
58-
59-
string(REGEX MATCH "version.*$" CMAKE_OPENCV_CLANG_VERSION_FULL "${CMAKE_OPENCV_CLANG_VERSION_FULL}")
60-
string(REGEX MATCH "[0-9]+\\.[0-9]+" CMAKE_CLANG_REGEX_VERSION "${CMAKE_OPENCV_CLANG_VERSION_FULL}")
61-
62-
elseif(CMAKE_COMPILER_IS_GNUCXX)
63-
execute_process(COMMAND ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
64-
OUTPUT_VARIABLE CMAKE_OPENCV_GCC_VERSION_FULL
65-
OUTPUT_STRIP_TRAILING_WHITESPACE)
66-
67-
execute_process(COMMAND ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} -v
68-
ERROR_VARIABLE CMAKE_OPENCV_GCC_INFO_FULL
69-
OUTPUT_STRIP_TRAILING_WHITESPACE)
70-
71-
# Typical output in CMAKE_OPENCV_GCC_VERSION_FULL: "c+//0 (whatever) 4.2.3 (...)"
72-
# Look for the version number
73-
string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" CMAKE_GCC_REGEX_VERSION "${CMAKE_OPENCV_GCC_VERSION_FULL}")
74-
if(NOT CMAKE_GCC_REGEX_VERSION)
75-
string(REGEX MATCH "[0-9]+\\.[0-9]+" CMAKE_GCC_REGEX_VERSION "${CMAKE_OPENCV_GCC_VERSION_FULL}")
76-
endif()
77-
78-
# Split the three parts:
79-
string(REGEX MATCHALL "[0-9]+" CMAKE_OPENCV_GCC_VERSIONS "${CMAKE_GCC_REGEX_VERSION}")
80-
81-
list(GET CMAKE_OPENCV_GCC_VERSIONS 0 CMAKE_OPENCV_GCC_VERSION_MAJOR)
82-
list(GET CMAKE_OPENCV_GCC_VERSIONS 1 CMAKE_OPENCV_GCC_VERSION_MINOR)
83-
84-
set(CMAKE_OPENCV_GCC_VERSION ${CMAKE_OPENCV_GCC_VERSION_MAJOR}${CMAKE_OPENCV_GCC_VERSION_MINOR})
85-
math(EXPR CMAKE_OPENCV_GCC_VERSION_NUM "${CMAKE_OPENCV_GCC_VERSION_MAJOR}*100 + ${CMAKE_OPENCV_GCC_VERSION_MINOR}")
86-
message(STATUS "Detected version of GNU GCC: ${CMAKE_OPENCV_GCC_VERSION} (${CMAKE_OPENCV_GCC_VERSION_NUM})")
45+
if(NOT DEFINED CMAKE_CXX_COMPILER_VERSION)
46+
message(WARNING "Compiler version is not available: CMAKE_CXX_COMPILER_VERSION is not set")
47+
endif()
8748

49+
if(CMAKE_COMPILER_IS_GNUCXX)
8850
if(WIN32)
8951
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine
9052
OUTPUT_VARIABLE OPENCV_GCC_TARGET_MACHINE

cmake/OpenCVFindLibsVideo.cmake

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -84,23 +84,16 @@ if(WITH_PVAPI)
8484
set(PVAPI_SDK_SUBDIR arm)
8585
endif()
8686

87-
get_filename_component(_PVAPI_LIBRARY "${PVAPI_INCLUDE_PATH}/../lib-pc" ABSOLUTE)
88-
if(PVAPI_SDK_SUBDIR)
89-
set(_PVAPI_LIBRARY "${_PVAPI_LIBRARY}/${PVAPI_SDK_SUBDIR}")
90-
endif()
91-
if(NOT WIN32 AND CMAKE_COMPILER_IS_GNUCXX)
92-
set(_PVAPI_LIBRARY "${_PVAPI_LIBRARY}/${CMAKE_OPENCV_GCC_VERSION_MAJOR}.${CMAKE_OPENCV_GCC_VERSION_MINOR}")
93-
endif()
87+
get_filename_component(_PVAPI_LIBRARY_HINT "${PVAPI_INCLUDE_PATH}/../lib-pc" ABSOLUTE)
9488

95-
if(WIN32)
96-
if(MINGW)
97-
set(PVAPI_DEFINITIONS "-DPVDECL=__stdcall")
98-
endif(MINGW)
99-
set(PVAPI_LIBRARY "${_PVAPI_LIBRARY}/PvAPI.lib" CACHE PATH "The PvAPI library")
100-
else(WIN32)
101-
set(PVAPI_LIBRARY "${_PVAPI_LIBRARY}/${CMAKE_STATIC_LIBRARY_PREFIX}PvAPI${CMAKE_STATIC_LIBRARY_SUFFIX}" CACHE PATH "The PvAPI library")
102-
endif(WIN32)
103-
if(EXISTS "${PVAPI_LIBRARY}")
89+
find_library(PVAPI_LIBRARY NAMES "PvAPI" PATHS "${_PVAPI_LIBRARY_HINT}")
90+
91+
if(PVAPI_LIBRARY)
92+
if(WIN32)
93+
if(MINGW)
94+
set(PVAPI_DEFINITIONS "-DPVDECL=__stdcall")
95+
endif(MINGW)
96+
endif()
10497
set(HAVE_PVAPI TRUE)
10598
endif()
10699
endif(PVAPI_INCLUDE_PATH)

cmake/OpenCVPackaging.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ set(STD_OPENCV_DEV libopencv-dev)
124124

125125
set(ABI_VERSION_SUFFIX "")
126126
if(CMAKE_COMPILER_IS_GNUCXX)
127-
if(${CMAKE_OPENCV_GCC_VERSION_MAJOR} EQUAL 5)
127+
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5 AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6)
128128
set(ABI_VERSION_SUFFIX "v5")
129129
endif()
130130
endif()

0 commit comments

Comments
 (0)