(WIP) macos ffi

This commit is contained in:
ekibun
2020-09-23 22:32:11 -07:00
parent ab6c5ac3cc
commit 71bb456140
20 changed files with 351 additions and 116 deletions

View File

@@ -1,8 +1,8 @@
cmake_minimum_required(VERSION 3.7 FATAL_ERROR)
project(flutter_qjs LANGUAGES CXX)
project(flutterqjs LANGUAGES CXX)
set(CXX_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../cxx)
add_library(flutter_qjs SHARED ${CXX_LIB_DIR}/ffi.cpp)
add_library(flutterqjs SHARED ${CXX_LIB_DIR}/ffi.cpp)
# quickjs
set(QUICK_JS_LIB_DIR ${CXX_LIB_DIR}/quickjs)
@@ -22,18 +22,18 @@ set(CMAKE_CXX_STANDARD 17)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/output/$ENV{ABI})
set(CMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "6SA4A2R2GU" CACHE INTERNAL "")
target_link_libraries(flutter_qjs PRIVATE quickjs)
target_link_libraries(flutterqjs PRIVATE quickjs)
set_target_properties(flutter_qjs PROPERTIES
set_target_properties(flutterqjs PROPERTIES
FRAMEWORK TRUE
FRAMEWORK_VERSION A
MACOSX_FRAMEWORK_IDENTIFIER soko.ekibun.flutter_qjs
MACOSX_FRAMEWORK_IDENTIFIER soko.ekibun.flutterqjs
# MACOSX_FRAMEWORK_INFO_PLIST Info.plist
# "current version" in semantic format in Mach-O binary file
VERSION 1.0.0
# "compatibility version" in semantic format in Mach-O binary file
SOVERSION 1.0.0
PUBLIC_HEADER ffi.cpp
PUBLIC_HEADER ffi.h
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "Apple Development"
# RESOURCE "${RESOURCE_FILES}"
)

View File

@@ -18,7 +18,7 @@ A new flutter plugin project.
s.platform = :osx, '10.11'
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
s.vendored_frameworks = 'build/release-iphoneos/flutter_qjs.framework'
s.vendored_frameworks = 'build/Release/flutterqjs.framework'
s.static_framework = false
s.swift_version = '5.0'
end

View File

@@ -7,5 +7,5 @@
###
mkdir build
cd build
cmake .. -G Xcode -DCMAKE_TOOLCHAIN_FILE=../ios.toolchain.cmake -DPLATFORM=OS64COMBINED
cmake .. -G Xcode -DCMAKE_OSX_ARCHITECTURES=x86_64
cmake --build . --config Release