mirror of
https://github.com/AxioDL/amuse.git
synced 2025-07-03 11:45:52 +00:00
CMake Xcode compatibility adjustments
This commit is contained in:
parent
9527a219c7
commit
d71f9f62b8
@ -21,50 +21,50 @@
|
|||||||
@implementation ViewController
|
@implementation ViewController
|
||||||
|
|
||||||
- (void)viewDidLoad {
|
- (void)viewDidLoad {
|
||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
#if 0
|
#if 0
|
||||||
AudioComponentDescription desc;
|
AudioComponentDescription desc;
|
||||||
/* Supply the correct AudioComponentDescription based on your AudioUnit type, manufacturer and creator.
|
/* Supply the correct AudioComponentDescription based on your AudioUnit type, manufacturer and creator.
|
||||||
|
|
||||||
You need to supply matching settings in the AUAppExtension info.plist under:
|
You need to supply matching settings in the AUAppExtension info.plist under:
|
||||||
|
|
||||||
NSExtension
|
NSExtension
|
||||||
NSExtensionAttributes
|
NSExtensionAttributes
|
||||||
AudioComponents
|
AudioComponents
|
||||||
Item 0
|
Item 0
|
||||||
type
|
type
|
||||||
subtype
|
subtype
|
||||||
manufacturer
|
manufacturer
|
||||||
|
|
||||||
If you do not do this step, your AudioUnit will not work!!!
|
If you do not do this step, your AudioUnit will not work!!!
|
||||||
*/
|
*/
|
||||||
desc.componentType = kAudioUnitType_MusicDevice;
|
desc.componentType = kAudioUnitType_MusicDevice;
|
||||||
desc.componentSubType = 'sin3';
|
desc.componentSubType = 'sin3';
|
||||||
desc.componentManufacturer = 'Demo';
|
desc.componentManufacturer = 'Demo';
|
||||||
desc.componentFlags = 0;
|
desc.componentFlags = 0;
|
||||||
desc.componentFlagsMask = 0;
|
desc.componentFlagsMask = 0;
|
||||||
|
|
||||||
[AUAudioUnit registerSubclass: AUv3InstrumentDemo.class asComponentDescription:desc name:@"Local InstrumentDemo" version: UINT32_MAX];
|
[AUAudioUnit registerSubclass: AUv3InstrumentDemo.class asComponentDescription:desc name:@"Local InstrumentDemo" version: UINT32_MAX];
|
||||||
|
|
||||||
playEngine = [[SimplePlayEngine alloc] initWithComponentType: desc.componentType componentsFoundCallback: nil];
|
playEngine = [[SimplePlayEngine alloc] initWithComponentType: desc.componentType componentsFoundCallback: nil];
|
||||||
[playEngine selectAudioUnitWithComponentDescription2:desc completionHandler:^{
|
[playEngine selectAudioUnitWithComponentDescription2:desc completionHandler:^{
|
||||||
[self connectParametersToControls];
|
[self connectParametersToControls];
|
||||||
}];
|
}];
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)loadView {
|
-(void)loadView {
|
||||||
amuseVC = [[AudioUnitViewController alloc] initWithNibName:nil bundle:nil];
|
amuseVC = [[AudioUnitViewController alloc] initWithNibName:nil bundle:nil];
|
||||||
self.view = [[NSView alloc] initWithFrame:NSMakeRect(0, 0, 200, 300)];
|
self.view = [[NSView alloc] initWithFrame:NSMakeRect(0, 0, 200, 300)];
|
||||||
[self.view addSubview:amuseVC.view];
|
[self.view addSubview:amuseVC.view];
|
||||||
|
|
||||||
self.view.translatesAutoresizingMaskIntoConstraints = NO;
|
self.view.translatesAutoresizingMaskIntoConstraints = NO;
|
||||||
|
|
||||||
NSArray *constraints = [NSLayoutConstraint constraintsWithVisualFormat: @"H:|-[view]-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(self.view)];
|
NSArray *constraints = [NSLayoutConstraint constraintsWithVisualFormat: @"H:|-[view]-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(self.view)];
|
||||||
[self.view addConstraints: constraints];
|
[self.view addConstraints: constraints];
|
||||||
|
|
||||||
constraints = [NSLayoutConstraint constraintsWithVisualFormat: @"V:|-[view]-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(self.view)];
|
constraints = [NSLayoutConstraint constraintsWithVisualFormat: @"V:|-[view]-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(self.view)];
|
||||||
[self.view addConstraints: constraints];
|
[self.view addConstraints: constraints];
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
@ -93,22 +93,6 @@ if(TARGET boo)
|
|||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if(EXISTS "${PROV_PROFILE}")
|
if(EXISTS "${PROV_PROFILE}")
|
||||||
# Containing App
|
|
||||||
add_executable(amuse-au-container MACOSX_BUNDLE AudioUnit/AmuseContainingApp.mm
|
|
||||||
AudioUnit/AudioUnitBackend.hpp AudioUnit/AudioUnitBackend.mm
|
|
||||||
AudioUnit/AudioUnitViewController.hpp AudioUnit/AudioUnitViewController.mm)
|
|
||||||
set_source_files_properties(AudioUnit/AudioUnitBackend.mm AudioUnit/AudioUnitViewController.mm
|
|
||||||
AudioUnit/AmuseContainingApp.mm
|
|
||||||
PROPERTIES COMPILE_FLAGS -fobjc-arc)
|
|
||||||
target_link_libraries(amuse-au-container amuse boo soxr ${AUDIOUNIT_LIBRARY} ${COREAUDIOKIT_LIBRARY}
|
|
||||||
${AVFOUNDATION_LIBRARY} ${BOO_SYS_LIBS} logvisor)
|
|
||||||
set_target_properties(amuse-au-container PROPERTIES
|
|
||||||
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/AudioUnit/ContainerInfo.plist"
|
|
||||||
XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/AudioUnit/Amuse.entitlements")
|
|
||||||
|
|
||||||
set(APPLE_BUNDLE_ID "io.github.axiodl.Amuse")
|
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/AudioUnit/Amuse.entitlements.in
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/AmuseContainer.entitlements)
|
|
||||||
|
|
||||||
# Extension App
|
# Extension App
|
||||||
add_executable(amuse-au MACOSX_BUNDLE AudioUnit/AudioUnitBackend.hpp AudioUnit/AudioUnitBackend.mm
|
add_executable(amuse-au MACOSX_BUNDLE AudioUnit/AudioUnitBackend.hpp AudioUnit/AudioUnitBackend.mm
|
||||||
@ -123,20 +107,48 @@ if(TARGET boo)
|
|||||||
set_target_properties(amuse-au PROPERTIES
|
set_target_properties(amuse-au PROPERTIES
|
||||||
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/AudioUnit/ExtensionInfo.plist"
|
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/AudioUnit/ExtensionInfo.plist"
|
||||||
BUNDLE_EXTENSION "appex" BUNDLE TRUE
|
BUNDLE_EXTENSION "appex" BUNDLE TRUE
|
||||||
XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/AudioUnit/Amuse.entitlements"
|
XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_BINARY_DIR}/AmuseExtension.entitlements"
|
||||||
|
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${APPLE_DEV_ID}"
|
||||||
LINK_FLAGS "-e _NSExtensionMain -fobjc-arc -fobjc-link-runtime -fapplication-extension")
|
LINK_FLAGS "-e _NSExtensionMain -fobjc-arc -fobjc-link-runtime -fapplication-extension")
|
||||||
|
|
||||||
file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/amuse-au.app/Contents/embedded.provisionprofile" INPUT "${PROV_PROFILE}")
|
|
||||||
install(CODE "file(REMOVE_RECURSE \"${CMAKE_CURRENT_BINARY_DIR}/amuse-au-container.app/Contents/PlugIns/amuse-au.appex\")")
|
# Containing App
|
||||||
install(CODE "file(COPY \"${CMAKE_CURRENT_BINARY_DIR}/amuse-au.app/\" DESTINATION
|
add_executable(amuse-au-container MACOSX_BUNDLE AudioUnit/AmuseContainingApp.mm
|
||||||
\"${CMAKE_CURRENT_BINARY_DIR}/amuse-au-container.app/Contents/PlugIns/amuse-au.appex\" PATTERN
|
AudioUnit/AudioUnitBackend.hpp AudioUnit/AudioUnitBackend.mm
|
||||||
\"${CMAKE_CURRENT_BINARY_DIR}/amuse-au.app/*\")")
|
AudioUnit/AudioUnitViewController.hpp AudioUnit/AudioUnitViewController.mm)
|
||||||
install(CODE "message(STATUS \"Codesigning: amuse-au\")\nexecute_process(COMMAND codesign --force --sign
|
set_source_files_properties(AudioUnit/AudioUnitBackend.mm AudioUnit/AudioUnitViewController.mm
|
||||||
\"${APPLE_DEV_ID}\" --entitlements \"${CMAKE_CURRENT_BINARY_DIR}/AmuseExtension.entitlements\"
|
AudioUnit/AmuseContainingApp.mm
|
||||||
\"${CMAKE_CURRENT_BINARY_DIR}/amuse-au-container.app/Contents/PlugIns/amuse-au.appex\")")
|
PROPERTIES COMPILE_FLAGS -fobjc-arc)
|
||||||
install(CODE "message(STATUS \"Codesigning: amuse-au-container\")\nexecute_process(COMMAND codesign --force --sign
|
target_link_libraries(amuse-au-container amuse boo soxr ${AUDIOUNIT_LIBRARY} ${COREAUDIOKIT_LIBRARY}
|
||||||
\"${APPLE_DEV_ID}\" --entitlements \"${CMAKE_CURRENT_BINARY_DIR}/AmuseContainer.entitlements\"
|
${AVFOUNDATION_LIBRARY} ${BOO_SYS_LIBS} logvisor)
|
||||||
\"${CMAKE_CURRENT_BINARY_DIR}/amuse-au-container.app\")")
|
|
||||||
|
set(APPLE_BUNDLE_ID "io.github.axiodl.Amuse")
|
||||||
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/AudioUnit/Amuse.entitlements.in
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/AmuseContainer.entitlements)
|
||||||
|
|
||||||
|
set_target_properties(amuse-au-container PROPERTIES
|
||||||
|
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/AudioUnit/ContainerInfo.plist"
|
||||||
|
XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_BINARY_DIR}/AmuseContainer.entitlements"
|
||||||
|
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${APPLE_DEV_ID}")
|
||||||
|
|
||||||
|
add_custom_command(TARGET amuse-au POST_BUILD
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy "${PROV_PROFILE}" "$<TARGET_FILE_DIR:amuse-au>/../embedded.provisionprofile"
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E remove_directory "$<TARGET_FILE_DIR:amuse-au-container>/../PlugIns/amuse-au.appex"
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory "$<TARGET_FILE_DIR:amuse-au>/../.."
|
||||||
|
"$<TARGET_FILE_DIR:amuse-au-container>/../PlugIns/amuse-au.appex"
|
||||||
|
COMMAND codesign --force --sign
|
||||||
|
${APPLE_DEV_ID} --entitlements "${CMAKE_CURRENT_BINARY_DIR}/AmuseExtension.entitlements"
|
||||||
|
"$<TARGET_FILE_DIR:amuse-au-container>/../PlugIns/amuse-au.appex"
|
||||||
|
COMMAND codesign --force --sign ${APPLE_DEV_ID}
|
||||||
|
"$<TARGET_FILE_DIR:amuse-au-container>/../.."
|
||||||
|
VERBATIM
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_command(TARGET amuse-au-container POST_BUILD
|
||||||
|
COMMAND codesign --force --sign
|
||||||
|
${APPLE_DEV_ID} "$<TARGET_FILE_DIR:amuse-au-container>/../.."
|
||||||
|
VERBATIM
|
||||||
|
)
|
||||||
|
|
||||||
else()
|
else()
|
||||||
message(WARNING "Unable to find developer provision profile; skipping Amuse-AU")
|
message(WARNING "Unable to find developer provision profile; skipping Amuse-AU")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user