Something went wrong. Try again.
Monorepo for Aesthetic.Computer aesthetic.computer
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687cmake_minimum_required(VERSION 3.22)project(ACNotepat VERSION 0.1.0 LANGUAGES CXX C OBJCXX)
set(CMAKE_CXX_STANDARD 17)set(CMAKE_CXX_STANDARD_REQUIRED ON)set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum macOS version")
# VST3 SDK - will be cloned as submoduleset(vst3sdk_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/vst3sdk")if(NOT EXISTS "${vst3sdk_SOURCE_DIR}/CMakeLists.txt") message(FATAL_ERROR "VST3 SDK not found. Run: git clone --recursive https://github.com/steinbergmedia/vst3sdk.git")endif()
# Add VST3 SDKset(SMTG_ADD_VSTGUI OFF CACHE BOOL "" FORCE) # We use WKWebView, not VSTGUIset(SMTG_ADD_VST3_PLUGINS_SAMPLES OFF CACHE BOOL "" FORCE)set(SMTG_ADD_VST3_HOSTING_SAMPLES OFF CACHE BOOL "" FORCE)
# Custom plugin output folder (visible in Finder)set(SMTG_PLUGIN_TARGET_PATH "${CMAKE_CURRENT_SOURCE_DIR}/plugins" CACHE PATH "" FORCE)
add_subdirectory(${vst3sdk_SOURCE_DIR})
# Our plugin sourcesset(PLUGIN_SOURCES source/acnotepat.h source/acnotepat.cpp source/acnotepat_controller.h source/acnotepat_controller.mm source/acnotepat_cids.h source/acnotepat_entry.cpp source/version.h)
# Add macOS-specific module initif(APPLE) list(APPEND PLUGIN_SOURCES ${vst3sdk_SOURCE_DIR}/public.sdk/source/main/macmain.cpp )endif()
# Create the VST3 pluginsmtg_add_vst3plugin(ACNotepat ${PLUGIN_SOURCES})
# Link VST3 SDK librariestarget_link_libraries(ACNotepat PRIVATE sdk sdk_common)
# macOS: Link WebKit and Cocoa for WKWebViewif(APPLE) target_link_libraries(ACNotepat PRIVATE "-framework WebKit" "-framework Cocoa" ) # Enable Objective-C++ for .mm files set_source_files_properties( source/acnotepat_controller.mm PROPERTIES COMPILE_FLAGS "-x objective-c++" )endif()
# Plugin infosmtg_target_configure_version_file(ACNotepat)
# Set bundle identifier for macOSif(APPLE) set_target_properties(ACNotepat PROPERTIES BUNDLE_IDENTIFIER "computer.aesthetic.notepat" MACOSX_BUNDLE_GUI_IDENTIFIER "computer.aesthetic.notepat" MACOSX_BUNDLE_BUNDLE_NAME "AC Notepat" MACOSX_BUNDLE_BUNDLE_VERSION "0.1.0" MACOSX_BUNDLE_SHORT_VERSION_STRING "0.1.0" ) # Fix: VST3 must be BNDL, not APPL add_custom_command(TARGET ACNotepat POST_BUILD COMMAND /usr/libexec/PlistBuddy -c "Set :CFBundlePackageType BNDL" "$<TARGET_BUNDLE_DIR:ACNotepat>/Contents/Info.plist" COMMENT "Fixing CFBundlePackageType to BNDL" )endif()