diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2e5e5d02..e473d033 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -37,12 +37,11 @@ ADD_DEFINITIONS(-DPROJECT_NAME="${PROJECT_NAME}")
####### DEPENDENCIES #######
FIND_PACKAGE(OpenCV REQUIRED) # tested on 2.3.1
-SET(FINDOBJECT_QT_VERSION 4 CACHE STRING "Which QT version to use")
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "4")
+# look for Qt5 before Qt4
+FIND_PACKAGE(Qt5 COMPONENTS Widgets Core Gui Network QUIET)
+IF(NOT Qt5_FOUND)
FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui QtNetwork REQUIRED)
-ELSE()
- FIND_PACKAGE(Qt5 COMPONENTS Widgets Core Gui Network REQUIRED)
-ENDIF()
+ENDIF(NOT Qt5_FOUND)
ADD_DEFINITIONS(-DQT_NO_KEYWORDS) # To avoid conflicts with boost signals used in ROS
SET(NONFREE 0)
@@ -243,11 +242,11 @@ IF(NOT CATKIN_BUILD)
ENDIF()
IF(QT4_FOUND)
- MESSAGE(STATUS " With Qt = YES (version 4, \"-DFINDOBJECT_QT_VERSION=4\")")
+ MESSAGE(STATUS " With Qt4 = YES")
ELSEIF(Qt5_FOUND)
- MESSAGE(STATUS " With Qt = YES (version 5, \"-DFINDOBJECT_QT_VERSION=5\")")
+ MESSAGE(STATUS " With Qt5 = YES")
ELSE()
- MESSAGE(STATUS " With Qt = NO (Qt not found, to use Qt5 you should set -DFINDOBJECT_QT_VERSION=5)")
+ MESSAGE(STATUS " With Qt = NO (Qt not found)")
ENDIF()
IF(APPLE)
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
index 454079ad..2744bd9e 100644
--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -3,7 +3,7 @@ SET(headers_ui
TcpServerPool.h
)
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "4")
+IF(QT4_FOUND)
QT4_WRAP_CPP(moc_srcs ${headers_ui})
ELSE()
QT5_WRAP_CPP(moc_srcs ${headers_ui})
@@ -15,9 +15,9 @@ SET(INCLUDE_DIRS
${OpenCV_INCLUDE_DIRS}
)
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "4")
+IF(QT4_FOUND)
INCLUDE(${QT_USE_FILE})
-ENDIF()
+ENDIF(QT4_FOUND)
SET(LIBRARIES
${QT_LIBRARIES}
@@ -62,9 +62,9 @@ ELSE()
ENDIF()
# Linking with Qt libraries
TARGET_LINK_LIBRARIES(find_object_app find_object ${LIBRARIES})
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "5")
+IF(Qt5_FOUND)
QT5_USE_MODULES(find_object_app Widgets Core Gui Network PrintSupport)
-ENDIF()
+ENDIF(Qt5_FOUND)
IF(APPLE AND BUILD_AS_BUNDLE)
SET_TARGET_PROPERTIES(find_object_app PROPERTIES
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
index 942ea940..61dd9fa6 100644
--- a/example/CMakeLists.txt
+++ b/example/CMakeLists.txt
@@ -9,9 +9,9 @@ SET(INCLUDE_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/../include
)
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "4")
+IF(QT4_FOUND)
INCLUDE(${QT_USE_FILE})
-ENDIF()
+ENDIF(QT4_FOUND)
SET(LIBRARIES
${OpenCV_LIBS}
@@ -25,9 +25,9 @@ INCLUDE_DIRECTORIES(${INCLUDE_DIRS})
# The extension is automatically found.
ADD_EXECUTABLE(example ${SRC_FILES})
TARGET_LINK_LIBRARIES(example find_object ${LIBRARIES})
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "5")
+IF(Qt5_FOUND)
QT5_USE_MODULES(example Widgets Core Gui Network PrintSupport)
-ENDIF()
+ENDIF(Qt5_FOUND)
SET_TARGET_PROPERTIES( example
PROPERTIES OUTPUT_NAME ${PROJECT_PREFIX}-example)
diff --git a/package.xml b/package.xml
index db189496..bd4bb952 100644
--- a/package.xml
+++ b/package.xml
@@ -5,7 +5,7 @@
The find_object_2d package
Mathieu Labbe
- LGPLv3
+ BSD
http://find-object.googlecode.com
Mathieu Labbe
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 324c9192..651aab63 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -34,7 +34,7 @@ SET(qrc
./resources.qrc
)
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "4")
+IF(QT4_FOUND)
# generate rules for building source files from the resources
QT4_ADD_RESOURCES(srcs_qrc ${qrc})
@@ -101,9 +101,9 @@ IF(CATKIN_BUILD)
)
ENDIF(CATKIN_BUILD)
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "4")
+IF(QT4_FOUND)
INCLUDE(${QT_USE_FILE})
-ENDIF()
+ENDIF(QT4_FOUND)
SET(LIBRARIES
${QT_LIBRARIES}
@@ -123,9 +123,9 @@ INCLUDE_DIRECTORIES(${INCLUDE_DIRS})
ADD_LIBRARY(find_object ${SRC_FILES})
# Linking with Qt libraries
TARGET_LINK_LIBRARIES(find_object ${LIBRARIES})
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "5")
+IF(Qt5_FOUND)
QT5_USE_MODULES(find_object Widgets Core Gui Network PrintSupport)
-ENDIF()
+ENDIF(Qt5_FOUND)
IF(CATKIN_BUILD)
set_target_properties(find_object PROPERTIES OUTPUT_NAME find_object_2d)
ENDIF(CATKIN_BUILD)
@@ -149,6 +149,12 @@ ELSE()
add_executable(tf_example ros/tf_example_node.cpp)
target_link_libraries(tf_example ${LIBRARIES})
add_dependencies(tf_example ${${PROJECT_NAME}_EXPORTED_TARGETS})
+
+ IF(Qt5_FOUND)
+ QT5_USE_MODULES(find_object_2d Widgets Core Gui Network PrintSupport)
+ QT5_USE_MODULES(print_objects_detected Widgets Core Gui Network PrintSupport)
+ QT5_USE_MODULES(tf_example Widgets Core Gui Network PrintSupport)
+ ENDIF(Qt5_FOUND)
## Mark executables and/or libraries for installation
install(TARGETS
diff --git a/src/Vocabulary.cpp b/src/Vocabulary.cpp
index e1e39271..c3b41906 100644
--- a/src/Vocabulary.cpp
+++ b/src/Vocabulary.cpp
@@ -30,6 +30,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "find_object/utilite/ULogger.h"
#include "Vocabulary.h"
#include
+#include
#include
#if CV_MAJOR_VERSION < 3
#include
diff --git a/tools/tcpClient/CMakeLists.txt b/tools/tcpClient/CMakeLists.txt
index 425e895b..f65e59e1 100644
--- a/tools/tcpClient/CMakeLists.txt
+++ b/tools/tcpClient/CMakeLists.txt
@@ -3,7 +3,7 @@ SET(headers_ui
TcpClient.h
)
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "4")
+IF(QT4_FOUND)
QT4_WRAP_CPP(moc_srcs ${headers_ui})
ELSE()
QT5_WRAP_CPP(moc_srcs ${headers_ui})
@@ -21,9 +21,9 @@ SET(INCLUDE_DIRS
${OpenCV_INCLUDE_DIRS}
)
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "4")
+IF(QT4_FOUND)
INCLUDE(${QT_USE_FILE})
-ENDIF()
+ENDIF(QT4_FOUND)
SET(LIBRARIES
${OpenCV_LIBS}
@@ -37,9 +37,9 @@ INCLUDE_DIRECTORIES(${INCLUDE_DIRS})
# The extension is automatically found.
ADD_EXECUTABLE(tcpClient ${SRC_FILES})
TARGET_LINK_LIBRARIES(tcpClient ${LIBRARIES})
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "5")
+IF(Qt5_FOUND)
QT5_USE_MODULES(tcpClient Widgets Core Gui Network PrintSupport)
-ENDIF()
+ENDIF(Qt5_FOUND)
SET_TARGET_PROPERTIES( tcpClient
PROPERTIES OUTPUT_NAME ${PROJECT_PREFIX}-tcpClient)
diff --git a/tools/tcpImagesServer/CMakeLists.txt b/tools/tcpImagesServer/CMakeLists.txt
index 84f82c88..043c7a0d 100644
--- a/tools/tcpImagesServer/CMakeLists.txt
+++ b/tools/tcpImagesServer/CMakeLists.txt
@@ -3,7 +3,7 @@ SET(headers_ui
ImagesTcpServer.h
)
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "4")
+IF(QT4_FOUND)
QT4_WRAP_CPP(moc_srcs ${headers_ui})
ELSE()
QT5_WRAP_CPP(moc_srcs ${headers_ui})
@@ -21,9 +21,9 @@ SET(INCLUDE_DIRS
${OpenCV_INCLUDE_DIRS}
)
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "4")
+IF(QT4_FOUND)
INCLUDE(${QT_USE_FILE})
-ENDIF()
+ENDIF(QT4_FOUND)
SET(LIBRARIES
${OpenCV_LIBS}
@@ -37,9 +37,9 @@ INCLUDE_DIRECTORIES(${INCLUDE_DIRS})
# The extension is automatically found.
ADD_EXECUTABLE(tcpImagesServer ${SRC_FILES})
TARGET_LINK_LIBRARIES(tcpImagesServer find_object ${LIBRARIES})
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "5")
+IF(Qt5_FOUND)
QT5_USE_MODULES(tcpImagesServer Widgets Core Gui Network PrintSupport)
-ENDIF()
+ENDIF(Qt5_FOUND)
SET_TARGET_PROPERTIES( tcpImagesServer
PROPERTIES OUTPUT_NAME ${PROJECT_PREFIX}-tcpImagesServer)
diff --git a/tools/tcpRequest/CMakeLists.txt b/tools/tcpRequest/CMakeLists.txt
index 3bc7d7e5..42d76c08 100644
--- a/tools/tcpRequest/CMakeLists.txt
+++ b/tools/tcpRequest/CMakeLists.txt
@@ -3,7 +3,7 @@ SET(headers_ui
TcpResponse.h
)
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "4")
+IF(QT4_FOUND)
QT4_WRAP_CPP(moc_srcs ${headers_ui})
ELSE()
QT5_WRAP_CPP(moc_srcs ${headers_ui})
@@ -21,9 +21,9 @@ SET(INCLUDE_DIRS
${OpenCV_INCLUDE_DIRS}
)
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "4")
+IF(QT4_FOUND)
INCLUDE(${QT_USE_FILE})
-ENDIF()
+ENDIF(QT4_FOUND)
SET(LIBRARIES
@@ -38,9 +38,9 @@ INCLUDE_DIRECTORIES(${INCLUDE_DIRS})
# The extension is automatically found.
ADD_EXECUTABLE(tcpRequest ${SRC_FILES})
TARGET_LINK_LIBRARIES(tcpRequest find_object ${LIBRARIES})
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "5")
+IF(Qt5_FOUND)
QT5_USE_MODULES(tcpRequest Widgets Core Gui Network PrintSupport)
-ENDIF()
+ENDIF(Qt5_FOUND)
SET_TARGET_PROPERTIES( tcpRequest
PROPERTIES OUTPUT_NAME ${PROJECT_PREFIX}-tcpRequest)
diff --git a/tools/tcpService/CMakeLists.txt b/tools/tcpService/CMakeLists.txt
index 8c4b19be..09271ad7 100644
--- a/tools/tcpService/CMakeLists.txt
+++ b/tools/tcpService/CMakeLists.txt
@@ -9,9 +9,9 @@ SET(INCLUDE_DIRS
${OpenCV_INCLUDE_DIRS}
)
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "4")
+IF(QT4_FOUND)
INCLUDE(${QT_USE_FILE})
-ENDIF()
+ENDIF(QT4_FOUND)
SET(LIBRARIES
${OpenCV_LIBS}
@@ -25,9 +25,9 @@ INCLUDE_DIRECTORIES(${INCLUDE_DIRS})
# The extension is automatically found.
ADD_EXECUTABLE(tcpService ${SRC_FILES})
TARGET_LINK_LIBRARIES(tcpService find_object ${LIBRARIES})
-IF("${FINDOBJECT_QT_VERSION}" STREQUAL "5")
+IF(Qt5_FOUND)
QT5_USE_MODULES(tcpService Widgets Core Gui Network PrintSupport)
-ENDIF()
+ENDIF(Qt5_FOUND)
SET_TARGET_PROPERTIES( tcpService
PROPERTIES OUTPUT_NAME ${PROJECT_PREFIX}-tcpService)