set_property(GLOBAL PROPERTY USE_FOLDERS ON)

#CLAP
add_library(SfxPluginClapGain SHARED clap/gain/plugin.cpp)
target_include_directories(SfxPluginClapGain PRIVATE ${CMAKE_SOURCE_DIR}/deps/clap/include/)
set_target_properties(SfxPluginClapGain PROPERTIES FOLDER "sfxPlugin/clap")
if(MSVC)
  set_target_properties(SfxPluginClapGain PROPERTIES RUNTIME_OUTPUT_DIRECTORY $<1:../../clap>)
else()
  set_target_properties(SfxPluginClapGain PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/clap")
endif()
set_target_properties(SfxPluginClapGain PROPERTIES SUFFIX ".clap" PREFIX "")

if(MSVC)
  add_library(SfxPluginClapDistortionGuiWin32 SHARED clap/distortionGuiWin32/plugin.cpp)
  target_include_directories(SfxPluginClapDistortionGuiWin32 PRIVATE ${CMAKE_SOURCE_DIR}/deps/clap/include/)
  set_target_properties(SfxPluginClapDistortionGuiWin32 PROPERTIES FOLDER "sfxPlugin/clap")
  set_target_properties(SfxPluginClapDistortionGuiWin32 PROPERTIES RUNTIME_OUTPUT_DIRECTORY $<1:../../clap>)
  set_target_properties(SfxPluginClapDistortionGuiWin32 PROPERTIES SUFFIX ".clap" PREFIX "")
else()
  add_library(SfxPluginClapDistortionGuiX11 SHARED clap/distortionGuiX11/plugin.cpp)
  target_include_directories(SfxPluginClapDistortionGuiX11 PRIVATE ${CMAKE_SOURCE_DIR}/deps/clap/include/)
  find_package(X11 REQUIRED)
  target_link_libraries(SfxPluginClapDistortionGuiX11 PRIVATE ${X11_LIBRARIES})
  #find_library(XAW_LIBRARY NAMES Xaw Xaw7 REQUIRED)
  #target_link_libraries(SfxPluginClapDistortionGuiX11 PRIVATE ${XAW_LIBRARY})
  set_target_properties(SfxPluginClapDistortionGuiX11 PROPERTIES FOLDER "sfxPlugin/clap")
  set_target_properties(SfxPluginClapDistortionGuiX11 PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/clap")
  set_target_properties(SfxPluginClapDistortionGuiX11 PROPERTIES SUFFIX ".clap" PREFIX "")
endif()

#VST
if(MSVC)
  add_library(SfxPluginVstGain SHARED vst/gain/plugin.cpp ${CMAKE_SOURCE_DIR}/deps/vst2.x/include/aeffeditor.h ${CMAKE_SOURCE_DIR}/deps/vst2.x/include/audioeffect.cpp ${CMAKE_SOURCE_DIR}/deps/vst2.x/include/audioeffect.h ${CMAKE_SOURCE_DIR}/deps/vst2.x/include/audioeffectx.cpp ${CMAKE_SOURCE_DIR}/deps/vst2.x/include/audioeffectx.h ${CMAKE_SOURCE_DIR}/deps/vst2.x/include/vstplugmain.cpp)
  target_include_directories(SfxPluginVstGain PRIVATE ${CMAKE_SOURCE_DIR}/deps/vst2.x/include/)
  set_target_properties(SfxPluginVstGain PROPERTIES FOLDER "sfxPlugin/vst")
  set_target_properties(SfxPluginVstGain PROPERTIES RUNTIME_OUTPUT_DIRECTORY $<1:../../vst>)
  set_target_properties(SfxPluginVstGain PROPERTIES LINK_FLAGS "/DEF:vstplug.def")
endif()

if(MSVC)
  add_library(SfxPluginVstDistortionGuiWin32 SHARED vst/distortionGuiWin32/plugin.cpp ${CMAKE_SOURCE_DIR}/deps/vst2.x/include/aeffeditor.h ${CMAKE_SOURCE_DIR}/deps/vst2.x/include/audioeffect.cpp ${CMAKE_SOURCE_DIR}/deps/vst2.x/include/audioeffect.h ${CMAKE_SOURCE_DIR}/deps/vst2.x/include/audioeffectx.cpp ${CMAKE_SOURCE_DIR}/deps/vst2.x/include/audioeffectx.h ${CMAKE_SOURCE_DIR}/deps/vst2.x/include/vstplugmain.cpp)
  target_include_directories(SfxPluginVstDistortionGuiWin32 PRIVATE ${CMAKE_SOURCE_DIR}/deps/vst2.x/include/)
  set_target_properties(SfxPluginVstDistortionGuiWin32 PROPERTIES FOLDER "sfxPlugin/vst")
  set_target_properties(SfxPluginVstDistortionGuiWin32 PROPERTIES RUNTIME_OUTPUT_DIRECTORY $<1:../../vst>)
  set_target_properties(SfxPluginVstDistortionGuiWin32 PROPERTIES LINK_FLAGS "/DEF:vstplug.def")
endif()
