diff --git a/debian/patches/0002-Use-pkg-config-to-retrieve-dependencies.patch b/debian/patches/0002-Use-pkg-config-to-retrieve-dependencies.patch new file mode 100644 index 0000000000000000000000000000000000000000..a1cc05487423cfcdfbacb763604a6dc36af604d0 --- /dev/null +++ b/debian/patches/0002-Use-pkg-config-to-retrieve-dependencies.patch @@ -0,0 +1,392 @@ +From: Thomas Moulard <thomas.moulard@gmail.com> +Date: Tue, 16 Apr 2013 13:53:11 +0900 +Subject: Use pkg-config to retrieve dependencies. + +First attempt to fix [15587] visp-config conflicts with multiarch +support on Debian by providing visp.pc file + +Origin: upstream, https://gforge.inria.fr/scm/viewvc.php?view=rev&root=visp&revision=4203 +Bug: https://gforge.inria.fr/tracker/index.php?func=detail&aid=15587&group_id=397&atid=1867 +Author: Fabien Spindler +--- + CMakeLists.txt | 20 ------ + CMakeModules/GenerateConfigScript.cmake | 118 +++++++++++++++++++++++++------ + CMakeModules/visp-config.in | 4 +- + CMakeModules/visp-config.install.in | 103 +++++++++++++++++++++++++++ + CMakeModules/visp.pc.in | 14 ++++ + 5 files changed, 215 insertions(+), 44 deletions(-) + create mode 100644 CMakeModules/visp-config.install.in + create mode 100644 CMakeModules/visp.pc.in + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e762c6f..fdcb0b0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1898,26 +1898,6 @@ ENDIF() + INCLUDE(${VISP_CMAKE_MODULE_PATH}/GenerateConfigScript.cmake) + + #---------------------------------------------------------------------- +-# customize install target +-#---------------------------------------------------------------------- +-# install rule for visp-config shell script +-IF (UNIX) +- INSTALL(FILES ${BINARY_OUTPUT_PATH}/visp-config +- DESTINATION ${CMAKE_INSTALL_BINDIR} +- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ +- OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE +- OWNER_WRITE +- COMPONENT libraries) +-ELSE(UNIX) +- INSTALL(FILES ${BINARY_OUTPUT_PATH}/visp-config.bat +- DESTINATION ${CMAKE_INSTALL_BINDIR} +- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ +- OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE +- OWNER_WRITE +- COMPONENT libraries) +-ENDIF (UNIX) +- +-#---------------------------------------------------------------------- + # add distclean target + #---------------------------------------------------------------------- + INCLUDE(${VISP_CMAKE_MODULE_PATH}/TargetDistclean.cmake) +diff --git a/CMakeModules/GenerateConfigScript.cmake b/CMakeModules/GenerateConfigScript.cmake +index cdcdf78..25056c6 100644 +--- a/CMakeModules/GenerateConfigScript.cmake ++++ b/CMakeModules/GenerateConfigScript.cmake +@@ -31,8 +31,12 @@ + # WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + # + # Description: +-# This file generates the ViSP library config shell script: "visp-config" +-# from visp-config.in (in VISP_SOURCE_DIR). ++# This file generates the ViSP library config shell scripts: ++# - visp-config in <build dir>/bin from visp-config.in ++# - visp-config in <build dir>/install from visp-config.install.in ++# When make install, this file is copied in <install dir>/bin ++# - visp.pc in <build dir>/install from visp.pc.in ++# When make install, this file is copied in <install dir>/lib/pkgconfig + # + # Authors: + # Fabien Spindler +@@ -48,33 +52,38 @@ IF (UNIX) + ####################################################################### + SET(FILE_VISP_CONFIG_SCRIPT_IN "${VISP_SOURCE_DIR}/CMakeModules/visp-config.in") + SET(FILE_VISP_CONFIG_SCRIPT "${BINARY_OUTPUT_PATH}/visp-config") ++ ++ SET(FILE_VISP_CONFIG_SCRIPT_INSTALL_IN "${VISP_SOURCE_DIR}/CMakeModules/visp-config.install.in") ++ SET(FILE_VISP_CONFIG_SCRIPT_INSTALL "${VISP_BINARY_DIR}/install/visp-config") + ++ SET(FILE_VISP_CONFIG_PC_INSTALL_IN "${VISP_SOURCE_DIR}/CMakeModules/visp.pc.in") ++ SET(FILE_VISP_CONFIG_PC_INSTALL "${VISP_BINARY_DIR}/install/visp.pc") ++ + #--------------------------------------------------------------------- + # Updates VISP_CONFIG_SCRIPT_PREFIX + #---------------------------------------------------------------------- + SET(VISP_CONFIG_SCRIPT_PREFIX "${CMAKE_INSTALL_PREFIX}") + + #--------------------------------------------------------------------- +- # Updates VISP_CONFIG_SCRIPT_CFLAGS ++ # Updates VISP_CONFIG_CFLAGS + #---------------------------------------------------------------------- +- SET(VISP_CONFIG_SCRIPT_CFLAGS ${VISP_OPENMP_FLAGS}) +- LIST(APPEND VISP_CONFIG_SCRIPT_CFLAGS "${VISP_DEFS}") +- LIST(APPEND VISP_CONFIG_SCRIPT_CFLAGS "-I$PREFIX/${CMAKE_INSTALL_INCLUDEDIR}") ++ SET(VISP_CONFIG_CFLAGS ${VISP_OPENMP_FLAGS}) ++ LIST(APPEND VISP_CONFIG_CFLAGS "${VISP_DEFS}") + + FOREACH(INCDIR ${VISP_EXTERN_INCLUDE_DIRS}) +- LIST(APPEND VISP_CONFIG_SCRIPT_CFLAGS "-I${INCDIR}") ++ LIST(APPEND VISP_CONFIG_CFLAGS "-I${INCDIR}") + ENDFOREACH(INCDIR) + + # Suppress twins +- LIST(REMOVE_DUPLICATES VISP_CONFIG_SCRIPT_CFLAGS) ++ LIST(REMOVE_DUPLICATES VISP_CONFIG_CFLAGS) + + # Format the string to suppress CMake separators ";" +- SET(VISP_CONFIG_SCRIPT_CFLAGS_REFORMATED "") +- FOREACH(element ${VISP_CONFIG_SCRIPT_CFLAGS}) +- SET(VISP_CONFIG_SCRIPT_CFLAGS_REFORMATED "${VISP_CONFIG_SCRIPT_CFLAGS_REFORMATED} ${element}") ++ SET(VISP_CONFIG_CFLAGS_REFORMATED "") ++ FOREACH(element ${VISP_CONFIG_CFLAGS}) ++ SET(VISP_CONFIG_CFLAGS_REFORMATED "${VISP_CONFIG_CFLAGS_REFORMATED} ${element}") + ENDFOREACH(element) +- SET(VISP_CONFIG_SCRIPT_CFLAGS ${VISP_CONFIG_SCRIPT_CFLAGS_REFORMATED}) +-# MESSAGE(": ${VISP_CONFIG_SCRIPT_CFLAGS}") ++ SET(VISP_CONFIG_CFLAGS ${VISP_CONFIG_CFLAGS_REFORMATED}) ++# MESSAGE(": ${VISP_CONFIG_CFLAGS}") + + + IF(BUILD_TEST_COVERAGE) +@@ -83,12 +92,12 @@ IF (UNIX) + # Because using -fprofile-arcs with shared lib can cause problems like: + # hidden symbol `__bb_init_func', we add this option only for static + # library build +- SET(VISP_CONFIG_SCRIPT_CFLAGS "${VISP_CONFIG_SCRIPT_CFLAGS} -ftest-coverage -fprofile-arcs") ++ SET(VISP_CONFIG_CFLAGS "${VISP_CONFIG_CFLAGS} -ftest-coverage -fprofile-arcs") + ENDIF(BUILD_TEST_COVERAGE) + + + #--------------------------------------------------------------------- +- # Updates VISP_CONFIG_SCRIPT_EXTERN_LIBS ++ # Updates VISP_CONFIG_LIBS + # + # add "-l" to library names + # skip *.so, *.a, *.dylib, -framework*, -l* +@@ -104,7 +113,7 @@ IF (UNIX) + #MESSAGE("VISP_CONFIG_SCRIPT_TMP_LDFLAGS: ${VISP_CONFIG_SCRIPT_TMP_LDFLAGS}") + # convert semicolon-separated vector to space-separated string + FOREACH(val ${VISP_CONFIG_SCRIPT_TMP_LDFLAGS}) +- SET(VISP_CONFIG_SCRIPT_EXTERN_LIBS "${VISP_CONFIG_SCRIPT_EXTERN_LIBS} ${val}") ++ SET(VISP_CONFIG_LIBS "${VISP_CONFIG_LIBS} ${val}") + ENDFOREACH(val) + + # Manage the libs +@@ -137,16 +146,25 @@ IF (UNIX) + ENDFOREACH(lib) + + FOREACH(val ${TMP_LIBS}) +- SET(VISP_CONFIG_SCRIPT_EXTERN_LIBS "${VISP_CONFIG_SCRIPT_EXTERN_LIBS} ${val}") ++ SET(VISP_CONFIG_LIBS "${VISP_CONFIG_LIBS} ${val}") + ENDFOREACH(val) + +- #MESSAGE("EXTERN LIBS : ${VISP_CONFIG_SCRIPT_EXTERN_LIBS}") ++ #MESSAGE("EXTERN LIBS : ${VISP_CONFIG_LIBS}") + ++ #--------------------------------------------------------------------- ++ # Updates the <build dir>/bin/visp-config shell script ++ # Updates VISP_CONFIG_LIBS_SCRIPT (for visp-config) ++ # Updates VISP_CONFIG_CFLAGS_SCRIPT (for visp-config) ++ #---------------------------------------------------------------------- ++ ++ # prepend with ViSP own include dir ++ set(VISP_CONFIG_CFLAGS_SCRIPT "-I$PREFIX/${CMAKE_INSTALL_INCLUDEDIR} ${VISP_CONFIG_CFLAGS}") ++ + # prepend with ViSP own lib dir +- SET(VISP_CONFIG_SCRIPT_EXTERN_LIBS "-L$PREFIX/${CMAKE_INSTALL_LIBDIR} -l${VISP_INTERN_LIBRARY} ${VISP_CONFIG_SCRIPT_EXTERN_LIBS}") ++ SET(VISP_CONFIG_LIBS_SCRIPT "-L$PREFIX/${CMAKE_INSTALL_LIBDIR} -l${VISP_INTERN_LIBRARY} ${VISP_CONFIG_LIBS}") + IF(UNIX) + IF(NOT APPLE) +- SET(VISP_CONFIG_SCRIPT_EXTERN_LIBS "-Wl,-rpath,$PREFIX/${CMAKE_INSTALL_LIBDIR} ${VISP_CONFIG_SCRIPT_EXTERN_LIBS}") ++ SET(VISP_CONFIG_LIBS_SCRIPT "-Wl,-rpath,$PREFIX/${CMAKE_INSTALL_LIBDIR} ${VISP_CONFIG_LIBS_SCRIPT}") + ENDIF(NOT APPLE) + ENDIF(UNIX) + +@@ -158,10 +176,34 @@ IF (UNIX) + SET(VISP_ECHO_NO_NEWLINE_OPTION "-n") + ENDIF(APPLE) + ++ CONFIGURE_FILE(${FILE_VISP_CONFIG_SCRIPT_IN} ${FILE_VISP_CONFIG_SCRIPT}) ++ + #--------------------------------------------------------------------- +- # Updates the visp-config shell script ++ # Updates the <build dir>/install/visp-config shell script + #---------------------------------------------------------------------- +- CONFIGURE_FILE(${FILE_VISP_CONFIG_SCRIPT_IN} ${FILE_VISP_CONFIG_SCRIPT}) ++ ++ CONFIGURE_FILE(${FILE_VISP_CONFIG_SCRIPT_INSTALL_IN} ${FILE_VISP_CONFIG_SCRIPT_INSTALL}) ++ ++ #--------------------------------------------------------------------- ++ # Updates the <build dir>/install/visp.pc pkg-config file ++ # Updates VISP_CONFIG_CFLAGS_PC (for libvisp.pc used by pkg-config) ++ # Updates VISP_CONFIG_LIBS_PC (for libvisp.pc used by pkg-config) ++ #---------------------------------------------------------------------- ++ set(exec_prefix "\${prefix}") ++ set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") ++ set(libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}") ++ ++ # prepend with ViSP own include dir ++ set(VISP_CONFIG_CFLAGS_PC "-I\${includedir} ${VISP_CONFIG_CFLAGS}") ++ ++ # prepend with ViSP own lib dir ++ SET(VISP_CONFIG_LIBS_PC "-L\${libdir} -l${VISP_INTERN_LIBRARY} ${VISP_CONFIG_LIBS}") ++ IF(UNIX) ++ IF(NOT APPLE) ++ SET(VISP_CONFIG_LIBS_PC "-Wl,-rpath,\${libdir} ${VISP_CONFIG_LIBS_PC}") ++ ENDIF(NOT APPLE) ++ ENDIF(UNIX) ++ CONFIGURE_FILE(${FILE_VISP_CONFIG_PC_INSTALL_IN} ${FILE_VISP_CONFIG_PC_INSTALL}) + + ELSE(UNIX) + ####################################################################### +@@ -309,3 +351,35 @@ ELSE(UNIX) + CONFIGURE_FILE(${FILE_VISP_CONFIG_SCRIPT_IN} ${FILE_VISP_CONFIG_SCRIPT}) + ENDIF(UNIX) + ++#---------------------------------------------------------------------- ++# customize install target ++#---------------------------------------------------------------------- ++# install rule for visp-config shell script ++IF (UNIX) ++ INSTALL(FILES ${FILE_VISP_CONFIG_SCRIPT_INSTALL} ++ DESTINATION ${CMAKE_INSTALL_BINDIR} ++ PERMISSIONS OWNER_READ GROUP_READ WORLD_READ ++ OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE ++ OWNER_WRITE ++ COMPONENT libraries) ++ELSE(UNIX) ++ INSTALL(FILES ${BINARY_OUTPUT_PATH}/visp-config.bat ++ DESTINATION ${CMAKE_INSTALL_BINDIR} ++ PERMISSIONS OWNER_READ GROUP_READ WORLD_READ ++ OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE ++ OWNER_WRITE ++ COMPONENT libraries) ++ENDIF (UNIX) ++# install rule for visp.pc pkg-config file ++IF (UNIX) ++ INSTALL(FILES ${FILE_VISP_CONFIG_PC_INSTALL} ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig ++ PERMISSIONS OWNER_READ GROUP_READ WORLD_READ ++ OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE ++ OWNER_WRITE ++ COMPONENT libraries) ++ELSE(UNIX) ++ # not implemented yet ++ENDIF (UNIX) ++ ++ +diff --git a/CMakeModules/visp-config.in b/CMakeModules/visp-config.in +index 8a54027..3a45e08 100755 +--- a/CMakeModules/visp-config.in ++++ b/CMakeModules/visp-config.in +@@ -47,9 +47,9 @@ relpath=`(cd $relpath/..; pwd)` + + PREFIX=$relpath + +-CFLAGS="${VISP_CONFIG_SCRIPT_CFLAGS}" ++CFLAGS="${VISP_CONFIG_CFLAGS_SCRIPT}" + +-LIBS="${VISP_CONFIG_SCRIPT_EXTERN_LIBS}" ++LIBS="${VISP_CONFIG_LIBS_SCRIPT}" + + VERSION="${VISP_VERSION}" + +diff --git a/CMakeModules/visp-config.install.in b/CMakeModules/visp-config.install.in +new file mode 100644 +index 0000000..88504df +--- /dev/null ++++ b/CMakeModules/visp-config.install.in +@@ -0,0 +1,103 @@ ++#!/bin/sh ++ ++############################################################################# ++# ++# $Id: visp-config.in 4057 2013-01-05 13:10:29Z fspindle $ ++# ++# This file is part of the ViSP software. ++# Copyright (C) 2005 - 2013 by INRIA. All rights reserved. ++# ++# This software is free software; you can redistribute it and/or ++# modify it under the terms of the GNU General Public License ++# ("GPL") version 2 as published by the Free Software Foundation. ++# See the file LICENSE.txt at the root directory of this source ++# distribution for additional information about the GNU GPL. ++# ++# For using ViSP with software that can not be combined with the GNU ++# GPL, please contact INRIA about acquiring a ViSP Professional ++# Edition License. ++# ++# See http://www.irisa.fr/lagadic/visp/visp.html for more information. ++# ++# This software was developed at: ++# INRIA Rennes - Bretagne Atlantique ++# Campus Universitaire de Beaulieu ++# 35042 Rennes Cedex ++# France ++# http://www.irisa.fr/lagadic ++# ++# If you have questions regarding the use of this file, please contact ++# INRIA at visp@inria.fr ++# ++# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ++# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ++# ++# Description: ++# visp-config shell script. ++# Auto-generated from visp-config.install.in by cmake. For backward ++# compatibility used visp.pc. ++# ++# Authors: ++# Fabien Spindler ++# ++############################################################################# ++ ++ ++relpath=`dirname $0` ++relpath=`(cd $relpath/..; pwd)` ++ ++PREFIX=$relpath ++ ++CFLAGS_CMD=`pkg-config --cflags visp` ++CFLAGS=$CFLAGS_CMD ++ ++LIBS_CMD=`pkg-config --libs visp` ++LIBS=$LIBS_CMD ++ ++VERSION_CMD=`pkg-config --modversion visp` ++VERSION=$VERSION_CMD ++ ++NO_NEWLINE_CHARACTER="${VISP_ECHO_NO_NEWLINE_CHARACTER}" ++NO_NEWLINE_OPTION="${VISP_ECHO_NO_NEWLINE_OPTION}" ++ ++usage() ++{ ++ cat <<EOF ++ ++ViSP $VERSION (Visual Servoing Platform) ++Copyright (C) 2005 - 2013 Inria. All rights reserved. ++ ++Usage: $0 [--prefix] [--cflags] [--libs] [--version] [--dumpversion] [--help] ++ ++ --prefix Show ViSP installation prefix. ++ --cflags Print pre-processor and compiler flags including ++ third party includes we depend on. ++ --libs Print library linking information with ViSP ++ including third party libraries we depend on. ++ --version Output ViSP information. ++ --dumpversion Output ViSP version information. ++ --help Display this help and exit. ++ ++EOF ++ exit $1 ++} ++ ++if ! test "$1"; then ++ usage; ++ exit -1; ++fi; ++ ++for arg in $@; do ++ case $arg in ++ --prefix) echo $NO_NEWLINE_OPTION "$PREFIX$NO_NEWLINE_CHARACTER";; ++ --cflags) echo $NO_NEWLINE_OPTION "$CFLAGS$NO_NEWLINE_CHARACTER";; ++ --libs) echo $NO_NEWLINE_OPTION "$LIBS$NO_NEWLINE_CHARACTER";; ++ --version) ++ echo "ViSP $VERSION (Visual Servoing Platform)" ++ echo "" ++ echo "Copyright (C) 2005 - 2013 Inria. All rights reserved.";; ++ --dumpversion) echo $NO_NEWLINE_OPTION "$VERSION$NO_NEWLINE_CHARACTER";; ++ *) usage; exit -1 ;; ++ esac; ++done; ++echo "" +diff --git a/CMakeModules/visp.pc.in b/CMakeModules/visp.pc.in +new file mode 100644 +index 0000000..93ab39c +--- /dev/null ++++ b/CMakeModules/visp.pc.in +@@ -0,0 +1,14 @@ ++# Package Information for pkg-config ++ ++prefix=${CMAKE_INSTALL_PREFIX} ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: ViSP ++Description: Visual Servoing Platform ++URL: http://www.irisa.fr/lagadic/visp ++Version: ${VISP_VERSION} ++Libs: ${VISP_CONFIG_LIBS_PC} ++ ++Cflags: ${VISP_CONFIG_CFLAGS_PC} diff --git a/debian/patches/series b/debian/patches/series index 13d39292de42705f710765cc408351b19be1506b..5cd7c04a7b60211e25f61560482d30bbe808f81b 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ 0001-Fix-library-soversion.patch +0002-Use-pkg-config-to-retrieve-dependencies.patch