diff --git a/VirtualRobot/CMakeLists.txt b/VirtualRobot/CMakeLists.txt index 04d522012455f6db077d9500489424b45d573b4f..636d6b0ff013cfdd72613005f52d270efe89e2fc 100644 --- a/VirtualRobot/CMakeLists.txt +++ b/VirtualRobot/CMakeLists.txt @@ -440,43 +440,7 @@ endif () # ) #endif () - -#check for URDF -if (Simox_USE_URDF) - include(SearchForTinyXML) - FIND_PACKAGE(urdfdom) - #FIND_PACKAGE(PkgConfig) - #PKG_CHECK_MODULES(URDFDOM REQUIRED urdfdom>=0.2.9) - #PKG_CHECK_MODULES(URDFDOM_HEADERS REQUIRED urdfdom_headers>=0.2.3) - - if (tinyxml_library AND URDF_FOUND) - MESSAGE(STATUS " ** Including URDF importer") - - include_directories(SYSTEM ${tinyxml_include_dirs}) - link_directories(${tinyxml_library_dirs}) - add_definitions(${tinyxml_cflags}) - add_definitions(" -DTIXML_USE_STL ") - - INCLUDE_DIRECTORIES (SYSTEM - ${URDFDOM_INCLUDE_DIRS} - ${URDFDOM_PARSER_INCLUDE_DIRS} - ${URDFDOM_HEADERS_INCLUDE_DIRS} - ) - - SET(SOURCES - ${SOURCES} - Import/URDF/SimoxURDFFactory.cpp - ) - SET(INCLUDES - ${INCLUDES} - Import/URDF/SimoxURDFFactory.h - ) - - SET(Simox_EXTERNAL_LIBRARIES ${Simox_EXTERNAL_LIBRARIES} ${URDFDOM_LIBRARIES}) - else() - MESSAGE(STATUS " *** urdfDom or TinyXML not found: skipping URDF importer...") - endif() -endif() +ADD_SUBDIRECTORY(Import/URDF) # include collision detection INCLUDE (CollisionDetection/CMakeLists.txt) diff --git a/VirtualRobot/Import/URDF/CMakeLists.txt b/VirtualRobot/Import/URDF/CMakeLists.txt index f01dc5cb375b3aa10e093a4a7b5584bea58a5f36..01b3e2505eb4771c8752eaf13c277de4dbbf11f9 100644 --- a/VirtualRobot/Import/URDF/CMakeLists.txt +++ b/VirtualRobot/Import/URDF/CMakeLists.txt @@ -1,47 +1,32 @@ -PROJECT (SIMOX_URDFREADER) - -LIST( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMake ) +PROJECT (VirtualRobotImportUrdf) include(SearchForTinyXML) FIND_PACKAGE(urdfdom) -#FIND_PACKAGE(PkgConfig) -#PKG_CHECK_MODULES(URDFDOM REQUIRED urdfdom>=0.2.9) -#PKG_CHECK_MODULES(URDFDOM_HEADERS REQUIRED urdfdom_headers>=0.2.3) - if (tinyxml_library AND URDF_FOUND) + message(STATUS "Building VirtualRobotImportUrdf") include_directories(SYSTEM ${tinyxml_include_dirs}) link_directories(${tinyxml_library_dirs}) add_definitions(${tinyxml_cflags}) add_definitions("-DTIXML_USE_STL") - FIND_PACKAGE(simox REQUIRED) INCLUDE_DIRECTORIES ( ${URDFDOM_INCLUDE_DIRS} ${URDFDOM_PARSER_INCLUDE_DIRS} ${URDFDOM_HEADERS_INCLUDE_DIRS} ) - setupSimoxExternalLibraries() - - SET (CMAKE_SKIP_BUILD_RPATH FALSE) - SET (CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) - SET (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") - SET (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + SET ( SOURCES SimoxURDFFactory.cpp) + SET ( HEADERS SimoxURDFFactory.h ) - SET ( URDFIMPORT_SOURCES - SimoxURDFFactory.cpp - ) - SET ( URDFIMPORT_HEADERS - SimoxURDFFactory.h - ) - - ADD_LIBRARY ( simox_urdfimport SHARED ${URDFIMPORT_SOURCES} ${URDFIMPORT_HEADERS} ) - - add_definitions("-DDEMO_BASE_PATH=\"${PROJECT_SOURCE_DIR}\"") - ADD_EXECUTABLE (loadURDFobot loadURDFobot.cpp) + ADD_LIBRARY ( VirtualRobotImportUrdf SHARED ${SOURCES} ${HEADERS} ) - TARGET_LINK_LIBRARIES (simox_urdfimport VirtualRobot ${URDFDOM_LIBRARIES}) - TARGET_LINK_LIBRARIES(loadURDFobot simox_urdfimport VirtualRobot ${URDFDOM_LIBRARIES}) - + TARGET_LINK_LIBRARIES (VirtualRobotImportUrdf VirtualRobot ${URDFDOM_LIBRARIES}) +else() + if (NOT tinyxml_library) + message(STATUS "Not building VirtualRobotImportUrdf: tinyxml not found") + endif() + if (NOT URDF_FOUND) + message(STATUS "Not building VirtualRobotImportUrdf: urdfdom not found") + endif() endif() diff --git a/VirtualRobot/examples/loadURDFRobot/CMakeLists.txt b/VirtualRobot/examples/loadURDFRobot/CMakeLists.txt index c5f9fa93324bd76873ce367ed5a598c76063e5be..de5a88701a0001ef16b5c50af996c0621a73c758 100644 --- a/VirtualRobot/examples/loadURDFRobot/CMakeLists.txt +++ b/VirtualRobot/examples/loadURDFRobot/CMakeLists.txt @@ -1,6 +1,6 @@ PROJECT ( loadURDFRobot ) -if (tinyxml_library AND URDF_FOUND) +if (TARGET VirtualRobotImportUrdf) include_directories(SYSTEM ${tinyxml_include_dirs}) link_directories(${tinyxml_library_dirs}) @@ -17,7 +17,7 @@ if (tinyxml_library AND URDF_FOUND) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR}) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples") - TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot ${URDFDOM_LIBRARIES}) + TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot VirtualRobotImportUrdf ${URDFDOM_LIBRARIES}) #######################################################################################