migrating to the latest JUCE version
This commit is contained in:
194
deps/clap-juce-extensions/cmake/ClapTargetHelpers.cmake
vendored
Normal file
194
deps/clap-juce-extensions/cmake/ClapTargetHelpers.cmake
vendored
Normal file
@ -0,0 +1,194 @@
|
||||
function(clap_juce_extensions_plugin_internal)
|
||||
set(oneValueArgs TARGET TARGET_PATH PLUGIN_BINARY_NAME IS_JUCER PLUGIN_VERSION DO_COPY CLAP_MANUAL_URL
|
||||
CLAP_SUPPORT_URL CLAP_MISBEHAVIOUR_HANDLER_LEVEL CLAP_CHECKING_LEVEL CLAP_PROCESS_EVENTS_RESOLUTION_SAMPLES
|
||||
CLAP_ALWAYS_SPLIT_BLOCK CLAP_USE_JUCE_PARAMETER_RANGES)
|
||||
set(multiValueArgs CLAP_ID CLAP_FEATURES)
|
||||
|
||||
cmake_parse_arguments(CJA "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
set(target ${CJA_TARGET})
|
||||
string(REPLACE " " "_" claptarget "${target}_CLAP")
|
||||
|
||||
message(STATUS "Creating CLAP ${claptarget} from ${target}")
|
||||
|
||||
if ("${CJA_CLAP_ID}" STREQUAL "")
|
||||
message(FATAL_ERROR "You must specify CLAP_ID to add a clap" )
|
||||
endif()
|
||||
|
||||
if ("${CJA_CLAP_FEATURES}" STREQUAL "")
|
||||
message(WARNING "No CLAP_FEATURES were specified! Using \"instrument\" by default.")
|
||||
set(CJA_CLAP_FEATURES instrument)
|
||||
endif()
|
||||
|
||||
if ("${CJA_CLAP_MISBEHAVIOUR_HANDLER_LEVEL}" STREQUAL "")
|
||||
message( STATUS "Setting Misbehaviour handler level to 'Ignore'")
|
||||
set(CJA_CLAP_MISBEHAVIOUR_HANDLER_LEVEL "Ignore")
|
||||
else()
|
||||
message( STATUS "Setting Misbehaviour handler level to '${CJA_CLAP_MISBEHAVIOUR_HANDLER_LEVEL}'")
|
||||
endif()
|
||||
|
||||
if ("${CJA_CLAP_CHECKING_LEVEL}" STREQUAL "")
|
||||
message( STATUS "Setting Checking handler level to 'Minimal'")
|
||||
set(CJA_CLAP_CHECKING_LEVEL "Minimal")
|
||||
else()
|
||||
message( STATUS "Setting Checking handler level to '${CJA_CLAP_CHECKING_LEVEL}'")
|
||||
endif()
|
||||
|
||||
if ("${CJA_CLAP_PROCESS_EVENTS_RESOLUTION_SAMPLES}" STREQUAL "")
|
||||
message( STATUS "Setting event resolution to 0 samples (no sample-accurate automation)")
|
||||
set(CJA_CLAP_PROCESS_EVENTS_RESOLUTION_SAMPLES 0)
|
||||
else()
|
||||
message( STATUS "Setting event resolution to ${CJA_CLAP_PROCESS_EVENTS_RESOLUTION_SAMPLES} samples")
|
||||
endif()
|
||||
|
||||
if ("${CJA_CLAP_ALWAYS_SPLIT_BLOCK}" STREQUAL "")
|
||||
message( STATUS "Setting \"Always split block\" to OFF")
|
||||
set(CJA_CLAP_ALWAYS_SPLIT_BLOCK 0)
|
||||
else()
|
||||
message( STATUS "Setting \"Always split block\" to ${CJA_CLAP_ALWAYS_SPLIT_BLOCK}")
|
||||
endif()
|
||||
|
||||
if ("${CJA_CLAP_USE_JUCE_PARAMETER_RANGES}" STREQUAL "")
|
||||
message( STATUS "Setting \"Use JUCE parameter ranges\" to OFF")
|
||||
set(CJA_CLAP_USE_JUCE_PARAMETER_RANGES OFF)
|
||||
else()
|
||||
message( STATUS "Setting \"Use JUCE parameter ranges\" to ${CJA_CLAP_USE_JUCE_PARAMETER_RANGES}")
|
||||
endif()
|
||||
|
||||
# we need the list of features as comma separated quoted strings
|
||||
foreach(feature IN LISTS CJA_CLAP_FEATURES)
|
||||
list (APPEND CJA_CLAP_FEATURES_PARSED "\"${feature}\"")
|
||||
endforeach()
|
||||
list (JOIN CJA_CLAP_FEATURES_PARSED ", " CJA_CLAP_FEATURES_PARSED)
|
||||
|
||||
get_property(SRC TARGET clap_juce_sources PROPERTY SOURCES)
|
||||
add_library(${claptarget} MODULE ${SRC})
|
||||
|
||||
get_property(CLAP_CXX_STANDARD TARGET clap_juce_sources PROPERTY CXX_STANDARD)
|
||||
|
||||
if(${CJA_IS_JUCER})
|
||||
set(base_folder "${CMAKE_CURRENT_BINARY_DIR}/${target}_artefacts")
|
||||
set(products_folder "${base_folder}/$<CONFIG>")
|
||||
set_target_properties(${claptarget} PROPERTIES
|
||||
CXX_STANDARD ${CLAP_CXX_STANDARD}
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${products_folder}"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${products_folder}"
|
||||
RUNTIME_OUTPUT_DIRECTORY "${products_folder}")
|
||||
else()
|
||||
set_target_properties(${claptarget} PROPERTIES
|
||||
CXX_STANDARD ${CLAP_CXX_STANDARD}
|
||||
ARCHIVE_OUTPUT_DIRECTORY "$<GENEX_EVAL:$<TARGET_PROPERTY:${target},ARCHIVE_OUTPUT_DIRECTORY>>/CLAP"
|
||||
LIBRARY_OUTPUT_DIRECTORY "$<GENEX_EVAL:$<TARGET_PROPERTY:${target},LIBRARY_OUTPUT_DIRECTORY>>/CLAP"
|
||||
RUNTIME_OUTPUT_DIRECTORY "$<GENEX_EVAL:$<TARGET_PROPERTY:${target},RUNTIME_OUTPUT_DIRECTORY>>/CLAP")
|
||||
target_include_directories(${claptarget} PRIVATE $<TARGET_PROPERTY:${target},INCLUDE_DIRECTORIES>)
|
||||
endif()
|
||||
|
||||
get_target_property(products_folder ${claptarget} LIBRARY_OUTPUT_DIRECTORY)
|
||||
set(product_name "${CJA_PLUGIN_BINARY_NAME}")
|
||||
set_target_properties(${claptarget} PROPERTIES
|
||||
JUCE_PLUGIN_ARTEFACT_FILE "${products_folder}/${product_name}.clap")
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
get_target_property(cjd clap_juce_sources CLAP_JUCE_SOURCE_DIR)
|
||||
set_target_properties(${claptarget} PROPERTIES
|
||||
BUNDLE True
|
||||
BUNDLE_EXTENSION clap
|
||||
PREFIX ""
|
||||
OUTPUT_NAME "${product_name}"
|
||||
MACOSX_BUNDLE TRUE
|
||||
MACOSX_BUNDLE_GUI_IDENTIFIER "${CJA_CLAP_ID}"
|
||||
MACOSX_BUNDLE_BUNDLE_NAME "${product_name}"
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION "${CJA_PLUGIN_VERSION}"
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING "${CJA_PLUGIN_VERSION}"
|
||||
MACOSX_BUNDLE_INFO_PLIST "${cjd}/cmake/macos_bundle/CLAP_Info.plist.in"
|
||||
)
|
||||
add_custom_command(TARGET ${claptarget} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${cjd}/cmake/macos_bundle/PkgInfo" "$<TARGET_FILE_DIR:${claptarget}>/.."
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory "$<TARGET_FILE_DIR:${claptarget}>/../Resources"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${cjd}/cmake/macos_bundle/clap.icns" "$<TARGET_FILE_DIR:${claptarget}>/../Resources"
|
||||
)
|
||||
else()
|
||||
set_target_properties(${claptarget} PROPERTIES
|
||||
PREFIX ""
|
||||
SUFFIX ".clap"
|
||||
OUTPUT_NAME "${product_name}"
|
||||
)
|
||||
endif()
|
||||
|
||||
target_compile_definitions(${claptarget} PRIVATE
|
||||
CLAP_ID="${CJA_CLAP_ID}"
|
||||
CLAP_FEATURES=${CJA_CLAP_FEATURES_PARSED}
|
||||
CLAP_MANUAL_URL="${CJA_CLAP_MANUAL_URL}"
|
||||
CLAP_SUPPORT_URL="${CJA_CLAP_SUPPORT_URL}"
|
||||
CLAP_MISBEHAVIOUR_HANDLER_LEVEL=${CJA_CLAP_MISBEHAVIOUR_HANDLER_LEVEL}
|
||||
CLAP_CHECKING_LEVEL=${CJA_CLAP_CHECKING_LEVEL}
|
||||
CLAP_PROCESS_EVENTS_RESOLUTION_SAMPLES=${CJA_CLAP_PROCESS_EVENTS_RESOLUTION_SAMPLES}
|
||||
CLAP_ALWAYS_SPLIT_BLOCK=${CJA_CLAP_ALWAYS_SPLIT_BLOCK}
|
||||
CLAP_USE_JUCE_PARAMETER_RANGES=CLAP_USE_JUCE_PARAMETER_RANGES_${CJA_CLAP_USE_JUCE_PARAMETER_RANGES}
|
||||
)
|
||||
|
||||
if(${CJA_IS_JUCER})
|
||||
# Since we're working with a pre-compiled plugin lib we can't build
|
||||
# the plugin with the extensions... however, we still need to compile
|
||||
# the extensions, since we'll get a linker error otherwise.
|
||||
target_link_libraries(${claptarget} PUBLIC clap_juce_extensions)
|
||||
target_link_libraries(${claptarget} PUBLIC ${CJA_TARGET_PATH})
|
||||
else()
|
||||
target_link_libraries(${target} PUBLIC clap_juce_extensions)
|
||||
target_link_libraries(${claptarget} PUBLIC ${target})
|
||||
endif()
|
||||
|
||||
target_link_libraries(${claptarget} PUBLIC clap-core clap-helpers clap_juce_sources)
|
||||
set_property(TARGET ${claptarget} PROPERTY C_VISIBILITY_PRESET hidden)
|
||||
set_property(TARGET ${claptarget} PROPERTY VISIBILITY_INLINES_HIDDEN ON)
|
||||
|
||||
set_target_properties(${claptarget} PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE TRUE
|
||||
VISIBILITY_INLINES_HIDDEN TRUE
|
||||
C_VISBILITY_PRESET hidden
|
||||
CXX_VISIBILITY_PRESET hidden
|
||||
)
|
||||
|
||||
if(${CJA_DO_COPY})
|
||||
message(STATUS "Copy After Build" )
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
add_custom_command(TARGET ${claptarget} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "Installing ${products_folder}/${product_name}.clap to ~/Library/Audio/Plug-Ins/CLAP/"
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory "~/Library/Audio/Plug-Ins/CLAP"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory "${products_folder}/${product_name}.clap" "~/Library/Audio/Plug-Ins/CLAP/${product_name}.clap"
|
||||
)
|
||||
endif()
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
add_custom_command(TARGET ${claptarget} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "Installing ${products_folder}/${product_name}.clap"
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory "~/.clap"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy "${products_folder}/${product_name}.clap" "~/.clap/"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(clap_juce_extensions_plugin)
|
||||
set(oneValueArgs TARGET)
|
||||
cmake_parse_arguments(CJA "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
|
||||
get_target_property(product_name ${CJA_TARGET} JUCE_PRODUCT_NAME)
|
||||
get_target_property(plugin_version ${CJA_TARGET} JUCE_VERSION)
|
||||
get_target_property(docopy "${CJA_TARGET}" JUCE_COPY_PLUGIN_AFTER_BUILD)
|
||||
|
||||
clap_juce_extensions_plugin_internal(
|
||||
PLUGIN_BINARY_NAME "${product_name}"
|
||||
PLUGIN_VERSION "${plugin_version}"
|
||||
IS_JUCER FALSE
|
||||
DO_COPY ${docopy}
|
||||
${ARGV}
|
||||
)
|
||||
endfunction()
|
||||
|
||||
# modified version of clap_juce_extensions_plugin
|
||||
# for use with Projucer projects
|
||||
function(clap_juce_extensions_plugin_jucer)
|
||||
clap_juce_extensions_plugin_internal(
|
||||
IS_JUCER TRUE
|
||||
${ARGV}
|
||||
)
|
||||
endfunction()
|
127
deps/clap-juce-extensions/cmake/JucerClap.cmake
vendored
Normal file
127
deps/clap-juce-extensions/cmake/JucerClap.cmake
vendored
Normal file
@ -0,0 +1,127 @@
|
||||
# use this function to create a CLAP from a jucer project
|
||||
function(create_jucer_clap_target)
|
||||
set(oneValueArgs TARGET PLUGIN_NAME BINARY_NAME MANUFACTURER_NAME MANUFACTURER_URL VERSION_STRING MANUFACTURER_CODE PLUGIN_CODE EDITOR_NEEDS_KEYBOARD_FOCUS)
|
||||
set(multiValueArgs CLAP_FEATURES)
|
||||
|
||||
cmake_parse_arguments(CJA "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
|
||||
if ("${CJA_BINARY_NAME}" STREQUAL "")
|
||||
set(CJA_BINARY_NAME "${CJA_TARGET}")
|
||||
endif()
|
||||
|
||||
if ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
message(WARNING "CMAKE_BUILD_TYPE not set... using Release by default")
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
endif()
|
||||
|
||||
if("${JUCER_GENERATOR}" STREQUAL "VisualStudio2019")
|
||||
find_library(PLUGIN_LIBRARY_PATH ${CJA_TARGET} "Builds/VisualStudio2019/x64/${CMAKE_BUILD_TYPE}/Shared Code")
|
||||
elseif("${JUCER_GENERATOR}" STREQUAL "VisualStudio2017")
|
||||
find_library(PLUGIN_LIBRARY_PATH ${CJA_TARGET} "Builds/VisualStudio2017/x64/${CMAKE_BUILD_TYPE}/Shared Code")
|
||||
elseif("${JUCER_GENERATOR}" STREQUAL "VisualStudio2015")
|
||||
find_library(PLUGIN_LIBRARY_PATH ${CJA_TARGET} "Builds/VisualStudio2015/x64/${CMAKE_BUILD_TYPE}/Shared Code")
|
||||
elseif("${JUCER_GENERATOR}" STREQUAL "Xcode")
|
||||
find_library(PLUGIN_LIBRARY_PATH ${CJA_TARGET} "Builds/MacOSX/build/${CMAKE_BUILD_TYPE}")
|
||||
elseif("${JUCER_GENERATOR}" STREQUAL "LinuxMakefile")
|
||||
# for some reason Projucer makes a lib called "PluginName.a", but find_library needs "libPluginName.a"
|
||||
set(LINUX_LIB_PATH "${CMAKE_CURRENT_SOURCE_DIR}/Builds/LinuxMakefile/build")
|
||||
configure_file("${LINUX_LIB_PATH}/${CJA_TARGET}.a" "${LINUX_LIB_PATH}/lib${CJA_TARGET}.a" COPYONLY)
|
||||
find_library(PLUGIN_LIBRARY_PATH ${CJA_TARGET} "${LINUX_LIB_PATH}")
|
||||
elseif("${JUCER_GENERATOR}" STREQUAL "")
|
||||
message(FATAL_ERROR "JUCER_GENERATOR variable must be set!")
|
||||
else()
|
||||
message(FATAL_ERROR "Unknown Generator!")
|
||||
endif()
|
||||
|
||||
message(STATUS "Plugin SharedCode library path: ${PLUGIN_LIBRARY_PATH}")
|
||||
|
||||
if(NOT CLAP_JUCE_EXTENSIONS_BUILD_EXAMPLES)
|
||||
add_subdirectory(${PATH_TO_JUCE} clap_juce_juce)
|
||||
add_subdirectory(${PATH_TO_CLAP_EXTENSIONS} clap_juce_clapext EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
|
||||
clap_juce_extensions_plugin_jucer(
|
||||
TARGET_PATH "${PLUGIN_LIBRARY_PATH}"
|
||||
PLUGIN_BINARY_NAME "${CJA_BINARY_NAME}"
|
||||
PLUGIN_VERSION "${CJA_VERSION_STRING}"
|
||||
${ARGV}
|
||||
)
|
||||
|
||||
string(REPLACE " " "_" clap_target "${CJA_TARGET}_CLAP")
|
||||
target_include_directories(${clap_target}
|
||||
PUBLIC
|
||||
${PATH_TO_JUCE}/modules
|
||||
JuceLibraryCode
|
||||
)
|
||||
|
||||
target_compile_definitions(${clap_target}
|
||||
PRIVATE
|
||||
JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1
|
||||
JucePlugin_Name="${CJA_PLUGIN_NAME}"
|
||||
JucePlugin_Manufacturer="${CJA_MANUFACTURER_NAME}"
|
||||
JucePlugin_ManufacturerWebsite="${CJA_MANUFACTURER_URL}"
|
||||
JucePlugin_VersionString="${CJA_VERSION_STRING}"
|
||||
JucePlugin_Desc=""
|
||||
)
|
||||
|
||||
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
||||
target_compile_definitions(${clap_target}
|
||||
PRIVATE
|
||||
DEBUG=1
|
||||
_DEBUG=1
|
||||
)
|
||||
else()
|
||||
target_compile_definitions(${clap_target}
|
||||
PRIVATE
|
||||
NDEBUG=1
|
||||
_NDEBUG=1
|
||||
)
|
||||
endif()
|
||||
|
||||
if("${CJA_CLAP_FEATURES}" MATCHES "^instrument.*")
|
||||
message(STATUS "Detected plugin category: instrument")
|
||||
target_compile_definitions(${clap_target} PRIVATE JucePlugin_IsSynth=1)
|
||||
target_compile_definitions(${clap_target} PRIVATE JucePlugin_ProducesMidiOutput=0)
|
||||
target_compile_definitions(${clap_target} PRIVATE JucePlugin_WantsMidiInput=1)
|
||||
elseif("${CJA_CLAP_FEATURES}" MATCHES "^audio-effect.*")
|
||||
message(STATUS "Detected plugin category: audio-effect")
|
||||
target_compile_definitions(${clap_target} PRIVATE JucePlugin_IsSynth=0)
|
||||
target_compile_definitions(${clap_target} PRIVATE JucePlugin_ProducesMidiOutput=0)
|
||||
target_compile_definitions(${clap_target} PRIVATE JucePlugin_WantsMidiInput=0)
|
||||
elseif("${CJA_CLAP_FEATURES}" MATCHES "^note-effect.*")
|
||||
message(STATUS "Detected plugin category: note-effect")
|
||||
target_compile_definitions(${clap_target} PRIVATE JucePlugin_IsSynth=0)
|
||||
target_compile_definitions(${clap_target} PRIVATE JucePlugin_ProducesMidiOutput=1)
|
||||
target_compile_definitions(${clap_target} PRIVATE JucePlugin_WantsMidiInput=1)
|
||||
else()
|
||||
message(FATAL_ERROR "No plugin category detected!")
|
||||
endif()
|
||||
|
||||
if("${CJA_MANUFACTURER_CODE}" STREQUAL "")
|
||||
message(WARNING "Manufacturer code not set! Using \"Manu\"")
|
||||
set(CJA_MANUFACTURER_CODE "Manu")
|
||||
endif()
|
||||
target_compile_definitions(${clap_target} PRIVATE JucePlugin_ManufacturerCode=${CJA_MANUFACTURER_CODE})
|
||||
|
||||
if("${CJA_PLUGIN_CODE}" STREQUAL "")
|
||||
message(WARNING "Plugin code not set! Using \"Xyz5\"")
|
||||
set(CJA_PLUGIN_CODE "Xyz5")
|
||||
endif()
|
||||
target_compile_definitions(${clap_target} PRIVATE JucePlugin_PluginCode=${CJA_PLUGIN_CODE})
|
||||
|
||||
if(${CJA_EDITOR_NEEDS_KEYBOARD_FOCUS})
|
||||
target_compile_definitions(${clap_target} PRIVATE JucePlugin_EditorRequiresKeyboardFocus=1)
|
||||
else()
|
||||
target_compile_definitions(${clap_target} PRIVATE JucePlugin_EditorRequiresKeyboardFocus=0)
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
_juce_link_frameworks("${clap_target}" PRIVATE AppKit Cocoa WebKit OpenGL CoreAudioKit CoreAudio CoreMidi CoreVideo CoreImage Quartz Accelerate AudioToolbox IOKit QuartzCore Metal MetalKit)
|
||||
elseif(UNIX)
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads REQUIRED)
|
||||
find_package(Freetype REQUIRED)
|
||||
find_package(ALSA REQUIRED)
|
||||
target_link_libraries(${clap_target} PUBLIC Threads::Threads Freetype::Freetype ALSA::ALSA ${ALSA_LIBRARIES} rt dl)
|
||||
endif()
|
||||
endfunction()
|
31
deps/clap-juce-extensions/cmake/macos_bundle/CLAP_Info.plist.in
vendored
Normal file
31
deps/clap-juce-extensions/cmake/macos_bundle/CLAP_Info.plist.in
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist>
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>${MACOSX_BUNDLE_INFO_STRING}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>clap.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
|
||||
</dict>
|
||||
</plist>
|
1
deps/clap-juce-extensions/cmake/macos_bundle/PkgInfo
vendored
Normal file
1
deps/clap-juce-extensions/cmake/macos_bundle/PkgInfo
vendored
Normal file
@ -0,0 +1 @@
|
||||
BNDL????
|
BIN
deps/clap-juce-extensions/cmake/macos_bundle/clap.icns
vendored
Normal file
BIN
deps/clap-juce-extensions/cmake/macos_bundle/clap.icns
vendored
Normal file
Binary file not shown.
24
deps/clap-juce-extensions/cmake/macos_bundle/make-icns.sh
vendored
Normal file
24
deps/clap-juce-extensions/cmake/macos_bundle/make-icns.sh
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
# This generates the clap.icns file from the artwork PNG
|
||||
|
||||
IN=../../clap-libs/clap/artwork/clap-simple-logo-black.png
|
||||
|
||||
mkdir OUT
|
||||
mkdir OUT/PNG
|
||||
convert -geometry 512 $IN OUT/PNG/icon_512.png
|
||||
convert -geometry 256 $IN OUT/PNG/icon_256.png
|
||||
convert -geometry 128 $IN OUT/PNG/icon_128.png
|
||||
convert -geometry 64 $IN OUT/PNG/icon_64.png
|
||||
|
||||
|
||||
identify OUT/PNG/*png
|
||||
|
||||
|
||||
mkdir OUT/SET.iconset
|
||||
sips -z 512 512 OUT/PNG/icon_512.png --out OUT/SET.iconset/icon_512x512.png
|
||||
sips -z 256 256 OUT/PNG/icon_512.png --out OUT/SET.iconset/icon_256x256.png
|
||||
sips -z 128 128 OUT/PNG/icon_512.png --out OUT/SET.iconset/icon_128x128.png
|
||||
sips -z 64 64 OUT/PNG/icon_512.png --out OUT/SET.iconset/icon_64x64.png
|
||||
|
||||
iconutil -c icns -o clap.icns OUT/SET.iconset
|
||||
|
||||
rm -rf OUT
|
Reference in New Issue
Block a user