# ========================================================================= # The Mobile Robot Programming Toolkit (MRPT) CMake configuration file # # ** File generated automatically, do not modify ** # # Usage from an external project: # In your CMakeLists.txt, add these lines: # # FIND_PACKAGE( MRPT REQUIRED ) # Default: links against mrpt-core only # or # FIND_PACKAGE( MRPT REQUIRED core hwdrivers ... ) # # TARGET_LINK_LIBRARIES(MY_TARGET_NAME ${MRPT_LIBS}) # # # The libraries ("components") which can be included are: # - core: The main library. It will be included by default. # - hmtslam --> libmrpt-hmtslam # - hwdrivers --> libmrpt-hwdrivers # - reactivenav --> libmrpt-reactivenav # - monoslam --> libmrpt-monoslam # - aria --> libmrpt-aria # # This file will define the following variables: # - MRPT_LIBS: The list of libraries to links against. # # ========================================================================= # Extract the directory where *this* file has been installed (determined at cmake run-time) get_filename_component(THIS_MRPT_CONFIG_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH) # MRPT source dir SET(MRPT_SOURCE_DIR "@THE_MRPT_SOURCE_DIR@") # MRPT binary dir SET(MRPT_DIR "@THE_CMAKE_BINARY_DIR@") # MRPT include directory for "config.h" SET(MRPT_CONFIG_DIR "@THE_MRPT_CONFIG_FILE_INCLUDE_DIR@") #MESSAGE(STATUS "MRPT_FIND_COMPONENTS: ${MRPT_FIND_COMPONENTS}") # Warning on deprecated style: IF(MRPT_USE_LIBS) MESSAGE(STATUS "***********************************************************************" ) MESSAGE(STATUS " MRPT WARNING: Deprecated variable MRPT_USE_LIBS. Replace your code:" ) MESSAGE(STATUS " SET(MRPT_USE_LIBS ${MRPT_USE_LIBS})" ) MESSAGE(STATUS " FIND_PACKAGE(MRPT REQUIRED)" ) MESSAGE(STATUS " By the new code:" ) MESSAGE(STATUS " FIND_PACKAGE(MRPT REQUIRED ${MRPT_USE_LIBS})" ) MESSAGE(STATUS "***********************************************************************" ) LIST(APPEND MRPT_FIND_COMPONENTS ${MRPT_USE_LIBS}) ENDIF(MRPT_USE_LIBS) # ====================================================== # Deal with _SECURE_SCL setting under Microsoft VC: # ====================================================== IF(MSVC) SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D_SECURE_SCL=@CMAKE_MRPT_HAS_SECURE_SCL@") SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D_SECURE_SCL=@CMAKE_MRPT_HAS_SECURE_SCL@") SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -D_SECURE_SCL=@CMAKE_MRPT_HAS_SECURE_SCL@") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -D_SECURE_SCL=@CMAKE_MRPT_HAS_SECURE_SCL@") ENDIF(MSVC) # ====================================================== # Include directories to add to the user project: # ====================================================== INCLUDE_DIRECTORIES(${MRPT_CONFIG_DIR}) INCLUDE_DIRECTORIES(${MRPT_SOURCE_DIR}/include) # OpenCV library: IF(@CMAKE_MRPT_HAS_OPENCV_SYSTEM@) # CMAKE_MRPT_HAS_OPENCV_SYSTEM # Using system opencv lib: # Users must link against OpenCV only if MRPT is not a dynamic library: IF (NOT @CMAKE_MRPT_BUILD_SHARED_LIB_ONOFF@) # CMAKE_MRPT_BUILD_SHARED_LIB LINK_DIRECTORIES("@OPENCV_LIBDIR@") # OPENCV_LIBDIR ENDIF (NOT @CMAKE_MRPT_BUILD_SHARED_LIB_ONOFF@) ELSE(@CMAKE_MRPT_HAS_OPENCV_SYSTEM@) INCLUDE_DIRECTORIES("${MRPT_SOURCE_DIR}/include/mrpt/otherlibs/opencv") ENDIF(@CMAKE_MRPT_HAS_OPENCV_SYSTEM@) # Freeglut in Windows: IF(MSVC OR BORLAND) INCLUDE_DIRECTORIES("${MRPT_SOURCE_DIR}/include/mrpt/otherlibs/glut/") ENDIF(MSVC OR BORLAND) # ====================================================== # MRPT list of libraries the user should link against: # ====================================================== SET(MRPT_LIBS "@MRPT_LINKER_LIBS@") # We need to process "MRPT_FIND_COMPONENTS" only in GCC: In MSVC/Borland we # use pragmas to add libs to the link. IF(NOT MSVC AND NOT BORLAND) # Process the list: FOREACH(MRPTLIB ${MRPT_FIND_COMPONENTS}) STRING(TOLOWER ${MRPTLIB} MRPTLIB) LIST(APPEND MRPT_LIBS optimized mrpt-${MRPTLIB}@MRPT_DLL_VERSION_POSTFIX@ debug mrpt-${MRPTLIB}@MRPT_DLL_VERSION_POSTFIX@-dbg) ENDFOREACH(MRPTLIB) #MESSAGE(STATUS "MRPTConfig: link libs: ${MRPT_LIBS}") ENDIF(NOT MSVC AND NOT BORLAND) # ====================================================== # Support for wxWidgets: We only need wx libs at user # link time if MRPT libs are static. # ====================================================== IF(@CMAKE_MRPT_HAS_WXWIDGETS@ AND NOT @CMAKE_MRPT_BUILD_SHARED_LIB_ONOFF@) SET(wxWidgets_USE_LIBS base core gl adv aui) IF(CMAKE_BUILD_TYPE MATCHES "Debug") SET(wxWidgets_USE_DEBUG "ON") ELSE(CMAKE_BUILD_TYPE MATCHES "Debug") SET(wxWidgets_USE_REL_AND_DBG "ON") ENDIF(CMAKE_BUILD_TYPE MATCHES "Debug") FIND_PACKAGE(wxWidgets) IF(wxWidgets_FOUND) # Include wxWidgets macros INCLUDE(${wxWidgets_USE_FILE}) # ${wxWidgets_LIBRARIES} will contain the libraries that should be added through TARGET_LINK_LIBRARIES(...) LINK_DIRECTORIES(${wxWidgets_LIBRARY_DIRS}) IF(MSVC) ADD_DEFINITIONS(-DwxUSE_NO_MANIFEST=1) ENDIF(MSVC) LIST(APPEND MRPT_LIBS ${wxWidgets_LIBRARIES}) IF(MSVC) ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS) ENDIF(MSVC) ELSE(wxWidgets_FOUND) MESSAGE("Warning: MRPT was compiled with wxWidgets, but CMake is not able to locate wxWidgets automatically. Please, set wxWidgets_ROOT_DIR to the lib directory manually.\n You can safely ignore this warning if you don't intend to use MRPT GUI classes or wxWidgets directly from your application.") ENDIF(wxWidgets_FOUND) ENDIF(@CMAKE_MRPT_HAS_WXWIDGETS@ AND NOT @CMAKE_MRPT_BUILD_SHARED_LIB_ONOFF@) # ====================================================== # Support for Bumblebee # ====================================================== IF(WIN32) IF(@CMAKE_MRPT_HAS_BUMBLEBEE@) INCLUDE_DIRECTORIES("@BUMBLEBEE_DIGICLOPS_ROOT_DIR@/include") INCLUDE_DIRECTORIES("@BUMBLEBEE_TRICLOPS_ROOT_DIR@/include") LINK_DIRECTORIES("@BUMBLEBEE_DIGICLOPS_ROOT_DIR}/lib@") LINK_DIRECTORIES("@BUMBLEBEE_TRICLOPS_ROOT_DIR}/lib@") ENDIF(@CMAKE_MRPT_HAS_BUMBLEBEE@) ENDIF(WIN32) # ====================================================== # Support for VLD # ====================================================== IF(@CMAKE_MRPT_HAS_VLD@) INCLUDE_DIRECTORIES("@ROOT_VISUAL_LEAK_DETECTOR@/include") LINK_DIRECTORIES("@ROOT_VISUAL_LEAK_DETECTOR@/lib") ENDIF(@CMAKE_MRPT_HAS_VLD@) # ====================================================== # Link directories to add to the user project: # ====================================================== LINK_DIRECTORIES(${MRPT_DIR}/lib) LINK_DIRECTORIES(${MRPT_DIR}/lib/otherlibs) #LINK_DIRECTORIES(${MRPT_SOURCE_DIR}/lib/otherlibs)