diff options
author | Brad King <brad.king@kitware.com> | 2020-04-17 12:05:15 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2020-04-17 12:05:39 (GMT) |
commit | d601a2c75cd78af4b5222c96eaffc6967093fe72 (patch) | |
tree | 961e043e470c2355582da7d9dc4bcdfd7712124f /Tests | |
parent | 9a450bcfec5411169007d5ca5f1bd40e6f476ff4 (diff) | |
parent | c1b4044d3ef4cc2414271180154a44a2bc000b91 (diff) | |
download | CMake-d601a2c75cd78af4b5222c96eaffc6967093fe72.zip CMake-d601a2c75cd78af4b5222c96eaffc6967093fe72.tar.gz CMake-d601a2c75cd78af4b5222c96eaffc6967093fe72.tar.bz2 |
Merge topic 'FindPython-dev-subcomponents'
c1b4044d3e FindPython: add sub-components to Development component
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !4616
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/FindPython/CMakeLists.txt | 23 | ||||
-rw-r--r-- | Tests/FindPython/Python/CMakeLists.txt | 6 | ||||
-rw-r--r-- | Tests/FindPython/Python2/CMakeLists.txt | 9 | ||||
-rw-r--r-- | Tests/FindPython/Python2Embedded/CMakeLists.txt | 15 | ||||
-rw-r--r-- | Tests/FindPython/Python2Module/CMakeLists.txt | 37 | ||||
-rw-r--r-- | Tests/FindPython/Python3/CMakeLists.txt | 9 | ||||
-rw-r--r-- | Tests/FindPython/Python3Embedded/CMakeLists.txt | 15 | ||||
-rw-r--r-- | Tests/FindPython/Python3Module/CMakeLists.txt | 37 |
8 files changed, 148 insertions, 3 deletions
diff --git a/Tests/FindPython/CMakeLists.txt b/Tests/FindPython/CMakeLists.txt index d2326e4..8ed59d1 100644 --- a/Tests/FindPython/CMakeLists.txt +++ b/Tests/FindPython/CMakeLists.txt @@ -20,6 +20,17 @@ if(CMake_TEST_FindPython) --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> ) + add_test(NAME FindPython.Python2.Development.Module COMMAND + ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindPython/Python2Module" + "${CMake_BINARY_DIR}/Tests/FindPython/Python2Module" + ${build_generator_args} + --build-project TestPython2Module + --build-options ${build_options} + --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> + ) + add_test(NAME FindPython.Python2Fail COMMAND ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> --build-and-test @@ -54,6 +65,17 @@ if(CMake_TEST_FindPython) --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> ) + add_test(NAME FindPython.Python3.Development.Module COMMAND + ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindPython/Python3Module" + "${CMake_BINARY_DIR}/Tests/FindPython/Python3Module" + ${build_generator_args} + --build-project TestPython3Module + --build-options ${build_options} + --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> + ) + add_test(NAME FindPython.Python3Fail COMMAND ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> --build-and-test @@ -276,7 +298,6 @@ if(CMake_TEST_FindPython_NumPy) ${build_generator_args} --build-project TestNumPyOnly --build-options ${build_options} - --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> ) endif() diff --git a/Tests/FindPython/Python/CMakeLists.txt b/Tests/FindPython/Python/CMakeLists.txt index 3ee38e3..e8828a2 100644 --- a/Tests/FindPython/Python/CMakeLists.txt +++ b/Tests/FindPython/Python/CMakeLists.txt @@ -8,6 +8,12 @@ find_package(Python ${Python_REQUESTED_VERSION} REQUIRED COMPONENTS Interpreter if (NOT Python_FOUND) message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION}") endif() +if (NOT Python_Development.Module_FOUND) + message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION}, COMPONENT 'Development.Module'") +endif() +if (NOT Python_Development.Embed_FOUND) + message (FATAL_ERROR "Fail to found Python ${Python_REQUESTED_VERSION}, COMPOENENT 'Development.Embed'") +endif() if(NOT TARGET Python::Interpreter) message(SEND_ERROR "Python::Interpreter not found") diff --git a/Tests/FindPython/Python2/CMakeLists.txt b/Tests/FindPython/Python2/CMakeLists.txt index cf77ca2..609d80f 100644 --- a/Tests/FindPython/Python2/CMakeLists.txt +++ b/Tests/FindPython/Python2/CMakeLists.txt @@ -13,6 +13,15 @@ find_package(Python2 REQUIRED COMPONENTS Interpreter Development) if (NOT Python2_FOUND) message (FATAL_ERROR "Fail to found Python 2") endif() +if (NOT Python2_Development_FOUND) + message (FATAL_ERROR "Fail to found Python 2 'Development' component") +endif() +if (NOT Python2_Development.Module_FOUND) + message (FATAL_ERROR "Fail to found Python 2 'Development.Module' component") +endif() +if (NOT Python2_Development.Embed_FOUND) + message (FATAL_ERROR "Fail to found Python 2 'Development.Embed' component") +endif() if(NOT TARGET Python2::Interpreter) message(SEND_ERROR "Python2::Interpreter not found") diff --git a/Tests/FindPython/Python2Embedded/CMakeLists.txt b/Tests/FindPython/Python2Embedded/CMakeLists.txt index 0115dea..1cf6034 100644 --- a/Tests/FindPython/Python2Embedded/CMakeLists.txt +++ b/Tests/FindPython/Python2Embedded/CMakeLists.txt @@ -4,10 +4,23 @@ project(TestPython2Embedded C) include(CTest) -find_package(Python2 REQUIRED COMPONENTS Development) +find_package(Python2 REQUIRED COMPONENTS Development.Embed) if (NOT Python2_FOUND) message (FATAL_ERROR "Fail to found Python 2") endif() +if (Python2_Development_FOUND) + message (FATAL_ERROR "Python 2, COMPONENT 'Development' unexpectedly found") +endif() +if (Python2_Development.Module_FOUND) + message (FATAL_ERROR "Python 2, COMPONENT 'Development.Module' unexpectedly found") +endif() +if (NOT Python2_Development.Embed_FOUND) + message (FATAL_ERROR "Python 2, COMPONENT 'Development.Embed' not found") +endif() + +if(TARGET Python2::Module) + message(SEND_ERROR "Python2::Module unexpectedly found") +endif() if(NOT TARGET Python2::Python) message(SEND_ERROR "Python2::Python not found") diff --git a/Tests/FindPython/Python2Module/CMakeLists.txt b/Tests/FindPython/Python2Module/CMakeLists.txt new file mode 100644 index 0000000..0bc3390 --- /dev/null +++ b/Tests/FindPython/Python2Module/CMakeLists.txt @@ -0,0 +1,37 @@ +cmake_minimum_required(VERSION 3.1) + +project(TestPython2Module C) + +include(CTest) + +find_package(Python2 REQUIRED COMPONENTS Interpreter Development.Module) +if (NOT Python2_FOUND) + message (FATAL_ERROR "Fail to found Python 2") +endif() +if (Python2_Development_FOUND) + message (FATAL_ERROR "Python 2, COMPONENT 'Development' unexpectedly found") +endif() +if (Python2_Development.Embed_FOUND) + message (FATAL_ERROR "Python 2, COMPONENT 'Development.Embed' unexpectedly found") +endif() +if (NOT Python2_Development.Module_FOUND) + message (FATAL_ERROR "Python 2, COMPONENT 'Development.Module' not found") +endif() + +if(NOT TARGET Python2::Interpreter) + message(SEND_ERROR "Python2::Interpreter not found") +endif() + +if(TARGET Python2::Python) + message(SEND_ERROR "Python2::Python unexpectedly found") +endif() +if(NOT TARGET Python2::Module) + message(SEND_ERROR "Python2::Module not found") +endif() + +Python2_add_library (spam2 MODULE ../spam.c) +target_compile_definitions (spam2 PRIVATE PYTHON2) + +add_test (NAME python2_spam2 + COMMAND "${CMAKE_COMMAND}" -E env "PYTHONPATH=$<TARGET_FILE_DIR:spam2>" + "${Python2_EXECUTABLE}" -c "import spam2; spam2.system(\"cd\")") diff --git a/Tests/FindPython/Python3/CMakeLists.txt b/Tests/FindPython/Python3/CMakeLists.txt index 34ebd2c..d6e5fdb 100644 --- a/Tests/FindPython/Python3/CMakeLists.txt +++ b/Tests/FindPython/Python3/CMakeLists.txt @@ -13,6 +13,15 @@ find_package(Python3 REQUIRED COMPONENTS Interpreter Development) if (NOT Python3_FOUND) message (FATAL_ERROR "Fail to found Python 3") endif() +if (NOT Python3_Development_FOUND) + message (FATAL_ERROR "Fail to found Python 3 'Development' component") +endif() +if (NOT Python3_Development.Module_FOUND) + message (FATAL_ERROR "Fail to found Python 3 'Development.Module' component") +endif() +if (NOT Python3_Development.Embed_FOUND) + message (FATAL_ERROR "Fail to found Python 3 'Development.Embed' component") +endif() if(NOT TARGET Python3::Interpreter) message(SEND_ERROR "Python3::Interpreter not found") diff --git a/Tests/FindPython/Python3Embedded/CMakeLists.txt b/Tests/FindPython/Python3Embedded/CMakeLists.txt index 4eb7ebc..184c0b4 100644 --- a/Tests/FindPython/Python3Embedded/CMakeLists.txt +++ b/Tests/FindPython/Python3Embedded/CMakeLists.txt @@ -4,10 +4,23 @@ project(TestPython3Embedded C) include(CTest) -find_package(Python3 REQUIRED COMPONENTS Development) +find_package(Python3 REQUIRED COMPONENTS Development.Embed) if (NOT Python3_FOUND) message (FATAL_ERROR "Fail to found Python 3") endif() +if (Python3_Development_FOUND) + message (FATAL_ERROR "Python 3, COMPONENT 'Development' unexpectedly found") +endif() +if (Python3_Development.Module_FOUND) + message (FATAL_ERROR "Python 3, COMPONENT 'Development.Module' unexpectedly found") +endif() +if (NOT Python3_Development.Embed_FOUND) + message (FATAL_ERROR "Python 3, COMPONENT 'Development.Embed' not found") +endif() + +if(TARGET Python3::Module) + message(SEND_ERROR "Python3::Module unexpectedly found") +endif() if(NOT TARGET Python3::Python) message(SEND_ERROR "Python3::Python not found") diff --git a/Tests/FindPython/Python3Module/CMakeLists.txt b/Tests/FindPython/Python3Module/CMakeLists.txt new file mode 100644 index 0000000..676f4c8 --- /dev/null +++ b/Tests/FindPython/Python3Module/CMakeLists.txt @@ -0,0 +1,37 @@ +cmake_minimum_required(VERSION 3.1) + +project(TestPython3Module C) + +include(CTest) + +find_package(Python3 REQUIRED COMPONENTS Interpreter Development.Module) +if (NOT Python3_FOUND) + message (FATAL_ERROR "Fail to found Python 3") +endif() +if (Python3_Development_FOUND) + message (FATAL_ERROR "Python 3, COMPONENT 'Development' unexpectedly found") +endif() +if (Python3_Development.Embed_FOUND) + message (FATAL_ERROR "Python 3, COMPONENT 'Development.Embed' unexpectedly found") +endif() +if (NOT Python3_Development.Module_FOUND) + message (FATAL_ERROR "Python 3, COMPONENT 'Development.Module' not found") +endif() + +if(NOT TARGET Python3::Interpreter) + message(SEND_ERROR "Python3::Interpreter not found") +endif() + +if(TARGET Python3::Python) + message(SEND_ERROR "Python3::Python unexpectedly found") +endif() +if(NOT TARGET Python3::Module) + message(SEND_ERROR "Python3::Module not found") +endif() + +Python3_add_library (spam3 MODULE ../spam.c) +target_compile_definitions (spam3 PRIVATE PYTHON3) + +add_test (NAME python3_spam3 + COMMAND "${CMAKE_COMMAND}" -E env "PYTHONPATH=$<TARGET_FILE_DIR:spam3>" + "${Python3_EXECUTABLE}" -c "import spam3; spam3.system(\"cd\")") |