summaryrefslogtreecommitdiffstats
path: root/Tests/FindPython/Implementation/CMakeLists.txt
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-04-29 11:30:14 (GMT)
committerKitware Robot <kwrobot@kitware.com>2020-04-29 11:30:24 (GMT)
commitc9fdee6a6753c13acfdc3da439f1e597e6cf645c (patch)
treecd5c7a654ed3c4f853c4d80856170b1952ccfd58 /Tests/FindPython/Implementation/CMakeLists.txt
parentfa3acd14ee6337785e577600aa4bc6d441f80f1c (diff)
parentd2c47c822b50d3cfd23b208c663fbe4f40fcf2f5 (diff)
downloadCMake-c9fdee6a6753c13acfdc3da439f1e597e6cf645c.zip
CMake-c9fdee6a6753c13acfdc3da439f1e597e6cf645c.tar.gz
CMake-c9fdee6a6753c13acfdc3da439f1e597e6cf645c.tar.bz2
Merge topic 'FindPython-find-implementations'
d2c47c822b FindPython: Add capability to specify Python implementations Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4676
Diffstat (limited to 'Tests/FindPython/Implementation/CMakeLists.txt')
-rw-r--r--Tests/FindPython/Implementation/CMakeLists.txt37
1 files changed, 37 insertions, 0 deletions
diff --git a/Tests/FindPython/Implementation/CMakeLists.txt b/Tests/FindPython/Implementation/CMakeLists.txt
new file mode 100644
index 0000000..d64fa1e
--- /dev/null
+++ b/Tests/FindPython/Implementation/CMakeLists.txt
@@ -0,0 +1,37 @@
+cmake_minimum_required(VERSION 3.1)
+
+project(TestImplementation${Python_REQUESTED_IMPLEMENTATION} C)
+
+
+set (Python${Python_REQUESTED_VERSION}_FIND_IMPLEMENTATIONS ${Python_REQUESTED_IMPLEMENTATION})
+
+find_package(Python${Python_REQUESTED_VERSION} COMPONENTS Interpreter)
+if (NOT Python${Python_REQUESTED_VERSION}_FOUND OR NOT Python${Python_REQUESTED_VERSION}_Interpreter_FOUND)
+ message (FATAL_ERROR "Fail to found Python${Python_REQUESTED_VERSION}")
+endif()
+
+if (Python_REQUESTED_IMPLEMENTATION STREQUAL "IronPython"
+ AND NOT Python${Python_REQUESTED_VERSION}_INTERPRETER_ID STREQUAL "IronPython")
+ message (FATAL_ERROR "Erroneous interpreter ID (${Python${Python_REQUESTED_VERSION}_INTERPRETER_ID})")
+endif()
+if (Python_REQUESTED_IMPLEMENTATION STREQUAL "CPython"
+ AND Python${Python_REQUESTED_VERSION}_INTERPRETER_ID STREQUAL "IronPython")
+ message (FATAL_ERROR "Erroneous interpreter ID (${Python${Python_REQUESTED_VERSION}_INTERPRETER_ID})")
+endif()
+
+
+set (Python_FIND_IMPLEMENTATIONS ${Python_REQUESTED_IMPLEMENTATION})
+
+find_package(Python ${Python_REQUESTED_VERSION} REQUIRED COMPONENTS Interpreter)
+if (NOT Python_FOUND OR NOT Python_Interpreter_FOUND)
+ message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION}")
+endif()
+
+if (Python_REQUESTED_IMPLEMENTATION STREQUAL "IronPython"
+ AND NOT Python_INTERPRETER_ID STREQUAL "IronPython")
+ message (FATAL_ERROR "Erroneous interpreter ID (${Python_INTERPRETER_ID})")
+endif()
+if (Python_REQUESTED_IMPLEMENTATION STREQUAL "CPython"
+ AND Python_INTERPRETER_ID STREQUAL "IronPython")
+ message (FATAL_ERROR "Erroneous interpreter ID (${Python_INTERPRETER_ID})")
+endif()