Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
aef8e6ba
Commit
aef8e6ba
authored
Apr 09, 2013
by
Andrey Kamaev
Committed by
OpenCV Buildbot
Apr 09, 2013
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #782 from taka-no-me:bitness_detection
parents
6d7313cd
d3083ecf
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
48 additions
and
44 deletions
+48
-44
OpenCVDetectCXXCompiler.cmake
cmake/OpenCVDetectCXXCompiler.cmake
+48
-44
No files found.
cmake/OpenCVDetectCXXCompiler.cmake
View file @
aef8e6ba
...
@@ -27,23 +27,23 @@ endif()
...
@@ -27,23 +27,23 @@ endif()
# the -fPIC flag should be used.
# the -fPIC flag should be used.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
if
(
UNIX
)
if
(
UNIX
)
if
(
__ICL
)
if
(
__ICL
)
set
(
CV_ICC __ICL
)
set
(
CV_ICC __ICL
)
elseif
(
__ICC
)
elseif
(
__ICC
)
set
(
CV_ICC __ICC
)
set
(
CV_ICC __ICC
)
elseif
(
__ECL
)
elseif
(
__ECL
)
set
(
CV_ICC __ECL
)
set
(
CV_ICC __ECL
)
elseif
(
__ECC
)
elseif
(
__ECC
)
set
(
CV_ICC __ECC
)
set
(
CV_ICC __ECC
)
elseif
(
__INTEL_COMPILER
)
elseif
(
__INTEL_COMPILER
)
set
(
CV_ICC __INTEL_COMPILER
)
set
(
CV_ICC __INTEL_COMPILER
)
elseif
(
CMAKE_C_COMPILER MATCHES
"icc"
)
elseif
(
CMAKE_C_COMPILER MATCHES
"icc"
)
set
(
CV_ICC icc_matches_c_compiler
)
set
(
CV_ICC icc_matches_c_compiler
)
endif
()
endif
()
endif
()
endif
()
if
(
MSVC AND CMAKE_C_COMPILER MATCHES
"icc"
)
if
(
MSVC AND CMAKE_C_COMPILER MATCHES
"icc"
)
set
(
CV_ICC __INTEL_COMPILER_FOR_WINDOWS
)
set
(
CV_ICC __INTEL_COMPILER_FOR_WINDOWS
)
endif
()
endif
()
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
...
@@ -64,45 +64,49 @@ if(CMAKE_COMPILER_IS_CLANGCXX)
...
@@ -64,45 +64,49 @@ if(CMAKE_COMPILER_IS_CLANGCXX)
string
(
REGEX MATCH
"[0-9]+
\\
.[0-9]+"
CMAKE_CLANG_REGEX_VERSION
"
${
CMAKE_OPENCV_CLANG_VERSION_FULL
}
"
)
string
(
REGEX MATCH
"[0-9]+
\\
.[0-9]+"
CMAKE_CLANG_REGEX_VERSION
"
${
CMAKE_OPENCV_CLANG_VERSION_FULL
}
"
)
elseif
(
CMAKE_COMPILER_IS_GNUCXX
)
elseif
(
CMAKE_COMPILER_IS_GNUCXX
)
execute_process
(
COMMAND
${
CMAKE_CXX_COMPILER
}
${
CMAKE_CXX_COMPILER_ARG1
}
-dumpversion
execute_process
(
COMMAND
${
CMAKE_CXX_COMPILER
}
${
CMAKE_CXX_COMPILER_ARG1
}
-dumpversion
OUTPUT_VARIABLE CMAKE_OPENCV_GCC_VERSION_FULL
OUTPUT_VARIABLE CMAKE_OPENCV_GCC_VERSION_FULL
OUTPUT_STRIP_TRAILING_WHITESPACE
)
OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process
(
COMMAND
${
CMAKE_CXX_COMPILER
}
${
CMAKE_CXX_COMPILER_ARG1
}
-v
execute_process
(
COMMAND
${
CMAKE_CXX_COMPILER
}
${
CMAKE_CXX_COMPILER_ARG1
}
-v
ERROR_VARIABLE CMAKE_OPENCV_GCC_INFO_FULL
ERROR_VARIABLE CMAKE_OPENCV_GCC_INFO_FULL
OUTPUT_STRIP_TRAILING_WHITESPACE
)
OUTPUT_STRIP_TRAILING_WHITESPACE
)
# Typical output in CMAKE_OPENCV_GCC_VERSION_FULL: "c+//0 (whatever) 4.2.3 (...)"
# Typical output in CMAKE_OPENCV_GCC_VERSION_FULL: "c+//0 (whatever) 4.2.3 (...)"
# Look for the version number
# Look for the version number
string
(
REGEX MATCH
"[0-9]+
\\
.[0-9]+
\\
.[0-9]+"
CMAKE_GCC_REGEX_VERSION
"
${
CMAKE_OPENCV_GCC_VERSION_FULL
}
"
)
string
(
REGEX MATCH
"[0-9]+
\\
.[0-9]+
\\
.[0-9]+"
CMAKE_GCC_REGEX_VERSION
"
${
CMAKE_OPENCV_GCC_VERSION_FULL
}
"
)
if
(
NOT CMAKE_GCC_REGEX_VERSION
)
if
(
NOT CMAKE_GCC_REGEX_VERSION
)
string
(
REGEX MATCH
"[0-9]+
\\
.[0-9]+"
CMAKE_GCC_REGEX_VERSION
"
${
CMAKE_OPENCV_GCC_VERSION_FULL
}
"
)
string
(
REGEX MATCH
"[0-9]+
\\
.[0-9]+"
CMAKE_GCC_REGEX_VERSION
"
${
CMAKE_OPENCV_GCC_VERSION_FULL
}
"
)
endif
()
endif
()
# Split the three parts:
# Split the three parts:
string
(
REGEX MATCHALL
"[0-9]+"
CMAKE_OPENCV_GCC_VERSIONS
"
${
CMAKE_GCC_REGEX_VERSION
}
"
)
string
(
REGEX MATCHALL
"[0-9]+"
CMAKE_OPENCV_GCC_VERSIONS
"
${
CMAKE_GCC_REGEX_VERSION
}
"
)
list
(
GET CMAKE_OPENCV_GCC_VERSIONS 0 CMAKE_OPENCV_GCC_VERSION_MAJOR
)
list
(
GET CMAKE_OPENCV_GCC_VERSIONS 0 CMAKE_OPENCV_GCC_VERSION_MAJOR
)
list
(
GET CMAKE_OPENCV_GCC_VERSIONS 1 CMAKE_OPENCV_GCC_VERSION_MINOR
)
list
(
GET CMAKE_OPENCV_GCC_VERSIONS 1 CMAKE_OPENCV_GCC_VERSION_MINOR
)
set
(
CMAKE_OPENCV_GCC_VERSION
${
CMAKE_OPENCV_GCC_VERSION_MAJOR
}${
CMAKE_OPENCV_GCC_VERSION_MINOR
}
)
set
(
CMAKE_OPENCV_GCC_VERSION
${
CMAKE_OPENCV_GCC_VERSION_MAJOR
}${
CMAKE_OPENCV_GCC_VERSION_MINOR
}
)
math
(
EXPR CMAKE_OPENCV_GCC_VERSION_NUM
"
${
CMAKE_OPENCV_GCC_VERSION_MAJOR
}
*100 +
${
CMAKE_OPENCV_GCC_VERSION_MINOR
}
"
)
math
(
EXPR CMAKE_OPENCV_GCC_VERSION_NUM
"
${
CMAKE_OPENCV_GCC_VERSION_MAJOR
}
*100 +
${
CMAKE_OPENCV_GCC_VERSION_MINOR
}
"
)
message
(
STATUS
"Detected version of GNU GCC:
${
CMAKE_OPENCV_GCC_VERSION
}
(
${
CMAKE_OPENCV_GCC_VERSION_NUM
}
)"
)
message
(
STATUS
"Detected version of GNU GCC:
${
CMAKE_OPENCV_GCC_VERSION
}
(
${
CMAKE_OPENCV_GCC_VERSION_NUM
}
)"
)
if
(
WIN32
)
if
(
WIN32
)
execute_process
(
COMMAND
${
CMAKE_CXX_COMPILER
}
-dumpmachine
execute_process
(
COMMAND
${
CMAKE_CXX_COMPILER
}
-dumpmachine
OUTPUT_VARIABLE CMAKE_OPENCV_GCC_TARGET_MACHINE
OUTPUT_VARIABLE CMAKE_OPENCV_GCC_TARGET_MACHINE
OUTPUT_STRIP_TRAILING_WHITESPACE
)
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if
(
CMAKE_OPENCV_GCC_TARGET_MACHINE MATCHES
"amd64|x86_64|AMD64"
)
if
(
CMAKE_OPENCV_GCC_TARGET_MACHINE MATCHES
"amd64|x86_64|AMD64"
)
set
(
MINGW64 1
)
set
(
MINGW64 1
)
endif
()
endif
()
endif
()
endif
()
endif
()
endif
()
if
(
MINGW64 OR CMAKE_SYSTEM_PROCESSOR MATCHES
"amd64.*|x86_64.*|AMD64.*"
OR CMAKE_GENERATOR MATCHES
"Visual Studio.*Win64"
)
if
(
MSVC64 OR MINGW64
)
set
(
X86_64 1
)
set
(
X86_64 1
)
elseif
(
MSVC AND NOT CMAKE_CROSSCOMPILING
)
set
(
X86 1
)
elseif
(
CMAKE_SYSTEM_PROCESSOR MATCHES
"amd64.*|x86_64.*|AMD64.*"
)
set
(
X86_64 1
)
elseif
(
CMAKE_SYSTEM_PROCESSOR MATCHES
"i686.*|i386.*|x86.*|amd64.*|AMD64.*"
)
elseif
(
CMAKE_SYSTEM_PROCESSOR MATCHES
"i686.*|i386.*|x86.*|amd64.*|AMD64.*"
)
set
(
X86 1
)
set
(
X86 1
)
elseif
(
CMAKE_SYSTEM_PROCESSOR MATCHES
"arm.*|ARM.*"
)
elseif
(
CMAKE_SYSTEM_PROCESSOR MATCHES
"arm.*|ARM.*"
)
set
(
ARM 1
)
set
(
ARM 1
)
endif
()
endif
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment