LegacyConfiguration.cmake 2.0 KB

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