macos work
This commit is contained in:
parent
d3bdd4adc2
commit
ccfde9977f
@ -1,8 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
CARGO_MANIFEST_PATH=$(python -c "import os; print(os.path.realpath(\"$SCRIPTDIR/Cargo.toml\"))")
|
||||||
CARGO_MANIFEST_PATH=$SCRIPTDIR/Cargo.toml
|
# echo CARGO_MANIFEST_PATH: $CARGO_MANIFEST_PATH
|
||||||
|
|
||||||
if [ "$CONFIGURATION" == "Debug" ]; then
|
if [ "$CONFIGURATION" == "Debug" ]; then
|
||||||
EXTRA_CARGO_OPTIONS="$@"
|
EXTRA_CARGO_OPTIONS="$@"
|
||||||
@ -25,6 +25,8 @@ do
|
|||||||
echo Unsupported ARCH: $arch
|
echo Unsupported ARCH: $arch
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
env -i PATH=/usr/bin:/bin:/usr/local/bin:/opt/homebrew/bin ~/.cargo/bin/cargo $CARGO_TOOLCHAIN build $EXTRA_CARGO_OPTIONS --target $CARGO_TARGET --manifest-path $CARGO_MANIFEST_PATH
|
HOMEBREW_DIR=$(dirname `which brew`)
|
||||||
|
CARGO_DIR=$(dirname `which cargo`)
|
||||||
|
env -i PATH=/usr/bin:/bin:/usr/local/bin:$HOMEBREW_DIR:$CARGO_DIR HOME="$HOME" USER="$USER" cargo $CARGO_TOOLCHAIN build $EXTRA_CARGO_OPTIONS --target $CARGO_TARGET --manifest-path $CARGO_MANIFEST_PATH
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ EXTERNAL SOURCES:
|
|||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
FlutterMacOS: 57701585bf7de1b3fc2bb61f6378d73bbdea8424
|
FlutterMacOS: 57701585bf7de1b3fc2bb61f6378d73bbdea8424
|
||||||
veilid: 8d01491ca5ee1b58110c98f7778124c3ead89a7c
|
veilid: fd5957b2b4ff66a1dbeba0433afdce762d21d90c
|
||||||
|
|
||||||
PODFILE CHECKSUM: 6eac6b3292e5142cfc23bdeb71848a40ec51c14c
|
PODFILE CHECKSUM: 6eac6b3292e5142cfc23bdeb71848a40ec51c14c
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; };
|
33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; };
|
||||||
33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; };
|
33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; };
|
||||||
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };
|
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };
|
||||||
|
40BAB9F027A74B09000EC229 /* libveilid_flutter.dylib in Bundle Framework */ = {isa = PBXBuildFile; fileRef = 40BAB9EF27A74B09000EC229 /* libveilid_flutter.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||||
8526E2FC060241577E5281A0 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E89F2D855D7BDA4933E1A2EC /* Pods_Runner.framework */; };
|
8526E2FC060241577E5281A0 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E89F2D855D7BDA4933E1A2EC /* Pods_Runner.framework */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
@ -46,6 +47,7 @@
|
|||||||
dstPath = "";
|
dstPath = "";
|
||||||
dstSubfolderSpec = 10;
|
dstSubfolderSpec = 10;
|
||||||
files = (
|
files = (
|
||||||
|
40BAB9F027A74B09000EC229 /* libveilid_flutter.dylib in Bundle Framework */,
|
||||||
);
|
);
|
||||||
name = "Bundle Framework";
|
name = "Bundle Framework";
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
@ -68,6 +70,7 @@
|
|||||||
33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; };
|
33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; };
|
||||||
33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; };
|
33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; };
|
||||||
33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; };
|
33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; };
|
||||||
|
40BAB9EF27A74B09000EC229 /* libveilid_flutter.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libveilid_flutter.dylib; path = ../../macos/lib/libveilid_flutter.dylib; sourceTree = "<group>"; };
|
||||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
|
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
|
||||||
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
|
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
|
||||||
B8606FB3C4AA619FC22C3115 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
B8606FB3C4AA619FC22C3115 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
||||||
@ -101,6 +104,7 @@
|
|||||||
33CC10E42044A3C60003C045 = {
|
33CC10E42044A3C60003C045 = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
40BAB9EF27A74B09000EC229 /* libveilid_flutter.dylib */,
|
||||||
33FAB671232836740065AC1E /* Runner */,
|
33FAB671232836740065AC1E /* Runner */,
|
||||||
33CEB47122A05771004F2AC0 /* Flutter */,
|
33CEB47122A05771004F2AC0 /* Flutter */,
|
||||||
33CC10EE2044A3C60003C045 /* Products */,
|
33CC10EE2044A3C60003C045 /* Products */,
|
||||||
@ -159,7 +163,6 @@
|
|||||||
233B6A2BBF071AE96501823B /* Pods-Runner.release.xcconfig */,
|
233B6A2BBF071AE96501823B /* Pods-Runner.release.xcconfig */,
|
||||||
B8606FB3C4AA619FC22C3115 /* Pods-Runner.profile.xcconfig */,
|
B8606FB3C4AA619FC22C3115 /* Pods-Runner.profile.xcconfig */,
|
||||||
);
|
);
|
||||||
name = Pods;
|
|
||||||
path = Pods;
|
path = Pods;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
1
veilid-flutter/macos/.gitignore
vendored
Normal file
1
veilid-flutter/macos/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
lib
|
@ -7,11 +7,11 @@ Pod::Spec.new do |s|
|
|||||||
s.version = '0.0.1'
|
s.version = '0.0.1'
|
||||||
s.summary = 'Veilid Network'
|
s.summary = 'Veilid Network'
|
||||||
s.description = <<-DESC
|
s.description = <<-DESC
|
||||||
Veilid Network
|
Veilid Network Plugin
|
||||||
DESC
|
DESC
|
||||||
s.homepage = 'http://example.com'
|
s.homepage = 'http://veilid.com'
|
||||||
s.license = { :file => '../LICENSE' }
|
s.license = 'LGPL-2.0-or-later OR MPL-2.0 OR (MIT AND BSD-3-Clause)'
|
||||||
s.author = { 'Your Company' => 'email@example.com' }
|
s.author = { 'John Smith' => 'jsmith@example.com' }
|
||||||
s.source = { :path => '.' }
|
s.source = { :path => '.' }
|
||||||
s.source_files = 'Classes/**/*'
|
s.source_files = 'Classes/**/*'
|
||||||
s.dependency 'FlutterMacOS'
|
s.dependency 'FlutterMacOS'
|
||||||
@ -20,6 +20,26 @@ Veilid Network
|
|||||||
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
|
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
|
||||||
s.swift_version = '5.0'
|
s.swift_version = '5.0'
|
||||||
|
|
||||||
s.script_phase = { :name => 'Cargo Build', :script => '../rust/macos_build.sh', :execution_position => :before_compile }
|
s.script_phase = {
|
||||||
|
:name => 'Cargo Build',
|
||||||
|
:script => File.join(File.dirname(__dir__), 'rust', 'macos_build.sh'),
|
||||||
|
:execution_position => :before_compile,
|
||||||
|
:output_files => [ File.join(File.dirname(__dir__), '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
|
end
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
CARGO_MANIFEST_PATH=$(python -c "import os; print(os.path.realpath(\"$SCRIPTDIR/Cargo.toml\"))")
|
||||||
CARGO_MANIFEST_PATH=$SCRIPTDIR/Cargo.toml
|
# echo CARGO_MANIFEST_PATH: $CARGO_MANIFEST_PATH
|
||||||
|
|
||||||
if [ "$CONFIGURATION" == "Debug" ]; then
|
if [ "$CONFIGURATION" == "Debug" ]; then
|
||||||
EXTRA_CARGO_OPTIONS="$@"
|
EXTRA_CARGO_OPTIONS="$@"
|
||||||
|
@ -1,15 +1,19 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
CARGO_MANIFEST_PATH=$(python -c "import os; print(os.path.realpath(\"$SCRIPTDIR/Cargo.toml\"))")
|
||||||
CARGO_MANIFEST_PATH=$SCRIPTDIR/Cargo.toml
|
TARGET_DIR=$(dirname `cargo locate-project --message-format plain`)/target
|
||||||
|
# echo CARGO_MANIFEST_PATH: $CARGO_MANIFEST_PATH
|
||||||
|
|
||||||
if [ "$CONFIGURATION" == "Debug" ]; then
|
if [ "$CONFIGURATION" == "Debug" ]; then
|
||||||
EXTRA_CARGO_OPTIONS="$@"
|
EXTRA_CARGO_OPTIONS="$@"
|
||||||
|
RUST_CONFIGURATION="debug"
|
||||||
else
|
else
|
||||||
EXTRA_CARGO_OPTIONS="$@ --release"
|
EXTRA_CARGO_OPTIONS="$@ --release"
|
||||||
|
RUST_CONFIGURATION="release"
|
||||||
fi
|
fi
|
||||||
ARCHS=${ARCHS:=x86_64}
|
ARCHS=${ARCHS:=x86_64}
|
||||||
|
echo ARCHS: $ARCHS
|
||||||
for arch in $ARCHS
|
for arch in $ARCHS
|
||||||
do
|
do
|
||||||
if [ "$arch" == "arm64" ]; then
|
if [ "$arch" == "arm64" ]; then
|
||||||
@ -28,5 +32,11 @@ do
|
|||||||
HOMEBREW_DIR=$(dirname `which brew`)
|
HOMEBREW_DIR=$(dirname `which brew`)
|
||||||
CARGO_DIR=$(dirname `which cargo`)
|
CARGO_DIR=$(dirname `which cargo`)
|
||||||
env -i PATH=/usr/bin:/bin:/usr/local/bin:$HOMEBREW_DIR:$FLUTTER_DIR:$CARGO_DIR HOME="$HOME" USER="$USER" cargo $CARGO_TOOLCHAIN build $EXTRA_CARGO_OPTIONS --target $CARGO_TARGET --manifest-path $CARGO_MANIFEST_PATH
|
env -i PATH=/usr/bin:/bin:/usr/local/bin:$HOMEBREW_DIR:$FLUTTER_DIR:$CARGO_DIR HOME="$HOME" USER="$USER" cargo $CARGO_TOOLCHAIN build $EXTRA_CARGO_OPTIONS --target $CARGO_TARGET --manifest-path $CARGO_MANIFEST_PATH
|
||||||
|
# xxx add to lipo list?
|
||||||
done
|
done
|
||||||
|
|
||||||
|
OUTPUT_DIR=$SCRIPTDIR/../macos/lib
|
||||||
|
mkdir -p $OUTPUT_DIR
|
||||||
|
# xxx use lipo library?
|
||||||
|
cp $TARGET_DIR/x86_64-apple-darwin/$RUST_CONFIGURATION/libveilid_flutter.dylib $OUTPUT_DIR
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user