diff options
author | Brad King <brad.king@kitware.com> | 2020-04-29 11:30:14 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2020-04-29 11:30:24 (GMT) |
commit | c9fdee6a6753c13acfdc3da439f1e597e6cf645c (patch) | |
tree | cd5c7a654ed3c4f853c4d80856170b1952ccfd58 /Tests/FindPython/Implementation/CMakeLists.txt | |
parent | fa3acd14ee6337785e577600aa4bc6d441f80f1c (diff) | |
parent | d2c47c822b50d3cfd23b208c663fbe4f40fcf2f5 (diff) | |
download | CMake-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.txt | 37 |
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() |