diff --git a/cmake/PuredataConfig.cmake b/cmake/PuredataConfig.cmake index 1fc7f005..11eab2fb 100644 --- a/cmake/PuredataConfig.cmake +++ b/cmake/PuredataConfig.cmake @@ -16,6 +16,17 @@ else() set(PUREDATA_SUFFIX ".pd_linux") endif() +if(APPLE) + set(PDPLUGIN_INSTALL_DIR "$ENV{HOME}/Library/Pd" CACHE STRING + "Install destination for Puredata bundle [default: $ENV{HOME}/Library/Pd]") +elseif(MSVC) + set(PDPLUGIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/Pd/extra" CACHE STRING + "Install destination for Puredata bundle [default: ${CMAKE_INSTALL_PREFIX}/Pd/extra]") +else() + set(PDPLUGIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib/pd/extra" CACHE STRING + "Install destination for Puredata bundle [default: ${CMAKE_INSTALL_PREFIX}/lib/pd/extra]") +endif() + if(WIN32) add_library(pdex-implib STATIC IMPORTED) if(MSVC) diff --git a/plugins/puredata/CMakeLists.txt b/plugins/puredata/CMakeLists.txt index 0ad11a25..81176ed6 100644 --- a/plugins/puredata/CMakeLists.txt +++ b/plugins/puredata/CMakeLists.txt @@ -36,6 +36,16 @@ if(MINGW) PROPERTY LINK_FLAGS " -static") endif() +# Copy resources copy_puredata_resources(sfizz_puredata "${CMAKE_CURRENT_SOURCE_DIR}" "${PUREDATA_BINARY_DIR}") + +# Installation +if(NOT MSVC) + install(DIRECTORY "${PUREDATA_BINARY_DIR}" DESTINATION "${PDPLUGIN_INSTALL_DIR}" + COMPONENT "puredata") + bundle_dylibs(puredata + "${PDPLUGIN_INSTALL_DIR}/sfizz/sfizz${PUREDATA_SUFFIX}" + COMPONENT "puredata") +endif()