CMakeLists.txt 1.1 KB

123456789101112131415161718192021222324252627282930
  1. cmake_minimum_required(VERSION 3.18)
  2. project(TestMultipleFiles CXX)
  3. find_package(SWIG REQUIRED)
  4. include(UseSWIG)
  5. unset(SWIG_LANG_TYPE)
  6. unset(SWIG_LANG_INCLUDE_DIRECTORIES)
  7. unset(SWIG_LANG_DEFINITIONS)
  8. unset(SWIG_LANG_OPTIONS)
  9. unset(SWIG_LANG_LIBRARIES)
  10. find_package(Python3 REQUIRED COMPONENTS Development)
  11. set_property(SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/add.i" PROPERTY CPLUSPLUS ON)
  12. set_property(SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/sub.i" PROPERTY CPLUSPLUS ON)
  13. set_property(SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/add.i" PROPERTY SWIG_MODULE_NAME _add)
  14. set_property(SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/sub.i" PROPERTY SWIG_MODULE_NAME _sub)
  15. swig_add_library(example
  16. LANGUAGE python
  17. TYPE MODULE
  18. SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/add.i"
  19. "${CMAKE_CURRENT_SOURCE_DIR}/sub.i"
  20. "${CMAKE_CURRENT_SOURCE_DIR}/add.cxx"
  21. "${CMAKE_CURRENT_SOURCE_DIR}/sub.cxx")
  22. target_include_directories(example PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
  23. target_link_libraries(example PRIVATE Python3::Module)