sfizz-ui/plugins/CMakeLists.txt

98 lines
2.9 KiB
Text
Raw Permalink Normal View History

set(PLUGINSCOMMON_SOURCES
common/plugin/RMSFollower.h
common/plugin/MessageUtils.h
common/plugin/MessageUtils.cpp
common/plugin/InstrumentDescription.h
common/plugin/InstrumentDescription.cpp
common/plugin/NativeHelpers.h
common/plugin/NativeHelpers.cpp
common/plugin/SfizzFileScan.h
common/plugin/SfizzFileScan.cpp
common/plugin/FileTrie.h
common/plugin/FileTrie.cpp
common/plugin/SfizzForeignPaths.h
common/plugin/SfizzForeignPaths.cpp
common/plugin/SfizzSettings.h
common/plugin/SfizzSettings.cpp
)
if(SFIZZ_CMAKE_USE_EMPTY_SOURCE_GROUPS)
source_group("" FILES ${PLUGINSCOMMON_SOURCES})
endif()
add_library(plugins_common STATIC EXCLUDE_FROM_ALL ${PLUGINSCOMMON_SOURCES})
if(APPLE)
target_sources(plugins_common PRIVATE
"common/plugin/SfizzForeignPaths.mm"
"common/plugin/SfizzSettings.mm"
"common/plugin/NativeHelpers.mm"
)
set_property(SOURCE
"common/plugin/SfizzForeignPaths.mm"
"common/plugin/SfizzSettings.mm"
"common/plugin/NativeHelpers.mm"
APPEND_STRING
PROPERTY COMPILE_FLAGS " -fobjc-arc"
)
endif()
target_include_directories(plugins_common PUBLIC "common")
target_link_libraries(plugins_common
PUBLIC
sfizz::spin_mutex
sfizz::simde
sfizz::filesystem
absl::strings
PRIVATE
sfizz::pugixml
sfizz::internal
sfizz::sfizz
)
add_library(plugins::common ALIAS plugins_common)
add_custom_target(generate_plugins_git_build_id
COMMAND
"${CMAKE_COMMAND}"
"-DSOURCE_DIR=${PROJECT_SOURCE_DIR}"
"-DOUTPUT_FILE=${PROJECT_BINARY_DIR}/git-build-id/PluginGitBuildId.c"
"-DPREFIX=Plugin"
"-P" "${PROJECT_SOURCE_DIR}/library/cmake/GitBuildID.cmake"
BYPRODUCTS
"${PROJECT_BINARY_DIR}/git-build-id/PluginGitBuildId.c"
)
set(PLUGINS_GIT_BUILD_ID_SOURCES
"${PROJECT_SOURCE_DIR}/plugins/git-build-id/PluginGitBuildId.h"
"${PROJECT_BINARY_DIR}/git-build-id/PluginGitBuildId.c"
)
if(SFIZZ_CMAKE_USE_EMPTY_SOURCE_GROUPS)
source_group("" FILES ${PLUGINS_GIT_BUILD_ID_SOURCES})
endif()
add_library(plugins_git_build_id STATIC EXCLUDE_FROM_ALL ${PLUGINS_GIT_BUILD_ID_SOURCES})
target_include_directories(plugins_git_build_id PUBLIC "${PROJECT_SOURCE_DIR}/plugins/git-build-id")
add_dependencies(plugins_git_build_id generate_plugins_git_build_id)
add_library(plugins::git_build_id ALIAS plugins_git_build_id)
# Link system dependencies
if(WIN32)
elseif(ANDROID)
elseif(APPLE)
target_link_libraries(plugins_common PRIVATE
"${APPLE_FOUNDATION_LIBRARY}")
else()
endif()
if((PLUGIN_LV2 AND PLUGIN_LV2_UI) OR PLUGIN_VST3 OR PLUGIN_AU OR PLUGIN_VST2)
add_subdirectory(editor)
endif()
if(PLUGIN_LV2)
add_subdirectory(lv2)
endif()
if((PLUGIN_VST3 OR PLUGIN_AU OR PLUGIN_VST2) AND NOT (PROJECT_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc).*"))
add_subdirectory(vst)
endif()
if(PLUGIN_PUREDATA)
add_subdirectory(puredata)
endif()