NumPyOnly.cmake 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. enable_language(C)
  2. include(CTest)
  3. cmake_policy(GET CMP0201 numpy_policy)
  4. if(numpy_policy STREQUAL NEW)
  5. set(components "Development.Module")
  6. endif()
  7. if(CMake_TEST_FindPython2_NumPy)
  8. find_package (Python2 REQUIRED COMPONENTS ${components} NumPy)
  9. Python2_add_library (arraytest2 MODULE arraytest.c)
  10. target_compile_definitions (arraytest2 PRIVATE PYTHON2)
  11. target_link_libraries (arraytest2 PRIVATE Python2::NumPy)
  12. add_test (NAME python2_arraytest
  13. COMMAND "${CMAKE_COMMAND}" -E env "PYTHONPATH=$<TARGET_FILE_DIR:arraytest2>"
  14. "${Python2_INTERPRETER}" -c "import numpy; import arraytest2; arraytest2.vecsq(numpy.array([1, 2, 3]));")
  15. endif()
  16. if(CMake_TEST_FindPython3_NumPy)
  17. find_package (Python3 REQUIRED COMPONENTS ${components} NumPy)
  18. Python3_add_library (arraytest3 MODULE arraytest.c)
  19. target_compile_definitions (arraytest3 PRIVATE PYTHON3)
  20. target_link_libraries (arraytest3 PRIVATE Python3::NumPy)
  21. add_test (NAME python3_arraytest
  22. COMMAND "${CMAKE_COMMAND}" -E env "PYTHONPATH=$<TARGET_FILE_DIR:arraytest3>"
  23. "${Python3_INTERPRETER}" -c "import numpy; import arraytest3; arraytest3.vecsq(numpy.array([1, 2, 3]));")
  24. endif()