LegacyConfiguration.cmake 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. find_package(SWIG REQUIRED)
  2. include(${SWIG_USE_FILE})
  3. unset(SWIG_LANG_TYPE)
  4. if(${language} MATCHES python)
  5. find_package(PythonInterp REQUIRED)
  6. find_package(PythonLibs REQUIRED)
  7. include_directories(${PYTHON_INCLUDE_PATH})
  8. set(SWIG_LANG_LIBRARIES ${PYTHON_LIBRARIES})
  9. endif()
  10. if(${language} MATCHES perl)
  11. find_package(Perl REQUIRED)
  12. find_package(PerlLibs REQUIRED)
  13. include_directories(${PERL_INCLUDE_PATH})
  14. separate_arguments(c_flags UNIX_COMMAND "${PERL_EXTRA_C_FLAGS}")
  15. add_compile_options(${c_flags})
  16. set(SWIG_LANG_LIBRARIES ${PERL_LIBRARY})
  17. endif()
  18. if(${language} MATCHES tcl)
  19. find_package(TCL REQUIRED)
  20. include_directories(${TCL_INCLUDE_PATH})
  21. set(SWIG_LANG_LIBRARIES ${TCL_LIBRARY})
  22. endif()
  23. if(${language} MATCHES ruby)
  24. find_package(Ruby REQUIRED)
  25. include_directories(${RUBY_INCLUDE_PATH})
  26. set(SWIG_LANG_LIBRARIES ${RUBY_LIBRARY})
  27. endif()
  28. if(${language} MATCHES php4)
  29. find_package(PHP4 REQUIRED)
  30. include_directories(${PHP4_INCLUDE_PATH})
  31. set(SWIG_LANG_LIBRARIES ${PHP4_LIBRARY})
  32. endif()
  33. if(${language} MATCHES pike)
  34. find_package(Pike REQUIRED)
  35. include_directories(${PIKE_INCLUDE_PATH})
  36. set(SWIG_LANG_LIBRARIES ${PIKE_LIBRARY})
  37. endif()
  38. if(${language} MATCHES lua)
  39. find_package(Lua REQUIRED)
  40. include_directories(${LUA_INCLUDE_DIR})
  41. set(SWIG_LANG_TYPE TYPE SHARED)
  42. set(SWIG_LANG_LIBRARIES ${LUA_LIBRARIES})
  43. endif()
  44. unset(CMAKE_SWIG_FLAGS)
  45. include_directories(${CMAKE_CURRENT_LIST_DIR})
  46. set_source_files_properties(example.i PROPERTIES CPLUSPLUS ON)
  47. set_source_files_properties(example.i PROPERTIES SWIG_FLAGS "-includeall")
  48. SWIG_ADD_LIBRARY(example
  49. LANGUAGE "${language}"
  50. ${SWIG_LANG_TYPE}
  51. SOURCES example.i example.cxx)
  52. SWIG_LINK_LIBRARIES(example ${SWIG_LANG_LIBRARIES})