summaryrefslogtreecommitdiff
path: root/Tests/FindPython/ExactVersion/CMakeLists.txt
blob: 1bd94c47e0573a2164abb27c29a8d6f1f51d6a51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
cmake_minimum_required(VERSION 3.5)

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()