veilid/veilid-flutter/macos/veilid.podspec
2022-01-30 21:28:27 -05:00

50 lines
1.8 KiB
Ruby

#
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html.
# Run `pod lib lint veilid.podspec` to validate before publishing.
#
Pod::Spec.new do |s|
s.name = 'veilid'
s.version = '0.0.1'
s.summary = 'Veilid Network'
s.description = <<-DESC
Veilid Network Plugin
DESC
s.homepage = 'http://veilid.com'
s.license = 'LGPL-2.0-or-later OR MPL-2.0 OR (MIT AND BSD-3-Clause)'
s.author = { 'John Smith' => 'jsmith@example.com' }
s.source = { :path => '.' }
s.source_files = 'Classes/**/*'
s.dependency 'FlutterMacOS'
s.platform = :osx, '10.11'
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
s.swift_version = '5.0'
require 'json'
require 'pathname'
cargo_target_dir = File.join(File.dirname(JSON.parse(`cargo locate-project`)['root']), 'target')
s.script_phase = {
:name => 'Cargo Build',
:script => File.join(File.dirname(__dir__), 'rust', 'macos_build.sh'),
:execution_position => :before_compile,
:output_files => [ File.join(cargo_target_dir, 'macos_lib', 'libveilid_flutter.dylib') ]
}
# s.prepare_command = <<-CMD
# mkdir -p lib/Release/
# cp /dev/null lib/Release/libveilid_flutter.dylib
# CMD
# require 'json'
# require 'pathname'
# rust_dylib_absolute = File.join(File.dirname(JSON.parse(`cargo locate-project`)['root']), 'target', 'x86_64-apple-darwin', 'release', 'libveilid_flutter.dylib')
# rust_dylib_relative = Pathname.new(rust_dylib_absolute).relative_path_from(Pathname.new(Dir.pwd)).to_s
# require 'pp'
# print 'Rust dylib: '
# pp rust_dylib_relative
# s.vendored_libraries = 'lib/Release/libveilid_flutter.dylib'
# s.libraries = [ 'veilid_flutter' ]
end