diff --git a/UseOROCOS-RTT.cmake b/UseOROCOS-RTT.cmake index 66ccd33..396d840 100644 --- a/UseOROCOS-RTT.cmake +++ b/UseOROCOS-RTT.cmake @@ -107,24 +107,38 @@ endmacro( orocos_component ) # Utility libraries should add themselves by calling 'orocos_library()' # instead of 'ADD_LIBRARY' in CMakeLists.txt. # -# Usage: orocos_library( libraryname src1 src2 src3 ) +# Usage: orocos_library( libraryname src1 src2 src3 [INSTALL lib/] ) # -macro( orocos_library LIB_TARGET_NAME ) +macro( orocos_library ) - set(AC_INSTALL_DIR lib) + ORO_PARSE_ARGUMENTS(ADD_COMPONENT + "INSTALL" + "" + ${ARGN} + ) + list(GET ADD_COMPONENT_DEFAULT_ARGS 0 LIB_TARGET_NAME) + list(REMOVE_AT ADD_COMPONENT_DEFAULT_ARGS 0) + SET( SOURCES ${ADD_COMPONENT_DEFAULT_ARGS} ) + if ( ADD_COMPONENT_INSTALL ) + set(AC_INSTALL_DIR ${ADD_COMPONENT_INSTALL}) + else() + set(AC_INSTALL_DIR lib) + endif() set(AC_INSTALL_RT_DIR bin) - + if ( ${OROCOS_TARGET} STREQUAL "gnulinux" OR ${OROCOS_TARGET} STREQUAL "lxrt" OR ${OROCOS_TARGET} STREQUAL "xenomai") set( LIB_NAME ${LIB_TARGET_NAME}-${OROCOS_TARGET}) else() set( LIB_NAME ${LIB_TARGET_NAME}) endif() MESSAGE( "Building library ${LIB_TARGET_NAME}" ) + if (ROS_ROOT) - rosbuild_add_library(${LIB_TARGET_NAME} ${ARGN} ) + rosbuild_add_library(${LIB_TARGET_NAME} ${SOURCES} ) else() - ADD_LIBRARY( ${LIB_TARGET_NAME} SHARED ${ARGN} ) + ADD_LIBRARY( ${LIB_TARGET_NAME} SHARED ${SOURCES} ) endif() + SET_TARGET_PROPERTIES( ${LIB_TARGET_NAME} PROPERTIES OUTPUT_NAME ${LIB_NAME} # VERSION ${OCL_VERSION}