@@ -43,7 +43,8 @@ endmacro()
43
43
# CATKIN_ENV won't have any configuration, so we need some incoming here.
44
44
# Note that we check for the variable existence as well so we don't
45
45
# override a user setting.
46
- macro (_rosjava_env)
46
+ macro (catkin_rosjava_env_setup)
47
+ set (ROS_GRADLE_VERBOSE $ENV{ROS_GRADLE_VERBOSE})
47
48
set (ROS_MAVEN_DEPLOYMENT_REPOSITORY $ENV{ROS_MAVEN_DEPLOYMENT_REPOSITORY})
48
49
set (ROS_MAVEN_REPOSITORY $ENV{ROS_MAVEN_REPOSITORY})
49
50
if (NOT ROS_MAVEN_DEPLOYMENT_REPOSITORY)
@@ -68,34 +69,49 @@ endmacro()
68
69
# Calls the gradle wrapper to compile just the package
69
70
# that it is called in with install and installApp targets.
70
71
macro (catkin_rosjava_setup)
71
- _rosjava_env ()
72
+ catkin_rosjava_env_setup ()
72
73
find_gradle ()
73
74
if ( ${ARGC} EQUAL 0 )
74
- # Note : COMMAND is a list of variables (semi-colon separated)
75
- set (gradle_tasks " uploadArchives" ) # old targets "install;installApp;uploadArchives"
75
+ return () # Nothing to do (typically no subprojects created yet)
76
76
else ()
77
77
set (gradle_tasks ${ARGV})
78
78
endif ()
79
- add_custom_target (gradle- ${PROJECT_NAME}
80
- ALL
81
- COMMAND ${ROSJAVA_ENV} ${CATKIN_ENV} " env" " |" " grep" " ROS"
82
- COMMAND ${ROSJAVA_ENV} ${CATKIN_ENV} ${${PROJECT_NAME}_gradle_BINARY} ${gradle_tasks}
79
+ if (ROS_GRADLE_VERBOSE)
80
+ set (gradle_options " " )
81
+ else ()
82
+ set (gradle_options " -q" )
83
+ endif ()
84
+ # ##################################
85
+ # Execution
86
+ # ##################################
87
+ add_custom_target (gradle- ${PROJECT_NAME} ALL
88
+ # COMMAND ${ROSJAVA_ENV} ${CATKIN_ENV} "env" "|" "grep" "ROS"
89
+ COMMAND ${ROSJAVA_ENV} ${CATKIN_ENV} ${${PROJECT_NAME}_gradle_BINARY} ${gradle_options} ${gradle_tasks}
83
90
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
84
91
VERBATIM
92
+ COMMENT " Gradling tasks for ${PROJECT_NAME}"
85
93
)
94
+ # ##################################
95
+ # Target Management
96
+ # ##################################
86
97
catkin_package_xml ()
87
- foreach (depends in ${${PROJECT_NAME}_BUILD_DEPENDS})
98
+ foreach (depends ${${PROJECT_NAME}_BUILD_DEPENDS})
88
99
if (TARGET gradle- ${depends})
89
- # message(STATUS "Adding dependency gradle-${depends}")
100
+ # message(STATUS "Adding dependency.....gradle-${PROJECT_NAME} <- gradle-${depends}")
90
101
add_dependencies (gradle- ${PROJECT_NAME} gradle- ${depends})
91
102
endif ()
103
+ if (TARGET ${depends}_generate_messages)
104
+ # message(STATUS "Adding dependency.....gradle-${PROJECT_NAME} <- ${depends}_generate_messages")
105
+ add_dependencies (gradle- ${PROJECT_NAME} ${depends}_generate_messages)
106
+ endif ()
92
107
endforeach ()
93
108
if (NOT TARGET gradle- clean)
94
109
add_custom_target (gradle- clean)
95
110
endif ()
96
111
add_custom_target (gradle- clean- ${PROJECT_NAME}
97
112
COMMAND ${CATKIN_ENV} ${${PROJECT_NAME}_gradle_BINARY} clean
98
113
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
114
+ COMMENT " Cleaning gradle project for ${PROJECT_NAME}"
99
115
)
100
116
add_dependencies (gradle- clean gradle- clean- ${PROJECT_NAME})
101
117
endmacro ()
@@ -107,14 +123,10 @@ endmacro()
107
123
# It checks the build type and determines whether it should run
108
124
# assembleDebug or assembleRelease
109
125
macro (catkin_android_setup)
110
- _rosjava_env ()
126
+ catkin_rosjava_env_setup ()
111
127
find_gradle ()
112
128
if ( ${ARGC} EQUAL 0 )
113
- if (CMAKE_BUILD_TYPE STREQUAL " Release" )
114
- set (gradle_tasks " assembleRelase" )
115
- else ()
116
- set (gradle_tasks " assembleDebug" )
117
- endif ()
129
+ return () # Nothing to do (typically no subprojects created yet)
118
130
else ()
119
131
set (gradle_tasks ${ARGV})
120
132
endif ()
0 commit comments