MultiplePython.cmake 857 B

1234567891011121314151617181920212223242526
  1. find_package(SWIG REQUIRED)
  2. include(${SWIG_USE_FILE})
  3. find_package(Python2 REQUIRED COMPONENTS Development)
  4. find_package(Python3 REQUIRED COMPONENTS Development)
  5. unset(CMAKE_SWIG_FLAGS)
  6. set (CMAKE_INCLUDE_CURRENT_DIR ON)
  7. set_property(SOURCE example.i PROPERTY CPLUSPLUS ON)
  8. set_property(SOURCE example.i PROPERTY COMPILE_OPTIONS -includeall)
  9. swig_add_library(example1
  10. LANGUAGE python
  11. OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/Python2"
  12. SOURCES example.i example.cxx)
  13. target_link_libraries(example1 PRIVATE Python2::Python)
  14. # re-use sample interface file for another plugin
  15. swig_add_library(example2
  16. LANGUAGE python
  17. OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/Python3"
  18. SOURCES example.i example.cxx)
  19. target_link_libraries(example2 PRIVATE Python3::Python)