Skip to content
Snippets Groups Projects
Commit dbb49b39 authored by Daniel Stonier's avatar Daniel Stonier
Browse files

android setup macro for catkin.

parent d953f2bc
No related branches found
No related tags found
No related merge requests found
##############################################################################
# Utilities
##############################################################################
# Scans down directories till it finds the gradle wrapper. # Scans down directories till it finds the gradle wrapper.
# It sets the following variables # It sets the following variables
# - ${PROJECT_NAME}_gradle_BINARY # - ${PROJECT_NAME}_gradle_BINARY
...@@ -31,6 +35,9 @@ macro(find_gradle_repo_root) ...@@ -31,6 +35,9 @@ macro(find_gradle_repo_root)
get_filename_component(${PROJECT_NAME}_gradle_ROOT ${${PROJECT_NAME}_gradle_SETTINGS} PATH) get_filename_component(${PROJECT_NAME}_gradle_ROOT ${${PROJECT_NAME}_gradle_SETTINGS} PATH)
endmacro() endmacro()
##############################################################################
# RosJava Package
##############################################################################
# Calls the gradle wrapper to compile just the package # Calls the gradle wrapper to compile just the package
# that it is called in. # that it is called in.
# Experimental - probably better to leave gradle handle entire repos. # Experimental - probably better to leave gradle handle entire repos.
...@@ -58,6 +65,10 @@ macro(catkin_rosjava_setup task) ...@@ -58,6 +65,10 @@ macro(catkin_rosjava_setup task)
add_dependencies(gradle-clean gradle-clean-${PROJECT_NAME}) add_dependencies(gradle-clean gradle-clean-${PROJECT_NAME})
endmacro() endmacro()
##############################################################################
# RosJava Repo
##############################################################################
# Calls the root level gradle wrapper to run the multi-project # Calls the root level gradle wrapper to run the multi-project
# configuration and compile the entire suite. # configuration and compile the entire suite.
macro(catkin_rosjava_repo_setup task) macro(catkin_rosjava_repo_setup task)
...@@ -76,3 +87,39 @@ macro(catkin_rosjava_repo_setup task) ...@@ -76,3 +87,39 @@ macro(catkin_rosjava_repo_setup task)
endif() endif()
endforeach() endforeach()
endmacro() endmacro()
##############################################################################
# Android Package
##############################################################################
# Calls the gradle wrapper to compile the android package.
# It checks the build type and determines whether it should run
# assembleDebug or assembleRelease
macro(catkin_android_setup)
find_gradle()
if(CMAKE_BUILD_TYPE STREQUAL "Release")
set(gradle_task "assembleRelase")
else()
set(gradle_task "assembleDebug")
endif()
add_custom_target(gradle-${PROJECT_NAME}
ALL
COMMAND ${CATKIN_ENV} ${${PROJECT_NAME}_gradle_BINARY} ${gradle_task}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
catkin_package_xml()
foreach(depends in ${${PROJECT_NAME}_BUILD_DEPENDS})
if(TARGET gradle-${depends})
#message(STATUS "Adding dependency gradle-${depends}")
add_dependencies(gradle-${PROJECT_NAME} gradle-${depends})
endif()
endforeach()
if(NOT TARGET gradle-clean)
add_custom_target(gradle-clean)
endif()
add_custom_target(gradle-clean-${PROJECT_NAME}
COMMAND ${CATKIN_ENV} ${${PROJECT_NAME}_gradle_BINARY} clean
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_dependencies(gradle-clean gradle-clean-${PROJECT_NAME})
endmacro()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment