57 lines
2.3 KiB
CMake
Raw Normal View History

2020-08-30 11:54:41 +02:00
cmake_minimum_required(VERSION 3.1)
2021-09-14 00:13:48 +02:00
project(TestExactVersion LANGUAGES C)
2020-08-30 11:54:41 +02:00
find_package(Python${Python_MAJOR_VERSION} ${Python_REQUESTED_VERSION} COMPONENTS Interpreter Development)
2021-09-14 00:13:48 +02:00
if(NOT Python${Python_MAJOR_VERSION}_FOUND)
message (FATAL_ERROR "Failed to find Python ${Python_REQUESTED_VERSION}")
2020-08-30 11:54:41 +02:00
endif()
2021-09-14 00:13:48 +02:00
if(NOT Python${Python_MAJOR_VERSION}_Interpreter_FOUND)
message (FATAL_ERROR "Failed to find Python ${Python_REQUESTED_VERSION} Interpreter")
2020-08-30 11:54:41 +02:00
endif()
2021-09-14 00:13:48 +02:00
if(NOT Python${Python_MAJOR_VERSION}_Development_FOUND)
message (FATAL_ERROR "Failed to find Python ${Python_REQUESTED_VERSION} Development")
2020-08-30 11:54:41 +02:00
endif()
if(NOT TARGET Python${Python_MAJOR_VERSION}::Interpreter)
message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Interpreter not found")
endif()
if(NOT TARGET Python${Python_MAJOR_VERSION}::Python)
message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Python not found")
endif()
if(NOT TARGET Python${Python_MAJOR_VERSION}::Module)
message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Module not found")
endif()
# reset artifacts and second search with exact version already founded
2021-09-14 00:13:48 +02:00
unset(Python${Python_MAJOR_VERSION}_EXECUTABLE)
unset(_Python${Python_MAJOR_VERSION}_EXECUTABLE CACHE)
2020-08-30 11:54:41 +02:00
2021-09-14 00:13:48 +02:00
unset(_Python${Python_MAJOR_VERSION}_LIBRARY_RELEASE CACHE)
unset(_Python${Python_MAJOR_VERSION}_INCLUDE_DIR CACHE)
2020-08-30 11:54:41 +02:00
2021-09-14 00:13:48 +02:00
set(Python_REQUESTED_VERSION ${Python${Python_MAJOR_VERSION}_VERSION})
2020-08-30 11:54:41 +02:00
find_package(Python${Python_MAJOR_VERSION} ${Python_REQUESTED_VERSION} EXACT COMPONENTS Interpreter Development)
2021-09-14 00:13:48 +02:00
if(NOT Python${Python_MAJOR_VERSION}_FOUND)
message (FATAL_ERROR "Failed to find Python ${Python_REQUESTED_VERSION}")
2020-08-30 11:54:41 +02:00
endif()
2021-09-14 00:13:48 +02:00
if(NOT Python${Python_MAJOR_VERSION}_Interpreter_FOUND)
message (FATAL_ERROR "Failed to find Python ${Python_REQUESTED_VERSION} Interpreter")
2020-08-30 11:54:41 +02:00
endif()
2021-09-14 00:13:48 +02:00
if(NOT Python${Python_MAJOR_VERSION}_Development_FOUND)
message (FATAL_ERROR "Failed to find Python ${Python_REQUESTED_VERSION} Development")
2020-08-30 11:54:41 +02:00
endif()
if(NOT TARGET Python${Python_MAJOR_VERSION}::Interpreter)
message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Interpreter not found")
endif()
if(NOT TARGET Python${Python_MAJOR_VERSION}::Python)
message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Python not found")
endif()
if(NOT TARGET Python${Python_MAJOR_VERSION}::Module)
message(SEND_ERROR "Python${Python_MAJOR_VERSION}::Module not found")
endif()