When compiling with clang, cmake only sets MSVC when using clang-cl as
it's meant as an indication of cl.exe command line compatibility.
In this case, if one is using clang++ with the ms-abi, cmake
incorrectly takes the else branch here and library detection fails.
If instead we use MSVC_VERSION, which is empty unless a compiler
with _MSC_VER set is being used, then we get the correct behaviour.
https://cmake.org/cmake/help/latest/variable/MSVC.htmlhttps://cmake.org/cmake/help/latest/variable/MSVC_VERSION.html
* accept double digits in Python3_VERSION_MINOR
* if someone is using e.g.:
find_package(Python3 REQUIRED)
find_package(Boost REQUIRED python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR})
with python-3.10 then it currently fails with:
-- Found PythonLibs: /usr/lib/libpython3.10.so (found version "3.10.0")
-- Found Python3: -native/usr/bin/python3-native/python3 (found version "3.10.0") found components: Interpreter
CMake Error at /usr/lib/cmake/Boost-1.77.0/BoostConfig.cmake:141 (find_package):
Could not find a package configuration file provided by "boost_python310"
(requested version 1.77.0) with any of the following names:
boost_python310Config.cmake
boost_python310-config.cmake
Add the installation prefix of "boost_python310" to CMAKE_PREFIX_PATH or
set "boost_python310_DIR" to a directory containing one of the above files.
If "boost_python310" provides a separate development package or SDK, be
sure it has been installed.
Call Stack (most recent call first):
/usr/lib/cmake/Boost-1.77.0/BoostConfig.cmake:258 (boost_find_component)
/usr/share/cmake-3.21/Modules/FindBoost.cmake:594 (find_package)
CMakeLists.txt:18 (find_package)
Signed-off-by: Martin Jansa <martin.jansa@lge.com>