CMakeLists.txt 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. set(language "python")
  2. cmake_minimum_required (VERSION 2.6)
  3. project(example_${language}_class)
  4. find_package(SWIG REQUIRED)
  5. include(${SWIG_USE_FILE})
  6. if(${language} MATCHES python)
  7. find_package(PythonLibs)
  8. include_directories(${PYTHON_INCLUDE_PATH})
  9. set(SWIG_LANG_LIBRARIES ${PYTHON_LIBRARIES})
  10. endif()
  11. if(${language} MATCHES perl)
  12. find_package(PerlLibs)
  13. include_directories(${PERL_INCLUDE_PATH})
  14. add_definitions(${PERL_EXTRA_C_FLAGS})
  15. set(SWIG_LANG_LIBRARIES ${PERL_LIBRARY})
  16. endif()
  17. if(${language} MATCHES tcl)
  18. find_package(TCL)
  19. include_directories(${TCL_INCLUDE_PATH})
  20. set(SWIG_LANG_LIBRARIES ${TCL_LIBRARY})
  21. endif()
  22. if(${language} MATCHES ruby)
  23. find_package(Ruby)
  24. include_directories(${RUBY_INCLUDE_PATH})
  25. set(SWIG_LANG_LIBRARIES ${RUBY_LIBRARY})
  26. endif()
  27. if(${language} MATCHES php4)
  28. find_package(PHP4)
  29. include_directories(${PHP4_INCLUDE_PATH})
  30. set(SWIG_LANG_LIBRARIES ${PHP4_LIBRARY})
  31. endif()
  32. if(${language} MATCHES pike)
  33. find_package(Pike)
  34. include_directories(${PIKE_INCLUDE_PATH})
  35. set(SWIG_LANG_LIBRARIES ${PIKE_LIBRARY})
  36. endif()
  37. include_directories(${CMAKE_CURRENT_SOURCE_DIR})
  38. set(CMAKE_SWIG_FLAGS "")
  39. set_source_files_properties(example.i PROPERTIES CPLUSPLUS ON)
  40. set_source_files_properties(example.i PROPERTIES SWIG_FLAGS "-includeall")
  41. SWIG_ADD_MODULE(example "${language}"
  42. example.i example.cxx)
  43. SWIG_LINK_LIBRARIES(example ${SWIG_LANG_LIBRARIES})