2015-11-29 18:39:20 -05:00
|
|
|
cmake_minimum_required(VERSION 2.8.5)
|
2011-10-25 15:48:19 +00:00
|
|
|
|
2015-05-20 16:55:56 -04:00
|
|
|
# Detect if it is called by catkin
|
2017-10-09 19:11:41 -04:00
|
|
|
IF(CATKIN_TOPLEVEL OR CATKIN_BUILD_BINARY_PACKAGE OR CATKIN_SKIP_TESTING OR CATKIN_ENABLE_TESTING OR CATKIN_DEVEL_PREFIX)
|
2016-05-08 16:34:41 -04:00
|
|
|
SET(CATKIN_BUILD TRUE)
|
2017-10-09 19:11:41 -04:00
|
|
|
ENDIF(CATKIN_TOPLEVEL OR CATKIN_BUILD_BINARY_PACKAGE OR CATKIN_SKIP_TESTING OR CATKIN_ENABLE_TESTING OR CATKIN_DEVEL_PREFIX)
|
2016-05-08 16:34:41 -04:00
|
|
|
|
|
|
|
|
MESSAGE(STATUS "CATKIN_BUILD=${CATKIN_BUILD}")
|
2015-05-20 15:21:17 -04:00
|
|
|
|
2015-05-20 14:50:25 -04:00
|
|
|
IF(NOT CATKIN_BUILD)
|
|
|
|
|
#Standalone build
|
|
|
|
|
PROJECT( Find-Object )
|
|
|
|
|
ELSE()
|
2015-05-20 16:55:56 -04:00
|
|
|
#ROS catkin build
|
2015-05-20 14:50:25 -04:00
|
|
|
PROJECT( find_object_2d )
|
2014-07-31 20:59:25 +00:00
|
|
|
ENDIF()
|
2011-10-25 15:48:19 +00:00
|
|
|
|
2015-11-29 18:39:20 -05:00
|
|
|
# Catkin doesn't support multiarch library path,
|
|
|
|
|
# fix to "lib" if not set by user.
|
|
|
|
|
IF(NOT DEFINED CMAKE_INSTALL_LIBDIR)
|
|
|
|
|
set(CMAKE_INSTALL_LIBDIR "lib")
|
|
|
|
|
ENDIF(NOT DEFINED CMAKE_INSTALL_LIBDIR)
|
|
|
|
|
|
|
|
|
|
INCLUDE(GNUInstallDirs)
|
|
|
|
|
|
2018-07-30 15:27:03 -04:00
|
|
|
####### local cmake modules #######
|
|
|
|
|
SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake_modules")
|
|
|
|
|
|
2018-07-30 15:54:01 -04:00
|
|
|
# Policy CMP0043 introduced in cmake version 3.0 IGNORES the use of COMPILE_DEFINITIONS suffixed variables, e.g. COMPILE_DEFINITIONS_DEBUG
|
|
|
|
|
# Set to OLD behavior until minimum cmake version >= 2.8.10 (version that COMPILE_DEFINITIONS can be set by generator expressions instead)
|
|
|
|
|
if (POLICY CMP0043)
|
|
|
|
|
cmake_policy(SET CMP0043 OLD)
|
|
|
|
|
endif (POLICY CMP0043)
|
|
|
|
|
# Policy CMP0042 introduced in cmake version 3.0 enables the use of @rpath in an install name via MACOSX_RPATH by default
|
|
|
|
|
# Set to OLD behavior so that all versions use the same behavior, or until minimum cmake version >= 2.8.12 (version where @rpath is available)
|
|
|
|
|
if (POLICY CMP0042)
|
|
|
|
|
cmake_policy(SET CMP0042 OLD)
|
|
|
|
|
endif (POLICY CMP0042)
|
2018-07-30 15:27:03 -04:00
|
|
|
|
2011-11-09 19:01:46 +00:00
|
|
|
#######################
|
|
|
|
|
# VERSION
|
|
|
|
|
#######################
|
2017-11-07 11:07:35 -05:00
|
|
|
SET(PROJECT_VERSION "0.6.2")
|
2015-05-20 14:50:25 -04:00
|
|
|
SET(PROJECT_PREFIX find_object)
|
2011-11-09 19:01:46 +00:00
|
|
|
|
|
|
|
|
STRING(REGEX MATCHALL "[0-9]" PROJECT_VERSION_PARTS "${PROJECT_VERSION}")
|
|
|
|
|
LIST(GET PROJECT_VERSION_PARTS 0 PROJECT_VERSION_MAJOR)
|
|
|
|
|
LIST(GET PROJECT_VERSION_PARTS 1 PROJECT_VERSION_MINOR)
|
|
|
|
|
LIST(GET PROJECT_VERSION_PARTS 2 PROJECT_VERSION_PATCH)
|
|
|
|
|
|
2015-05-20 14:50:25 -04:00
|
|
|
ADD_DEFINITIONS(-DPROJECT_PREFIX="${PROJECT_PREFIX}")
|
|
|
|
|
ADD_DEFINITIONS(-DPROJECT_VERSION="${PROJECT_VERSION}")
|
|
|
|
|
ADD_DEFINITIONS(-DPROJECT_NAME="${PROJECT_NAME}")
|
2014-07-31 20:11:46 +00:00
|
|
|
|
2011-10-25 15:48:19 +00:00
|
|
|
####### DEPENDENCIES #######
|
|
|
|
|
FIND_PACKAGE(OpenCV REQUIRED) # tested on 2.3.1
|
2015-11-29 18:39:20 -05:00
|
|
|
|
2016-05-06 16:54:18 -04:00
|
|
|
# look for Qt5 before Qt4
|
|
|
|
|
FIND_PACKAGE(Qt5 COMPONENTS Widgets Core Gui Network QUIET)
|
|
|
|
|
IF(NOT Qt5_FOUND)
|
2015-11-29 18:39:20 -05:00
|
|
|
FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui QtNetwork REQUIRED)
|
2016-05-06 16:54:18 -04:00
|
|
|
ENDIF(NOT Qt5_FOUND)
|
2014-07-08 19:55:03 +00:00
|
|
|
ADD_DEFINITIONS(-DQT_NO_KEYWORDS) # To avoid conflicts with boost signals used in ROS
|
2011-10-25 15:48:19 +00:00
|
|
|
|
2018-07-30 15:27:03 -04:00
|
|
|
FIND_PACKAGE(Tcmalloc QUIET)
|
|
|
|
|
|
2018-09-10 18:57:51 -04:00
|
|
|
FIND_PACKAGE(ZLIB REQUIRED QUIET)
|
|
|
|
|
|
2015-06-23 16:38:47 -04:00
|
|
|
SET(NONFREE 0)
|
|
|
|
|
IF(OPENCV_NONFREE_FOUND OR OPENCV_XFEATURES2D_FOUND)
|
|
|
|
|
SET(NONFREE 1)
|
|
|
|
|
ENDIF(OPENCV_NONFREE_FOUND OR OPENCV_XFEATURES2D_FOUND)
|
|
|
|
|
|
2014-11-28 21:47:02 +00:00
|
|
|
CONFIGURE_FILE(Version.h.in ${PROJECT_SOURCE_DIR}/include/${PROJECT_PREFIX}/Version.h)
|
2014-10-24 02:46:03 +00:00
|
|
|
|
2015-05-20 14:50:25 -04:00
|
|
|
IF(NOT CATKIN_BUILD)
|
|
|
|
|
#Standalone build
|
|
|
|
|
IF(WIN32 AND NOT MINGW)
|
|
|
|
|
ADD_DEFINITIONS("-wd4251")
|
|
|
|
|
ELSE ()
|
|
|
|
|
ADD_DEFINITIONS( "-Wall" )
|
|
|
|
|
ENDIF()
|
|
|
|
|
#ADD_DEFINITIONS("-DUNICODE") # to test with UNICODE projects
|
|
|
|
|
|
|
|
|
|
####### COMPILATION PARAMS #######
|
|
|
|
|
# In case of Makefiles if the user does not setup CMAKE_BUILD_TYPE, assume it's Release:
|
|
|
|
|
IF(${CMAKE_GENERATOR} MATCHES ".*Makefiles")
|
|
|
|
|
IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
|
|
|
|
set(CMAKE_BUILD_TYPE Release)
|
|
|
|
|
ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
|
|
|
|
ENDIF(${CMAKE_GENERATOR} MATCHES ".*Makefiles")
|
|
|
|
|
|
|
|
|
|
SET(CMAKE_DEBUG_POSTFIX "d")
|
|
|
|
|
|
|
|
|
|
####### Build libraries as shared or static #######
|
|
|
|
|
OPTION( BUILD_SHARED_LIBS "Set to OFF to build static libraries" ON )
|
|
|
|
|
|
|
|
|
|
####### OUTPUT DIR #######
|
|
|
|
|
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)
|
|
|
|
|
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)
|
|
|
|
|
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib)
|
|
|
|
|
|
|
|
|
|
####### INSTALL DIR #######
|
|
|
|
|
# Offer the user the choice of overriding the installation directories
|
|
|
|
|
set(INSTALL_INCLUDE_DIR include/${PROJECT_PREFIX}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} CACHE PATH
|
|
|
|
|
"Installation directory for header files")
|
|
|
|
|
if(WIN32 AND NOT CYGWIN)
|
|
|
|
|
set(DEF_INSTALL_CMAKE_DIR CMake)
|
|
|
|
|
else()
|
2015-11-29 18:39:20 -05:00
|
|
|
set(DEF_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/${PROJECT_PREFIX}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR})
|
2015-05-20 14:50:25 -04:00
|
|
|
endif()
|
|
|
|
|
set(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH
|
|
|
|
|
"Installation directory for CMake files")
|
2014-07-31 20:11:46 +00:00
|
|
|
|
2011-11-09 19:01:46 +00:00
|
|
|
|
2015-05-20 14:50:25 -04:00
|
|
|
####### OSX BUNDLE CMAKE_INSTALL_PREFIX #######
|
|
|
|
|
IF(APPLE)
|
|
|
|
|
OPTION(BUILD_AS_BUNDLE "Set to ON to build as bundle (DragNDrop)" OFF)
|
|
|
|
|
ENDIF(APPLE)
|
|
|
|
|
IF(APPLE AND BUILD_AS_BUNDLE)
|
|
|
|
|
# Required when packaging, and set CMAKE_INSTALL_PREFIX to "/".
|
|
|
|
|
SET(CPACK_SET_DESTDIR TRUE)
|
|
|
|
|
|
|
|
|
|
SET(CMAKE_BUNDLE_NAME
|
|
|
|
|
"${PROJECT_NAME}")
|
|
|
|
|
SET(CMAKE_BUNDLE_LOCATION "/")
|
|
|
|
|
|
|
|
|
|
# make sure CMAKE_INSTALL_PREFIX ends in /
|
|
|
|
|
SET(CMAKE_INSTALL_PREFIX
|
|
|
|
|
"/${CMAKE_BUNDLE_NAME}.app/Contents")
|
|
|
|
|
ENDIF(APPLE AND BUILD_AS_BUNDLE)
|
|
|
|
|
|
|
|
|
|
####### SOURCES (Projects) #######
|
|
|
|
|
ADD_SUBDIRECTORY( src )
|
|
|
|
|
ADD_SUBDIRECTORY( app )
|
|
|
|
|
ADD_SUBDIRECTORY( tools )
|
|
|
|
|
IF(NONFREE)
|
|
|
|
|
ADD_SUBDIRECTORY( example )
|
|
|
|
|
ENDIF(NONFREE)
|
|
|
|
|
|
|
|
|
|
#######################
|
|
|
|
|
# Uninstall target, for "make uninstall"
|
|
|
|
|
#######################
|
|
|
|
|
CONFIGURE_FILE(
|
|
|
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
|
|
|
|
|
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
|
|
|
|
IMMEDIATE @ONLY)
|
|
|
|
|
|
|
|
|
|
ADD_CUSTOM_TARGET(uninstall
|
|
|
|
|
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
|
|
|
|
|
|
|
|
|
|
#######################
|
|
|
|
|
# Setup FindObjectConfig.cmake
|
|
|
|
|
#######################
|
|
|
|
|
# Create the FindObjectConfig.cmake and FindObjectConfigVersion files
|
|
|
|
|
file(RELATIVE_PATH REL_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/${INSTALL_CMAKE_DIR}" "${CMAKE_INSTALL_PREFIX}/${INSTALL_INCLUDE_DIR}")
|
2015-11-29 18:39:20 -05:00
|
|
|
file(RELATIVE_PATH REL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/${INSTALL_CMAKE_DIR}" "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
2015-05-20 14:50:25 -04:00
|
|
|
|
|
|
|
|
# ... for the build tree
|
|
|
|
|
set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include")
|
|
|
|
|
set(CONF_LIB_DIR "${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}")
|
|
|
|
|
configure_file(FindObjectConfig.cmake.in
|
|
|
|
|
"${PROJECT_BINARY_DIR}/FindObjectConfig.cmake" @ONLY)
|
|
|
|
|
|
|
|
|
|
# ... for the install tree
|
|
|
|
|
set(CONF_INCLUDE_DIRS "\${FindObject_CMAKE_DIR}/${REL_INCLUDE_DIR}")
|
|
|
|
|
set(CONF_LIB_DIR "\${FindObject_CMAKE_DIR}/${REL_LIB_DIR}")
|
|
|
|
|
configure_file(FindObjectConfig.cmake.in
|
|
|
|
|
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindObjectConfig.cmake" @ONLY)
|
|
|
|
|
|
|
|
|
|
# ... for both
|
|
|
|
|
configure_file(FindObjectConfigVersion.cmake.in
|
|
|
|
|
"${PROJECT_BINARY_DIR}/FindObjectConfigVersion.cmake" @ONLY)
|
|
|
|
|
|
|
|
|
|
# Install the FindObjectConfig.cmake and FindObjectConfigVersion.cmake
|
|
|
|
|
install(FILES
|
|
|
|
|
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindObjectConfig.cmake"
|
|
|
|
|
"${PROJECT_BINARY_DIR}/FindObjectConfigVersion.cmake"
|
|
|
|
|
DESTINATION "${INSTALL_CMAKE_DIR}" COMPONENT devel)
|
|
|
|
|
####
|
|
|
|
|
|
|
|
|
|
#######################
|
|
|
|
|
# CPACK (Packaging)
|
|
|
|
|
#######################
|
|
|
|
|
INCLUDE(InstallRequiredSystemLibraries)
|
|
|
|
|
|
|
|
|
|
SET(CPACK_PACKAGE_NAME "${PROJECT_NAME}")
|
|
|
|
|
SET(CPACK_PACKAGE_VENDOR "${PROJECT_NAME} project")
|
|
|
|
|
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Find-Object")
|
|
|
|
|
SET(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}")
|
|
|
|
|
SET(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}")
|
|
|
|
|
SET(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}")
|
|
|
|
|
SET(CPACK_PACKAGE_CONTACT "matlabbe@gmail.com")
|
|
|
|
|
|
|
|
|
|
set(CPACK_SOURCE_IGNORE_FILES
|
|
|
|
|
"\\\\.svn/"
|
|
|
|
|
"${PROJECT_SOURCE_DIR}/build/[a-zA-Z0-9_]+"
|
|
|
|
|
"~$"
|
|
|
|
|
"${PROJECT_SOURCE_DIR}/bin/.*${PROJECT_PREFIX}"
|
|
|
|
|
"${PROJECT_SOURCE_DIR}/bin/.*${PROJECT_NAME}"
|
|
|
|
|
"\\\\.DS_Store"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
IF(WIN32)
|
|
|
|
|
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
|
|
|
|
|
IF(CMAKE_CL_64)
|
|
|
|
|
SET(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
|
|
|
|
|
ELSE()
|
|
|
|
|
SET(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES")
|
|
|
|
|
ENDIF()
|
|
|
|
|
SET(CPACK_GENERATOR "ZIP;NSIS")
|
|
|
|
|
SET(CPACK_SOURCE_GENERATOR "ZIP")
|
|
|
|
|
SET(CPACK_NSIS_PACKAGE_NAME "${PROJECT_NAME}")
|
|
|
|
|
SET(ICON_PATH "${PROJECT_SOURCE_DIR}/app/${PROJECT_NAME}.ico")
|
|
|
|
|
SET(CPACK_NSIS_MUI_ICON ${ICON_PATH})
|
|
|
|
|
SET(CPACK_NSIS_MUI_UNIICON ${ICON_PATH})
|
|
|
|
|
SET(CPACK_NSIS_DISPLAY_NAME "${PROJECT_NAME}")
|
|
|
|
|
SET(CPACK_NSIS_CONTACT ${CPACK_PACKAGE_CONTACT})
|
|
|
|
|
# Set the icon used for the Windows "Add or Remove Programs" tool.
|
|
|
|
|
SET(CPACK_NSIS_INSTALLED_ICON_NAME bin\\\\${PROJECT_NAME}.exe)
|
|
|
|
|
SET(CPACK_PACKAGE_EXECUTABLES "${PROJECT_NAME}" "${PROJECT_NAME}" ${CPACK_PACKAGE_EXECUTABLES})
|
|
|
|
|
SET(CPACK_CREATE_DESKTOP_LINKS "${PROJECT_NAME}" ${CPACK_CREATE_DESKTOP_LINKS})
|
|
|
|
|
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME}")
|
|
|
|
|
ELSEIF(APPLE)
|
|
|
|
|
IF(BUILD_AS_BUNDLE)
|
|
|
|
|
# On APPLE and if BUILD_AS_BUNDLE=ON, the project is created as a bundle
|
|
|
|
|
# over the main app (see ./src).Here we package only this bundle. Note
|
|
|
|
|
# that we set CMAKE_INSTALL_PREFIX to "/" when packaging to DragNDrop...
|
|
|
|
|
SET(CPACK_GENERATOR "DragNDrop")
|
|
|
|
|
ELSE()
|
|
|
|
|
SET(CPACK_GENERATOR "PackageMaker;TBZ2")
|
|
|
|
|
ENDIF()
|
|
|
|
|
|
|
|
|
|
SET(CPACK_SOURCE_GENERATOR "TBZ2")
|
|
|
|
|
|
|
|
|
|
SET(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/app/${PROJECT_NAME}.icns")
|
|
|
|
|
ELSE()
|
|
|
|
|
SET(CPACK_SOURCE_GENERATOR "ZIP")
|
|
|
|
|
ENDIF()
|
|
|
|
|
|
|
|
|
|
INCLUDE(CPack)
|
|
|
|
|
|
|
|
|
|
#######################
|
|
|
|
|
# OUTPUT INFO
|
|
|
|
|
#######################
|
|
|
|
|
MESSAGE(STATUS "--------------------------------------------")
|
|
|
|
|
MESSAGE(STATUS "Info :")
|
|
|
|
|
MESSAGE(STATUS " CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}")
|
|
|
|
|
MESSAGE(STATUS " CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}")
|
2015-07-10 14:27:11 -04:00
|
|
|
MESSAGE(STATUS " PROJECT_VERSION = ${PROJECT_VERSION}")
|
2015-06-23 16:38:47 -04:00
|
|
|
|
|
|
|
|
IF(OpenCV_VERSION_MAJOR EQUAL 2)
|
|
|
|
|
IF(OPENCV_NONFREE_FOUND)
|
|
|
|
|
MESSAGE(STATUS " With OpenCV 2 nonfree module (SIFT/SURF) = YES")
|
|
|
|
|
ELSE()
|
|
|
|
|
MESSAGE(STATUS " With OpenCV 2 nonfree module (SIFT/SURF) = NO (not found)")
|
|
|
|
|
ENDIF()
|
2015-05-20 14:50:25 -04:00
|
|
|
ELSE()
|
2015-06-23 16:38:47 -04:00
|
|
|
IF(OPENCV_XFEATURES2D_FOUND)
|
|
|
|
|
MESSAGE(STATUS " With OpenCV 3 xfeatures2d module (SIFT/SURF/BRIEF/FREAK) = YES")
|
|
|
|
|
ELSE()
|
|
|
|
|
MESSAGE(STATUS " With OpenCV 3 xfeatures2d module (SIFT/SURF/BRIEF/FREAK) = NO (not found)")
|
|
|
|
|
ENDIF()
|
2015-05-20 14:50:25 -04:00
|
|
|
ENDIF()
|
2015-06-23 16:38:47 -04:00
|
|
|
|
2015-11-29 18:39:20 -05:00
|
|
|
IF(QT4_FOUND)
|
2016-05-06 16:54:18 -04:00
|
|
|
MESSAGE(STATUS " With Qt4 = YES")
|
2015-11-29 18:39:20 -05:00
|
|
|
ELSEIF(Qt5_FOUND)
|
2016-05-06 16:54:18 -04:00
|
|
|
MESSAGE(STATUS " With Qt5 = YES")
|
2015-11-29 18:39:20 -05:00
|
|
|
ELSE()
|
2016-05-06 16:54:18 -04:00
|
|
|
MESSAGE(STATUS " With Qt = NO (Qt not found)")
|
2015-11-29 18:39:20 -05:00
|
|
|
ENDIF()
|
|
|
|
|
|
2018-07-30 15:27:03 -04:00
|
|
|
IF(Tcmalloc_FOUND)
|
|
|
|
|
MESSAGE(STATUS " With tcmalloc = YES")
|
|
|
|
|
ELSE()
|
|
|
|
|
MESSAGE(STATUS " With tcmalloc = NO (tcmalloc not found)")
|
|
|
|
|
ENDIF(Tcmalloc_FOUND)
|
|
|
|
|
|
2015-05-20 14:50:25 -04:00
|
|
|
IF(APPLE)
|
2018-07-30 15:27:03 -04:00
|
|
|
MESSAGE(STATUS " BUILD_AS_BUNDLE = ${BUILD_AS_BUNDLE}")
|
2015-05-20 14:50:25 -04:00
|
|
|
ENDIF(APPLE)
|
|
|
|
|
MESSAGE(STATUS "--------------------------------------------")
|
2011-11-09 19:01:46 +00:00
|
|
|
|
2014-10-24 02:46:03 +00:00
|
|
|
ELSE()
|
2015-05-20 14:50:25 -04:00
|
|
|
#ROS Catkin build
|
|
|
|
|
|
|
|
|
|
## Find catkin macros and libraries
|
|
|
|
|
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
|
|
|
|
|
## is used, also find other catkin packages
|
|
|
|
|
find_package(catkin REQUIRED COMPONENTS
|
2019-03-31 17:42:05 -04:00
|
|
|
cv_bridge roscpp rospy sensor_msgs std_msgs image_transport message_filters tf message_generation
|
2015-05-20 14:50:25 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
## Generate messages in the 'msg' folder
|
|
|
|
|
add_message_files(
|
|
|
|
|
FILES
|
|
|
|
|
ObjectsStamped.msg
|
2018-11-21 14:11:28 -05:00
|
|
|
DetectionInfo.msg
|
2015-05-20 14:50:25 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
## Generate added messages and services with any dependencies listed here
|
|
|
|
|
generate_messages(
|
|
|
|
|
DEPENDENCIES
|
|
|
|
|
std_msgs
|
|
|
|
|
sensor_msgs
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
###################################
|
|
|
|
|
## catkin specific configuration ##
|
|
|
|
|
###################################
|
|
|
|
|
## The catkin_package macro generates cmake config files for your package
|
|
|
|
|
## Declare things to be passed to dependent projects
|
|
|
|
|
## INCLUDE_DIRS: uncomment this if you package contains header files
|
|
|
|
|
## LIBRARIES: libraries you create in this project that dependent projects also need
|
|
|
|
|
## CATKIN_DEPENDS: catkin_packages dependent projects also need
|
|
|
|
|
## DEPENDS: system dependencies of this project that dependent projects also need
|
|
|
|
|
catkin_package(
|
2019-03-31 17:42:05 -04:00
|
|
|
CATKIN_DEPENDS cv_bridge roscpp rospy sensor_msgs std_msgs image_transport message_filters tf message_runtime
|
2015-05-20 14:50:25 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
###########
|
|
|
|
|
## Build ##
|
|
|
|
|
###########
|
|
|
|
|
ADD_SUBDIRECTORY( src )
|
|
|
|
|
|
|
|
|
|
#############
|
|
|
|
|
## Install ##
|
|
|
|
|
#############
|
|
|
|
|
## Mark other files for installation (e.g. launch and bag files, etc.)
|
|
|
|
|
install(FILES
|
|
|
|
|
launch/find_object_2d_gui.launch
|
|
|
|
|
launch/find_object_2d.launch
|
|
|
|
|
launch/find_object_3d.launch
|
|
|
|
|
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch
|
|
|
|
|
)
|
2014-10-24 02:46:03 +00:00
|
|
|
ENDIF()
|
2015-05-20 14:50:25 -04:00
|
|
|
|