Skip to content
Snippets Groups Projects
Commit a263c335 authored by Cyril Roussillon's avatar Cyril Roussillon
Browse files

[wip/jafar-rtslam] Try to fix optional dependencies

parent 849bdf49
No related branches found
No related tags found
No related merge requests found
......@@ -13,19 +13,71 @@ USE_PKGLOCALEDIR= yes
CMAKE_ARGS+= -DBOOST_INCLUDEDIR=${PREFIX.boost-headers}/include
CMAKE_ARGS+= -DBOOST_LIBDIR=${PREFIX.boost-libs}/include
CMAKE_ARGS+= -DCMAKE_MODULE_PATH=.
# because the package generation is buggy, it declares JAFAR_NDEBUG instead
CPPFLAGS += -DJFR_NDEBUG
CXXFLAGS += -pthread
PKG_SUPPORTED_OPTIONS+= POSTERLIB
PKG_OPTION_DESCR.POSTERLIB= Enable POSTERLIB support.
define PKG_OPTION_SET.POSTERLIB
PKG_SUPPORTED_OPTIONS+= posterlib
PKG_OPTION_DESCR.posterlib= Enable posterLib support.
define PKG_OPTION_SET.posterlib
CMAKE_ARGS+= -DHAVE_POSTERLIB=ON
CPPFLAGS+= -DHAVE_POSTERLIB
include ../../middleware/pocolibs/depend.mk
endef
define PKG_OPTION_UNSET.POSTERLIB
define PKG_OPTION_UNSET.posterlib
CMAKE_ARGS+= -DHAVE_POSTERLIB=OFF
endef
PKG_SUPPORTED_OPTIONS+= viam
PKG_OPTION_DESCR.viam= Enable viam support.
define PKG_OPTION_SET.viam
CMAKE_ARGS+= -DHAVE_VIAM=ON
CPPFLAGS+= -DHAVE_VIAM
include ../../image/viam-libs/depend.mk
REQD_BUILD_OPTIONS.viam-libs+=opencv
include ../../image/opencv/depend.mk
endef
define PKG_OPTION_UNSET.viam
CMAKE_ARGS+= -DHAVE_VIAM=OFF
endef
PKG_SUPPORTED_OPTIONS+= MTI
PKG_OPTION_DESCR.MTI= Enable MTI support.
define PKG_OPTION_SET.MTI
CMAKE_ARGS+= -DHAVE_MTI=ON
CPPFLAGS+= -DHAVE_MTI
include ../../hardware/MTI/depend.mk
endef
define PKG_OPTION_UNSET.MTI
CMAKE_ARGS+= -DHAVE_MTI=OFF
endef
PKG_SUPPORTED_OPTIONS+= qdisplay
PKG_OPTION_DESCR.qdisplay = Enable jafar module qdisplay support for 2D display
define PKG_OPTION_SET.qdisplay
CPPFLAGS+=-DHAVE_MODULE_QDISPLAY
include ../../wip/jafar-qdisplay/depend.mk
endef
PKG_SUPPORTED_OPTIONS+= gdhe
PKG_OPTION_DESCR.gdhe = Enable jafar module gdhe support for 3D display
define PKG_OPTION_SET.gdhe
CPPFLAGS+=-DHAVE_MODULE_GDHE
include ../../wip/jafar-gdhe/depend.mk
include ../../graphics/gdhe/depend.mk
endef
PKG_SUPPORTED_OPTIONS+= dseg
PKG_OPTION_DESCR.dseg= Enable jafar module dseg support for segments
define PKG_OPTION_SET.dseg
CPPFLAGS+= -DHAVE_MODULE_DSEG
include ../../wip/jafar-dseg/depend.mk
endef
include ../../wip/jafar-kernel/depend.mk
include ../../wip/jafar-image/depend.mk
include ../../wip/jafar-jmath/depend.mk
......
@comment Wed Jun 15 22:56:38 CEST 2011
@comment Sun Jun 19 01:14:33 CEST 2011
include/jafar/rtslam/activeSearch.hpp
include/jafar/rtslam/activeSearch.hpp~
include/jafar/rtslam/activeSegmentSearch.hpp
......
SHA1 (jafar-rtslam-0.1.tar.gz) = 7fe191796cfd6709a52b34da919813948ed811d9
RMD160 (jafar-rtslam-0.1.tar.gz) = 5f34f41ca99b9ce06c10e3f8dc6a7618e83a2dd2
Size (jafar-rtslam-0.1.tar.gz) = 2009925 bytes
SHA1 (jafar-rtslam-0.1.tar.gz) = d6f0cc5f1942d77d392502b00cb9793fc7813208
RMD160 (jafar-rtslam-0.1.tar.gz) = 501399ae73f2fb94b5fd864f0fe6470e1607db00
Size (jafar-rtslam-0.1.tar.gz) = 2994279 bytes
SHA1 (patch-bb) = c5199acd272c3bf7752f0fe3677268890572cfc9
SHA1 (patch-dd) = 221f7f12ad48def2e3f55ef0f696cdcaf6a19f78
SHA1 (patch-ee) = 2b79b15318ff326db3339afab63469d9334362fe
diff -Nu FindQt4.cmake FindQt4.cmake
--- FindQt4.cmake 2011-04-08 12:28:39.000000000 +0200
+++ FindQt4.cmake 2011-06-18 23:37:33.000000000 +0200
@@ -300,7 +300,7 @@
INCLUDE(CheckSymbolExists)
INCLUDE(MacroAddFileDependencies)
-SET(QT_USE_FILE ${Jafar_SOURCE_DIR}/tools/cmake/UseQt4.cmake)
+SET(QT_USE_FILE UseQt4.cmake)
SET( QT_DEFINITIONS "")
diff -Nu UseQt4.cmake UseQt4.cmake
--- UseQt4.cmake 1970-01-01 01:00:00.000000000 +0100
+++ UseQt4.cmake 2011-06-18 23:36:49.000000000 +0200
@@ -0,0 +1,96 @@
+# - Use Module for QT4
+# Sets up C and C++ to use Qt 4. It is assumed that FindQt.cmake
+# has already been loaded. See FindQt.cmake for information on
+# how to load Qt 4 into your CMake project.
+
+#=============================================================================
+# Copyright 2005-2009 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+ADD_DEFINITIONS(${QT_DEFINITIONS})
+SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG QT_DEBUG)
+SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE QT_NO_DEBUG)
+SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELWITHDEBINFO QT_NO_DEBUG)
+SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_MINSIZEREL QT_NO_DEBUG)
+
+INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR})
+
+SET(QT_LIBRARIES "")
+
+IF (QT_USE_QTMAIN)
+ IF (Q_WS_WIN)
+ SET(QT_LIBRARIES ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY})
+ ENDIF (Q_WS_WIN)
+ENDIF (QT_USE_QTMAIN)
+
+IF(QT_DONT_USE_QTGUI)
+ SET(QT_USE_QTGUI 0)
+ELSE(QT_DONT_USE_QTGUI)
+ SET(QT_USE_QTGUI 1)
+ENDIF(QT_DONT_USE_QTGUI)
+
+IF(QT_DONT_USE_QTCORE)
+ SET(QT_USE_QTCORE 0)
+ELSE(QT_DONT_USE_QTCORE)
+ SET(QT_USE_QTCORE 1)
+ENDIF(QT_DONT_USE_QTCORE)
+
+IF (QT_USE_QT3SUPPORT)
+ ADD_DEFINITIONS(-DQT3_SUPPORT)
+ENDIF (QT_USE_QT3SUPPORT)
+
+# list dependent modules, so dependent libraries are added
+SET(QT_QT3SUPPORT_MODULE_DEPENDS QTGUI QTSQL QTXML QTNETWORK QTCORE)
+SET(QT_QTSVG_MODULE_DEPENDS QTGUI QTXML QTCORE)
+SET(QT_QTUITOOLS_MODULE_DEPENDS QTGUI QTXML QTCORE)
+SET(QT_QTHELP_MODULE_DEPENDS QTGUI QTSQL QTXML QTNETWORK QTCORE)
+IF(QT_QTDBUS_FOUND)
+ SET(QT_PHONON_MODULE_DEPENDS QTGUI QTDBUS QTCORE)
+ELSE(QT_QTDBUS_FOUND)
+ SET(QT_PHONON_MODULE_DEPENDS QTGUI QTCORE)
+ENDIF(QT_QTDBUS_FOUND)
+SET(QT_QTDBUS_MODULE_DEPENDS QTXML QTCORE)
+SET(QT_QTXMLPATTERNS_MODULE_DEPENDS QTNETWORK QTCORE)
+SET(QT_QAXCONTAINER_MODULE_DEPENDS QTGUI QTCORE)
+SET(QT_QAXSERVER_MODULE_DEPENDS QTGUI QTCORE)
+SET(QT_QTSCRIPTTOOLS_MODULE_DEPENDS QTGUI QTCORE)
+SET(QT_QTWEBKIT_MODULE_DEPENDS QTXMLPATTERNS QTGUI QTCORE)
+SET(QT_QTDECLARATIVE_MODULE_DEPENDS QTWEBKIT QTSCRIPT QTSVG QTSQL QTXMLPATTERNS QTXML QTOPENGL QTGUI QTNETWORK QTCORE)
+SET(QT_QTMULTIMEDIA_MODULE_DEPENDS QTGUI QTCORE)
+
+# Qt modules (in order of dependence)
+FOREACH(module QT3SUPPORT QTOPENGL QTASSISTANT QTDESIGNER QTMOTIF QTNSPLUGIN
+ QAXSERVER QAXCONTAINER QTDECLARATIVE QTSCRIPT QTSVG QTUITOOLS QTHELP
+ QTWEBKIT PHONON QTSCRIPTTOOLS QTMULTIMEDIA QTGUI QTTEST QTDBUS QTXML QTSQL
+ QTXMLPATTERNS QTNETWORK QTCORE)
+
+ IF (QT_USE_${module} OR QT_USE_${module}_DEPENDS)
+ IF (Qt4_${module}_FOUND)
+ IF(QT_USE_${module})
+ STRING(REPLACE "QT" "" qt_module_def "${module}")
+ ADD_DEFINITIONS(-DQT_${qt_module_def}_LIB)
+ INCLUDE_DIRECTORIES(${QT_${module}_INCLUDE_DIR})
+ ENDIF(QT_USE_${module})
+ SET(QT_LIBRARIES ${QT_LIBRARIES} ${Qt4_${module}_LIBRARY})
+ IF(QT_IS_STATIC)
+ SET(QT_LIBRARIES ${QT_LIBRARIES} ${Qt4_${module}_LIB_DEPENDENCIES})
+ ENDIF(QT_IS_STATIC)
+ FOREACH(depend_module ${QT_${module}_MODULE_DEPENDS})
+ SET(QT_USE_${depend_module}_DEPENDS 1)
+ ENDFOREACH(depend_module ${QT_${module}_MODULE_DEPENDS})
+ ELSE (Qt4_${module}_FOUND)
+ MESSAGE("Qt ${module} library not found.")
+ ENDIF (Qt4_${module}_FOUND)
+ ENDIF (QT_USE_${module} OR QT_USE_${module}_DEPENDS)
+
+ENDFOREACH(module)
+
diff -u CMakeLists.txt CMakeLists.txt
--- CMakeLists.txt 2011-06-19 00:34:10.000000000 +0200
+++ CMakeLists.txt 2011-06-19 00:56:10.000000000 +0200
@@ -75,7 +75,7 @@
#-----------------------------------------------------------------------------
# Go find them
#-----------------------------------------------------------------------------
-foreach(package GDHE VIAM POSTERLIB OpenCV)
+foreach(package GDHE VIAM POSTERLIB)
find_robots_package("${package}")
string(TOUPPER "HAVE_${package}" HAVE_PACKAGE)
string(TOUPPER "${package}_FOUND" PACKAGE_FOUND)
@@ -89,6 +89,28 @@
endif(${PACKAGE_FOUND})
endforeach(package)
+###
+# PkgConfig
+###
+include(FindPkgConfig)
+
+###
+# OpenCV
+###
+#include(FindOpenCV)
+#find_package(OpenCV)
+pkg_check_modules(OpenCV opencv)
+set(HAVE_OPENCV ${OpenCV_FOUND})
+set(OPENCV_FOUND ${OpenCV_FOUND})
+if(OpenCV_FOUND)
+ include_directories(${OpenCV_INCLUDE_DIRS})
+ link_directories(${OpenCV_LIBRARY_DIRS})
+ set(LIBS ${LIBS} ${OpenCV_LIBRARIES})
+ message(STATUS "version ${OpenCV_VERSION}")
+ set(LIBS_MAP_OPENCV "OpenCV")
+endif(OpenCV_FOUND)
+set(ROBOTPKG_MAP_OPENCV "image/opencv")
+
#-----------------------------------------------------------------------------
# Check for Boost
--- CMakeLists.txt 2011-06-19 02:21:44.000000000 +0200
+++ CMakeLists.txt 2011-06-19 02:22:44.000000000 +0200
@@ -35,6 +35,55 @@
set(CMAKE_CXX_FLAGS_RELEASE "-o2 -g0 -DNDEBUG -DJAFAR_NDEBUG -DBOOST_UBLAS_NDEBUG")
set(CMAKE_CXX_FLAGS_DEBUG "-o0 -g3 -ggdb")
+#------------------------------------------------------------------------------
+#This macro generates qt special files
+#------------------------------------------------------------------------------
+macro(GENERATE_QT_FILES JAFAR_MODULENAME CPPFLAGS)
+ #include qt specific macros
+ include(${QT_USE_FILE})
+
+MESSAGE(STATUS, "QT_MOC_SRCS: ${QT_MOC_SRCS}")
+ string(TOUPPER "${JAFAR_MODULENAME}_WRAPPED_HEADERS" QTUI_H_SRC)
+ string(TOUPPER "${JAFAR_MODULENAME}_WRAPPED_CPPS" QT_MOC_SRCS)
+
+ #generate headers from ui files
+ file(GLOB UI_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.ui)
+# QT4_WRAP_UI(${QTUI_H_SRC} ${UI_FILES})
+ foreach(ui_file ${UI_FILES})
+ get_filename_component(generated_header ${ui_file} NAME_WE)
+ set(generated_header ${CMAKE_CURRENT_SOURCE_DIR}/src/${generated_header}.h)
+ execute_process(
+ COMMAND ${QT_UIC_EXECUTABLE} ${ui_file} -o ${generated_header}
+ OUTPUT_FILE ${generated_header}
+ INPUT_FILE ${ui_file}
+ )
+ set(${QTUI_H_SRC} ${${QTUI_H_SRC}} ${generated_header})
+ endforeach(ui_file)
+
+ # generate moc files from headers contining \"Q_OBJECT\"
+ file(GLOB HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/include/${JAFAR_MODULENAME}/*.hpp" "${CMAKE_CURRENT_SOURCE_DIR}/src/*.hpp")
+ foreach(header ${HEADERS})
+ file(STRINGS ${header} Q_OBJECT_STRING REGEX "Q_OBJECT")
+ if(NOT("${Q_OBJECT_STRING}" STREQUAL ""))
+ get_filename_component(generated_moc ${header} NAME_WE)
+ set(generated_moc ${CMAKE_CURRENT_SOURCE_DIR}/src/${generated_moc}.moc)
+
+ set(MYCPPFLAGS "${CPPFLAGS}")
+ string(STRIP "${MYCPPFLAGS}" MYCPPFLAGS)
+ string(REPLACE " " ";" MYCPPFLAGS "${MYCPPFLAGS}")
+ execute_process(
+ COMMAND ${QT_MOC_EXECUTABLE} ${MYCPPFLAGS} ${header} -o ${generated_moc}
+ )
+ set(${QT_MOC_SRCS} ${${QT_MOC_SRCS}} ${generated_moc})
+# QT4_GENERATE_MOC(${header} ${CMAKE_CURRENT_SOURCE_DIR}/src/${HEADER_NAME}.moc)
+ endif(NOT("${Q_OBJECT_STRING}" STREQUAL ""))
+ endforeach(header)
+
+# QT4_WRAP_CPP(${QT_MOC_SRCS} ${HEADERS_TO_MOC})
+
+endmacro(GENERATE_QT_FILES)
+
+
#-----------------------------------------------------------------------------
# Macro to help find other robotpkg modules
#-----------------------------------------------------------------------------
@@ -189,6 +238,8 @@
endforeach(potential_include)
include_directories(${headers_folders})
+generate_qt_files(rtslam "-DHAVE_MODULE_QDISPLAY")
+
# build the library
add_library(jafar-rtslam SHARED ${module_sources})
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment