-
-
Notifications
You must be signed in to change notification settings - Fork 510
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cross compile dronecore_server for Android and iOS #261
Conversation
@@ -5,8 +5,17 @@ function(build_target SRC_DIR TARGET_DIR) | |||
COMMAND ${CMAKE_COMMAND} | |||
-G${CMAKE_GENERATOR} | |||
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} | |||
"-DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The "
are a bit ugly but I guess that's required?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, unfortunately it is, for lists :-). I just tried to rebuild without the quotes and it fails.
set(GRPC_CPP_PLUGIN_BINARY ${CMAKE_BINARY_DIR}/../default/third_party/grpc/bin/grpc_cpp_plugin) | ||
|
||
if(NOT EXISTS ${PROTOC_BINARY} OR NOT EXISTS ${GRPC_CPP_PLUGIN_BINARY}) | ||
message(FATAL_ERROR "Could not find 'protoc' or 'grpc_cpp_plugin' in the 'default' build folder. Please build for your host first (`make BUILD_DRONECORESERVER=YES default`).") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea to warn like that.
@@ -1,4 +1,4 @@ | |||
add_library(dronecore_mission SHARED | |||
add_library(dronecore_mission ${PLUGIN_LIBRARY_TYPE} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The other plugins will need that too, not just the three we have right now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, I'll change that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually I'll merge like this and will change that when adding those plugins to dronecore_server
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, sure!
…roid * needed to fork gRPC for now (in http://github.com/dronecore/grpc) * added boringssl as a dependency to not rely on the system openssl libs * plugins need to be built as static libraries for iOS * removing support for android mips and mips64
This means -PIE is enabled.
1019d09
to
1287ee8
Compare
mission: add way to set up trigger distance
Compile
dronecore_server
and its dependencies on Android and iOS (whenBUILD_DRONECORESERVER
is set).It has been tested to run on Android
armeabi-v7a
, though it had some warnings in Debug mode. There was a segmentation fault witharmeabi
, which we may or may not want to address depending on the devices we target right now.Some work now needs to be done on
dronecore_server
itself before it can be tested on an iOS app (I will work on that from tomorrow on).Fixes #212, fixes #213