Skip to content
Snippets Groups Projects
Commit f4640f8d authored by Sergi Hernandez's avatar Sergi Hernandez
Browse files

Made the built of the arm kinematics library conditional on the existence of the KDL library.

Set a variable with the path to the darwin firmware.
parent f227ef41
No related branches found
No related tags found
No related merge requests found
Pipeline #
SET(DARWIN_FW_PATH /home/shernand/humanoids/darwin_stm32_fw)
ADD_SUBDIRECTORY(xml) ADD_SUBDIRECTORY(xml)
IF(HAVE_XSD) IF(HAVE_XSD)
ADD_DEFINITIONS(-D_HAVE_XSD) ADD_DEFINITIONS(-D_HAVE_XSD)
...@@ -7,7 +9,7 @@ ENDIF(HAVE_XSD) ...@@ -7,7 +9,7 @@ ENDIF(HAVE_XSD)
INCLUDE (${PROJECT_SOURCE_DIR}/FindPkgConfig.cmake) INCLUDE (${PROJECT_SOURCE_DIR}/FindPkgConfig.cmake)
## Find KDL ## Find KDL
SET(KDL_INSTALL /opt/ros/hydro) SET(KDL_INSTALL /opt/ros/indigo)
INCLUDE (${PROJECT_SOURCE_DIR}/FindKDL.cmake) INCLUDE (${PROJECT_SOURCE_DIR}/FindKDL.cmake)
# driver source files # driver source files
...@@ -15,10 +17,12 @@ SET(robot_sources darwin_robot.cpp darwin_robot_exceptions.cpp) ...@@ -15,10 +17,12 @@ SET(robot_sources darwin_robot.cpp darwin_robot_exceptions.cpp)
# application header files # application header files
SET(robot_headers darwin_robot.h darwin_robot_exceptions.h) SET(robot_headers darwin_robot.h darwin_robot_exceptions.h)
# driver source files IF(KDL_FOUND)
SET(kin_sources darwin_arm_kinematics.cpp darwin_robot_exceptions.cpp) # driver source files
# application header files SET(kin_sources darwin_arm_kinematics.cpp darwin_robot_exceptions.cpp)
SET(kin_headers darwin_arm_kinematics.h darwin_robot_exceptions.h) # application header files
SET(kin_headers darwin_arm_kinematics.h darwin_robot_exceptions.h)
ENDIF(KDL_FOUND)
# locate the necessary dependencies # locate the necessary dependencies
FIND_PACKAGE(iriutils REQUIRED) FIND_PACKAGE(iriutils REQUIRED)
...@@ -27,7 +31,7 @@ FIND_PACKAGE(dynamixel REQUIRED) ...@@ -27,7 +31,7 @@ FIND_PACKAGE(dynamixel REQUIRED)
INCLUDE_DIRECTORIES(.) INCLUDE_DIRECTORIES(.)
INCLUDE_DIRECTORIES(${iriutils_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${iriutils_INCLUDE_DIR})
INCLUDE_DIRECTORIES(${dynamixel_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${dynamixel_INCLUDE_DIR})
INCLUDE_DIRECTORIES(../../../stm32_firmware/include/) INCLUDE_DIRECTORIES(${DARWIN_FW_PATH}/include)
# create the shared library # create the shared library
ADD_LIBRARY(darwin_robot SHARED ${robot_sources} ${XSD_SOURCES}) ADD_LIBRARY(darwin_robot SHARED ${robot_sources} ${XSD_SOURCES})
ADD_DEPENDENCIES(darwin_robot xsd_files_gen) ADD_DEPENDENCIES(darwin_robot xsd_files_gen)
...@@ -36,21 +40,29 @@ TARGET_LINK_LIBRARIES(darwin_robot ${iriutils_LIBRARY}) ...@@ -36,21 +40,29 @@ TARGET_LINK_LIBRARIES(darwin_robot ${iriutils_LIBRARY})
TARGET_LINK_LIBRARIES(darwin_robot ${dynamixel_LIBRARY}) TARGET_LINK_LIBRARIES(darwin_robot ${dynamixel_LIBRARY})
TARGET_LINK_LIBRARIES(darwin_robot ${XSD_LIBRARY}) TARGET_LINK_LIBRARIES(darwin_robot ${XSD_LIBRARY})
ADD_LIBRARY(darwin_arm_kinematics SHARED ${kin_sources} ${XSD_SOURCES}) IF(KDL_FOUND)
ADD_DEPENDENCIES(darwin_arm_kinematics xsd_files_gen) ADD_LIBRARY(darwin_arm_kinematics SHARED ${kin_sources} ${XSD_SOURCES})
# link necessary libraries ADD_DEPENDENCIES(darwin_arm_kinematics xsd_files_gen)
TARGET_LINK_LIBRARIES(darwin_arm_kinematics ${iriutils_LIBRARY}) # link necessary libraries
TARGET_LINK_LIBRARIES(darwin_arm_kinematics ${XSD_LIBRARY}) TARGET_LINK_LIBRARIES(darwin_arm_kinematics ${iriutils_LIBRARY})
TARGET_LINK_LIBRARIES(darwin_arm_kinematics ${KDL_LIBS}) TARGET_LINK_LIBRARIES(darwin_arm_kinematics ${XSD_LIBRARY})
TARGET_LINK_LIBRARIES(darwin_arm_kinematics ${KDL_LIBS})
ENDIF(KDL_FOUND)
SET_SOURCE_FILES_PROPERTIES(${XSD_SOURCES} PROPERTIES GENERATED 1)
SET_SOURCE_FILES_PROPERTIES(${XSD_SOURCES} PROPERTIES GENERATED 1) SET_SOURCE_FILES_PROPERTIES(${XSD_SOURCES} PROPERTIES GENERATED 1)
INSTALL(TARGETS darwin_robot darwin_arm_kinematics INSTALL(TARGETS darwin_robot
RUNTIME DESTINATION bin RUNTIME DESTINATION bin
LIBRARY DESTINATION lib/iridrivers LIBRARY DESTINATION lib/iridrivers
ARCHIVE DESTINATION lib/iridrivers) ARCHIVE DESTINATION lib/iridrivers)
INSTALL(FILES ${robot_headers} ${kin_headers} DESTINATION include/iridrivers) INSTALL(FILES ${robot_headers} DESTINATION include/iridrivers)
IF(KDL_FOUND)
INSTALL(FILES ${kin_heders} DESTINATION include/iridrivers)
INSTALL(TARGETS darwin_arm_kinematics
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib/iridrivers
ARCHIVE DESTINATION lib/iridrivers)
ENDIF(KDL_FOUND)
INSTALL(FILES ../Finddarwin_robot.cmake DESTINATION ${CMAKE_ROOT}/Modules/) INSTALL(FILES ../Finddarwin_robot.cmake DESTINATION ${CMAKE_ROOT}/Modules/)
INSTALL(FILES ../Finddarwin_arm_kinematics.cmake DESTINATION ${CMAKE_ROOT}/Modules/) INSTALL(FILES ../Finddarwin_arm_kinematics.cmake DESTINATION ${CMAKE_ROOT}/Modules/)
ADD_SUBDIRECTORY(examples) ADD_SUBDIRECTORY(examples)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment