You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.3 KiB
57 lines
2.3 KiB
cmake_minimum_required(VERSION 3.15)
|
|
|
|
project(TestExactVersion LANGUAGES C)
|
|
|
|
find_package(Python${Python_MAJOR_VERSION} ${Python_REQUESTED_VERSION} COMPONENTS Interpreter Development)
|
|
if(NOT Python${Python_MAJOR_VERSION}_FOUND)
|
|
message (FATAL_ERROR "Failed to find Python ${Python_REQUESTED_VERSION}")
|
|
endif()
|
|
if(NOT Python${Python_MAJOR_VERSION}_Interpreter_FOUND)
|
|
message (FATAL_ERROR "Failed to find Python ${Python_REQUESTED_VERSION} Interpreter")
|
|
endif()
|
|
if(NOT Python${Python_MAJOR_VERSION}_Development_FOUND)
|
|
message (FATAL_ERROR "Failed to find Python ${Python_REQUESTED_VERSION} Development")
|
|
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
|
|
unset(Python${Python_MAJOR_VERSION}_EXECUTABLE)
|
|
unset(_Python${Python_MAJOR_VERSION}_EXECUTABLE CACHE)
|
|
|
|
unset(_Python${Python_MAJOR_VERSION}_LIBRARY_RELEASE CACHE)
|
|
unset(_Python${Python_MAJOR_VERSION}_INCLUDE_DIR CACHE)
|
|
|
|
set(Python_REQUESTED_VERSION ${Python${Python_MAJOR_VERSION}_VERSION})
|
|
find_package(Python${Python_MAJOR_VERSION} ${Python_REQUESTED_VERSION} EXACT COMPONENTS Interpreter Development)
|
|
if(NOT Python${Python_MAJOR_VERSION}_FOUND)
|
|
message (FATAL_ERROR "Failed to find Python ${Python_REQUESTED_VERSION}")
|
|
endif()
|
|
if(NOT Python${Python_MAJOR_VERSION}_Interpreter_FOUND)
|
|
message (FATAL_ERROR "Failed to find Python ${Python_REQUESTED_VERSION} Interpreter")
|
|
endif()
|
|
if(NOT Python${Python_MAJOR_VERSION}_Development_FOUND)
|
|
message (FATAL_ERROR "Failed to find Python ${Python_REQUESTED_VERSION} Development")
|
|
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()
|