[openrtm-users 02805] Re: (無題)

kskm1255 @ gmail.com kskm1255 @ gmail.com
2013年 5月 20日 (月) 18:46:12 JST


ジェフ様 迅速なご返信ありがとうございます.
私の理解としては,ModuleNameとModuleNameCompの2つのプロジェクトに対して,target_link_librariesを適用して,リンク用のファイルを指定しないといけないと思っているのですが,その場合どのように記述すれば良いのでしょうか??
前川 以下にCMakeLists.txtを記載します.
---------------------------------- cmake_minimum_required(VERSION 2.8
FATAL_ERROR) project(RTC_KUKA) string(TOLOWER ${PROJECT_NAME}
PROJECT_NAME_LOWER) include("${PROJECT_SOURCE_DIR}/cmake/utils.cmake")
set(PROJECT_VERSION 1.0.0 CACHE STRING "RTC_KUKA version") DISSECT_VERSION()
set(PROJECT_DESCRIPTION "youbot control") set(PROJECT_VENDOR "AIS Lab.")
set(PROJECT_AUTHOR "AIS Lab.") set(PROJECT_AUTHOR_SHORT "AIS Lab.") # Add an
"uninstall" target CONFIGURE_FILE
("${PROJECT_SOURCE_DIR}/cmake/uninstall_target.cmake.in"
"${PROJECT_BINARY_DIR}/uninstall_target.cmake" IMMEDIATE @ONLY)
ADD_CUSTOM_TARGET (uninstall "${CMAKE_COMMAND}" -P
"${PROJECT_BINARY_DIR}/uninstall_target.cmake") #option(BUILD_EXAMPLES "Build
and install examples" OFF) option(BUILD_DOCUMENTATION "Build the
documentation" ON) #option(BUILD_TESTS "Build the tests" OFF)
#option(BUILD_TOOLS "Build the tools" OFF) option(BUILD_IDL "Build and
install idl" ON) option(BUILD_SOURCES "Build and install sources" OFF)
option(STATIC_LIBS "Build static libraries" OFF) if(STATIC_LIBS) set(LIB_TYPE
STATIC) else(STATIC_LIBS) set(LIB_TYPE SHARED) endif(STATIC_LIBS) if
(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # Mac OS X specific code
SET(CMAKE_CXX_COMPILER "g++") endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") #
Set up installation directories set(BIN_INSTALL_DIR "components/bin")
set(LIB_INSTALL_DIR "components/lib") set(INC_INSTALL_DIR
"components/include/${PROJECT_NAME_LOWER}-${PROJECT_VERSION_MAJOR}")
set(SHARE_INSTALL_DIR
"components/share/${PROJECT_NAME_LOWER}-${PROJECT_VERSION_MAJOR}")
##############この部分を追加###################
include_directories(/home/youbot/youbot_driver)
include_directories(/home/youbot/youbot_driver/soem/src)
include_directories(${Boost_INCLUDE_DIR})
link_directories(/home/youbot/youbot_driver/lib)
link_directories(${Boost_LIBRARIES}) link_directories(pthread)
target_link_libraries(${PROJECT_Name} "libYouBotDriver.so")
set(PROJECT_NameComp "${PROJECT_NAME_LOWER}Comp")
target_link_libraries(${PROJECT_NameComp} "libYouBotDriver.so") # Get
necessary dependency information find_package(OpenRTM) if(${OpenRTM_FOUND})
MESSAGE(STATUS "OpenRTM configuration Found") else(${OpenRTM_FOUND})
message(STATUS "Use cmake/Modules/FindOpenRTM.cmake in the project")
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules)
find_package(OpenRTM REQUIRED) endif(${OpenRTM_FOUND}) # Universal settings
#enable_testing() # Subdirectories add_subdirectory(cmake)
if(BUILD_DOCUMENTATION) add_subdirectory(doc) endif(BUILD_DOCUMENTATION)
#if(BUILD_EXAMPLES) # add_subdirectory(examples) #endif(BUILD_EXAMPLES)
if(BUILD_IDL) add_subdirectory(idl) endif(BUILD_IDL)
add_subdirectory(include) MAP_ADD_STR(headers "include/" comp_hdrs)
add_subdirectory(src) #if(BUILD_TESTS) # add_subdirectory(test)
#endif(BUILD_TESTS) #if(BUILD_TOOLS) # add_subdirectory(tools)
#endif(BUILD_TOOLS) if(BUILD_SOURCES) add_subdirectory(include)
add_subdirectory(src) endif(BUILD_SOURCES) # Package creation # By default,
do not warn when built on machines using only VS Express: IF(NOT DEFINED
CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON) ENDIF()
include(InstallRequiredSystemLibraries) set(PROJECT_EXECUTABLES
${PROJECT_NAME_LOWER}Comp "${PROJECT_NAME_LOWER}Comp") set(cpack_options
"${PROJECT_BINARY_DIR}/cpack_options.cmake")
configure_file("${PROJECT_SOURCE_DIR}/cmake/cpack_options.cmake.in"
${cpack_options} @ONLY) set(CPACK_PROJECT_CONFIG_FILE ${cpack_options})
include(${CPACK_PROJECT_CONFIG_FILE}) include(CPack)



More information about the openrtm-users mailing list