CMakeLists.txt 1.0 KB

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