MultipleModules.cmake 1013 B

123456789101112131415161718192021222324252627282930
  1. find_package(SWIG REQUIRED)
  2. include(${SWIG_USE_FILE})
  3. find_package(PythonLibs REQUIRED)
  4. find_package(PerlLibs REQUIRED)
  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. set_property(SOURCE example.i PROPERTY GENERATED_INCLUDE_DIRECTORIES ${PYTHON_INCLUDE_PATH})
  10. swig_add_library(example1
  11. LANGUAGE python
  12. SOURCES example.i example.cxx)
  13. target_link_libraries(example1 PRIVATE ${PYTHON_LIBRARIES})
  14. # re-use sample interface file for another plugin
  15. set_property(SOURCE example.i PROPERTY GENERATED_INCLUDE_DIRECTORIES ${PERL_INCLUDE_PATH})
  16. separate_arguments(c_flags UNIX_COMMAND "${PERL_EXTRA_C_FLAGS}")
  17. set_property(SOURCE example.i PROPERTY GENERATED_COMPILE_OPTIONS ${c_flags})
  18. swig_add_library(example2
  19. LANGUAGE perl
  20. SOURCES example.i example.cxx)
  21. target_link_libraries(example2 PRIVATE ${PERL_LIBRARY})