PluginList.cmake 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. # Provides a fast mechanism for filtering the plugins used at build-time
  2. SET(PLUGIN_LIST "" CACHE STRING "List of plug-ins to build")
  3. STRING(REPLACE " " ";" PLUGIN_LIST "${PLUGIN_LIST}")
  4. OPTION(LMMS_MINIMAL "Build a minimal list of plug-ins" OFF)
  5. OPTION(LIST_PLUGINS "Lists the available plugins for building" OFF)
  6. SET(MINIMAL_LIST
  7. audio_file_processor
  8. kicker
  9. triple_oscillator
  10. )
  11. IF(LMMS_MINIMAL)
  12. IF("${PLUGIN_LIST}" STREQUAL "")
  13. STRING(REPLACE ";" " " MINIMAL_LIST_STRING "${MINIMAL_LIST}")
  14. MESSAGE(
  15. "-- Using minimal plug-ins: ${MINIMAL_LIST_STRING}\n"
  16. " Note: You can specify specific plug-ins using -DPLUGIN_LIST=\"foo bar\""
  17. )
  18. ENDIF()
  19. SET(PLUGIN_LIST ${MINIMAL_LIST} ${PLUGIN_LIST})
  20. ENDIF()
  21. SET(LMMS_PLUGIN_LIST
  22. ${MINIMAL_LIST}
  23. Amplifier
  24. BassBooster
  25. bit_invader
  26. Bitcrush
  27. carlabase
  28. carlapatchbay
  29. carlarack
  30. CrossoverEQ
  31. Delay
  32. DualFilter
  33. dynamics_processor
  34. Eq
  35. Flanger
  36. HydrogenImport
  37. ladspa_browser
  38. LadspaEffect
  39. Lv2Effect
  40. Lv2Instrument
  41. lb302
  42. MidiImport
  43. MidiExport
  44. MultitapEcho
  45. monstro
  46. nes
  47. OpulenZ
  48. organic
  49. FreeBoy
  50. patman
  51. peak_controller_effect
  52. GigPlayer
  53. ReverbSC
  54. sf2_player
  55. sfxr
  56. Sid
  57. SpectrumAnalyzer
  58. stereo_enhancer
  59. stereo_matrix
  60. stk
  61. vst_base
  62. vestige
  63. VstEffect
  64. watsyn
  65. waveshaper
  66. Vectorscope
  67. vibed
  68. Xpressive
  69. zynaddsubfx
  70. )
  71. IF("${PLUGIN_LIST}" STREQUAL "")
  72. SET(PLUGIN_LIST ${LMMS_PLUGIN_LIST})
  73. ENDIF()
  74. MACRO(LIST_ALL_PLUGINS)
  75. MESSAGE("\n\nAll possible -DPLUGIN_LIST values")
  76. MESSAGE("\n KEYWORD:")
  77. MESSAGE(" -DLMMS_MINIMAL=True")
  78. FOREACH(item IN LISTS MINIMAL_LIST)
  79. MESSAGE(" ${item}")
  80. ENDFOREACH()
  81. MESSAGE("\n NAME:")
  82. FOREACH(item IN LISTS LMMS_PLUGIN_LIST)
  83. MESSAGE(" ${item}")
  84. ENDFOREACH()
  85. MESSAGE("\nNote: This value also impacts the fetching of git submodules.\n")
  86. MESSAGE(FATAL_ERROR "Information was requested, aborting build!")
  87. ENDMACRO()
  88. IF(LIST_PLUGINS)
  89. UNSET(LIST_PLUGINS CACHE)
  90. LIST_ALL_PLUGINS()
  91. ENDIF()
  92. IF(MSVC)
  93. SET(MSVC_INCOMPATIBLE_PLUGINS
  94. LadspaEffect
  95. zynaddsubfx
  96. )
  97. message(WARNING "Compiling with MSVC. The following plugins are not available: ${MSVC_INCOMPATIBLE_PLUGINS}")
  98. LIST(REMOVE_ITEM PLUGIN_LIST ${MSVC_INCOMPATIBLE_PLUGINS})
  99. ENDIF()