Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Marc Chevrier
CMake
Commits
72822e26
Commit
72822e26
authored
Aug 18, 2020
by
Marc Chevrier
🌴
Browse files
FindPython: enhance robustness of version extraction from library name
Fixes: #21105
parent
acd15bf1
Pipeline
#185067
passed with stages
in 56 minutes and 17 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Modules/FindPython/Support.cmake
View file @
72822e26
...
...
@@ -558,18 +558,19 @@ function (_PYTHON_GET_VERSION)
if
(
_PGV_LIBRARY
)
# retrieve version and abi from library name
if
(
_
${
_PYTHON_PREFIX
}
_LIBRARY_RELEASE
)
get_filename_component
(
library_name
"
${
_
${
_PYTHON_PREFIX
}
_LIBRARY_RELEASE
}
"
NAME
)
# extract version from library name
if
(
_
${
_PYTHON_PREFIX
}
_LIBRARY_RELEASE
MATCHES
"python([23])([0-9]+)"
)
if
(
library_name
MATCHES
"python([23])([0-9]+)"
)
set
(
${
_PGV_PREFIX
}
VERSION_MAJOR
"
${
CMAKE_MATCH_1
}
"
PARENT_SCOPE
)
set
(
${
_PGV_PREFIX
}
VERSION_MINOR
"
${
CMAKE_MATCH_2
}
"
PARENT_SCOPE
)
set
(
${
_PGV_PREFIX
}
VERSION
"
${
CMAKE_MATCH_1
}
.
${
CMAKE_MATCH_2
}
"
PARENT_SCOPE
)
set
(
${
_PGV_PREFIX
}
ABI
""
PARENT_SCOPE
)
elseif
(
_
${
_PYTHON_PREFIX
}
_LIBRARY_RELEASE
MATCHES
"python([23])
\\
.([0-9]+)([dmu]*)"
)
elseif
(
library_name
MATCHES
"python([23])
\\
.([0-9]+)([dmu]*)"
)
set
(
${
_PGV_PREFIX
}
VERSION_MAJOR
"
${
CMAKE_MATCH_1
}
"
PARENT_SCOPE
)
set
(
${
_PGV_PREFIX
}
VERSION_MINOR
"
${
CMAKE_MATCH_2
}
"
PARENT_SCOPE
)
set
(
${
_PGV_PREFIX
}
VERSION
"
${
CMAKE_MATCH_1
}
.
${
CMAKE_MATCH_2
}
"
PARENT_SCOPE
)
set
(
${
_PGV_PREFIX
}
ABI
"
${
CMAKE_MATCH_3
}
"
PARENT_SCOPE
)
elseif
(
_
${
_PYTHON_PREFIX
}
_LIBRARY_RELEASE
MATCHES
"pypy(3)?"
)
elseif
(
library_name
MATCHES
"pypy(3)?
-c
"
)
set
(
version
"
${
CMAKE_MATCH_1
}
"
)
if
(
version EQUAL
"3"
)
set
(
${
_PGV_PREFIX
}
VERSION_MAJOR
"3"
PARENT_SCOPE
)
...
...
Write
Preview
Supports
Markdown
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