CMakeLists.txt 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. cmake_minimum_required(VERSION 3.1)
  2. project(TestMultiplePackages C)
  3. find_package (Python2 REQUIRED COMPONENTS Interpreter Development)
  4. find_package (Python3 REQUIRED COMPONENTS Interpreter Development)
  5. # Must find Python 3
  6. find_package (Python REQUIRED)
  7. if (NOT Python3_EXECUTABLE STREQUAL Python_EXECUTABLE)
  8. message (FATAL_ERROR
  9. "Python interpreters do not match:\n"
  10. " Python_EXECUTABLE='${Python_EXECUTABLE}'\n"
  11. " Python3_EXECUTABLE='${Python3_EXECUTABLE}'\n"
  12. )
  13. endif()
  14. Python2_add_library (spam2 MODULE ../spam.c)
  15. target_compile_definitions (spam2 PRIVATE PYTHON2)
  16. Python3_add_library (spam3 MODULE ../spam.c)
  17. target_compile_definitions (spam3 PRIVATE PYTHON3)
  18. add_test (NAME python2_spam2
  19. COMMAND "${CMAKE_COMMAND}" -E env "PYTHONPATH=$<TARGET_FILE_DIR:spam3>"
  20. "${Python2_EXECUTABLE}" -c "import spam2; spam2.system(\"cd\")")
  21. add_test (NAME python3_spam3
  22. COMMAND "${CMAKE_COMMAND}" -E env "PYTHONPATH=$<TARGET_FILE_DIR:spam3>"
  23. "${Python3_EXECUTABLE}" -c "import spam3; spam3.system(\"cd\")")