Fixes for Xenial. (#103)
- Remove use of get_property(LOCATION in cmake where this is easy. This reduces build warnings sufficiently to not drown out other important information. - Mark cairo a dependency in package.xml so rosdep pulls it in. Tested using docker -t ros:kinetic, which is based on Xenial.master
							parent
							
								
									651a7a23e7
								
							
						
					
					
						commit
						6e6d2decaa
					
				|  | @ -70,6 +70,12 @@ google_combined_library(cartographer | |||
|   SRCS "${ALL_LIBRARIES}" | ||||
| ) | ||||
| 
 | ||||
| # TODO(hrapp): Replacing this get_property with a generator expression is not | ||||
| # very easy: it needs to be expanded into a variable which is then used for | ||||
| # CONFIGURE_PACKAGE_CONFIG_FILE - I did not find an easy way to do it. A | ||||
| # complicated way is to file(READ the cartographer-config.cmake.in and | ||||
| # string(CONFIGURE it, then file(GENERATE the output file. I do not have the | ||||
| # stomach to attempt this right now. | ||||
| get_property(CARTOGRAPHER_LIBRARY_FILE TARGET cartographer PROPERTY LOCATION) | ||||
| get_filename_component(CARTOGRAPHER_LIBRARY_FILE_BASENAME | ||||
|   ${CARTOGRAPHER_LIBRARY_FILE} NAME) | ||||
|  |  | |||
|  | @ -21,7 +21,6 @@ macro(_parse_arguments ARGS) | |||
|     USES_EIGEN | ||||
|     USES_GFLAGS | ||||
|     USES_GLOG | ||||
|     USES_GLOG | ||||
|     USES_LUA | ||||
|     USES_WEBP | ||||
|     USES_CAIRO | ||||
|  | @ -179,25 +178,22 @@ function(google_combined_library NAME) | |||
|     DEPENDS ${ARG_SRCS} | ||||
|   ) | ||||
| 
 | ||||
|   get_property(OUTPUT_FILE TARGET ${NAME} PROPERTY LOCATION) | ||||
| 
 | ||||
|   # We will delete the static lib generated by the last call to | ||||
|   # 'google_library' and recreate it using a GNU ar script that combines the | ||||
|   # SRCS into the NAME. | ||||
|   # TODO(hrapp): this is probably not very portable, but should work fine on | ||||
|   # Linux. | ||||
|   set(AR_SCRIPT "") | ||||
|   set(AR_SCRIPT "CREATE ${OUTPUT_FILE}\n") | ||||
|   set(AR_SCRIPT "CREATE $<TARGET_FILE:${NAME}>\n") | ||||
|   foreach(SRC ${ARG_SRCS}) | ||||
|     get_property(STATIC_LIBRARY_FILE TARGET ${SRC} PROPERTY LOCATION) | ||||
|     set(AR_SCRIPT "${AR_SCRIPT}ADDLIB ${STATIC_LIBRARY_FILE}\n") | ||||
|     set(AR_SCRIPT "${AR_SCRIPT}ADDLIB $<TARGET_FILE:${SRC}>\n") | ||||
|   endforeach() | ||||
|   set(AR_SCRIPT "${AR_SCRIPT}SAVE\nEND\n") | ||||
|   set(AR_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/${NAME}_ar.script") | ||||
|   file(WRITE ${AR_SCRIPT_FILE} ${AR_SCRIPT}) | ||||
|   file(GENERATE OUTPUT ${AR_SCRIPT_FILE} CONTENT ${AR_SCRIPT}) | ||||
| 
 | ||||
|   add_custom_command(TARGET ${NAME} POST_BUILD | ||||
|     COMMAND rm ${OUTPUT_FILE} | ||||
|     COMMAND rm $<TARGET_FILE:${NAME}> | ||||
|     COMMAND ${CMAKE_AR} | ||||
|     ARGS -M < ${AR_SCRIPT_FILE} | ||||
|     COMMENT "Recombining static libraries into ${NAME}." | ||||
|  |  | |||
|  | @ -39,6 +39,7 @@ | |||
|   <depend>boost</depend> | ||||
|   <depend>ceres_solver</depend> | ||||
|   <depend>eigen</depend> | ||||
|   <depend>libcairo2-dev</depend> | ||||
|   <depend>libgflags-dev</depend> | ||||
|   <depend>libgoogle-glog-dev</depend> | ||||
|   <depend>libwebp-dev</depend> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue