<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Waxtopia &#187; C++</title>
	<atom:link href="https://waxtopia.fr/category/programmation/c/feed/" rel="self" type="application/rss+xml" />
	<link>https://waxtopia.fr</link>
	<description>ENCORE un blog Wordpress, putain...</description>
	<lastBuildDate>Sat, 25 Jul 2015 18:27:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.39</generator>
	<item>
		<title>OpenCV et CMake sous OSX 10.5</title>
		<link>https://waxtopia.fr/opencv-et-cmake-sous-os-x-10-5/</link>
		<comments>https://waxtopia.fr/opencv-et-cmake-sous-os-x-10-5/#comments</comments>
		<pubDate>Mon, 29 Apr 2013 16:30:41 +0000</pubDate>
		<dc:creator><![CDATA[Blaxar]]></dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[OpenCV]]></category>
		<category><![CDATA[Programmation]]></category>

		<guid isPermaLink="false">http://waxtopia.fr/?p=56</guid>
		<description><![CDATA[Halte là, pas de fausse joie: en dépit du titre, je ne cautionne pas spécialement le développement logiciel dans un environnement Mac OSX, il y a assez de distributions GNU/Linux pour ça. Mais si vous avez un grain ou que vous êtes contraints de bosser sous OSX sur votre lieu de travail (j&#8217;obéis au second [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Halte là, pas de fausse joie: en dépit du titre, je ne cautionne pas spécialement le développement logiciel dans un environnement Mac OSX, il y a assez de distributions GNU/Linux pour ça.</p>
<p>Mais si vous avez un grain ou que vous êtes contraints de bosser sous OSX sur votre lieu de travail (j&#8217;obéis au second cas), il se peut que vous ayez des problèmes avec CMake, enfin plutôt avec certains modules auxquels vous ferez appel.</p>
<p>Là on va surtout parler d&#8217;<strong>OpenCV</strong>, la fameuse libraire pour le traitement et l&#8217;analyse d&#8217;image en C++ installée par le biais de <strong>macports</strong>, l&#8217;initiative opensource pour donner à OSX un gestionnaire de paquets (et de dépendances) un peu à la apt-get/yum/pacman etc&#8230;</p>
<p>Si en général tout s&#8217;installe bien et proprement, quelques détails passent pourtant à la trappe, notamment la mise à disposition d&#8217;un fichier fonctionnel pour trouver le module OpenCV avec CMake: <strong>FindOpenCV.cmake</strong> (respectant la nomenclature <em>FindNomDuModule.cmake</em>).</p>
<p>Considérons que dans notre projet nous avons un dossier <em><strong>cmake-modules/</strong></em> au même niveau que <em><strong>CMakeLists.txt</strong></em>, dans ce dossier se trouvent tous nos <em>FindMachinTruc.cmake</em>, pour trouver les modules nécessaires à la compilation et au linkage du programme.</p>
<p>Prenons les lignes suivantes du dit <em><strong>CMakeLists.txt</strong></em>:</p>
<p><code><br />
PROJECT( mon-projet ) # le nom du projet, ouais !!<br />
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake-modules) # J'inclue un nouveau répertoire dans lequel regarder pour trouver tous mes modules, c'est notre cmake-modules/.<br />
FIND_PACKAGE( OpenCV REQUIRED ) # Ici, je cherche OpenCV.<br />
</code></p>
<p>Si vous voulez le foutu de <em>FindOpenCV.cmake</em> à placer dans votre <em>cmake-modules/</em>, le voici:</p>
<p><code></p>
<p># ===================================================================================<br />
#  The OpenCV CMake configuration file<br />
#<br />
#             ** File generated automatically, do not modify **<br />
#<br />
#  Usage from an external project:<br />
#    In your CMakeLists.txt, add these lines:<br />
#<br />
#    FIND_PACKAGE(OpenCV REQUIRED)<br />
#    TARGET_LINK_LIBRARIES(MY_TARGET_NAME ${OpenCV_LIBS})<br />
#<br />
#    Or you can search for specific OpenCV modules:<br />
#<br />
#    FIND_PACKAGE(OpenCV REQUIRED core highgui)<br />
#<br />
#    If the module is found then OPENCV_&lt;MODULE&gt;_FOUND is set to TRUE.<br />
#<br />
#    This file will define the following variables:<br />
#      - OpenCV_LIBS                     : The list of libraries to links against.<br />
#      - OpenCV_LIB_DIR                  : The directory(es) where lib files are. Calling LINK_DIRECTORIES<br />
#                                          with this path is NOT needed.<br />
#      - OpenCV_INCLUDE_DIRS             : The OpenCV include directories.<br />
#      - OpenCV_COMPUTE_CAPABILITIES     : The version of compute capability<br />
#      - OpenCV_ANDROID_NATIVE_API_LEVEL : Minimum required level of Android API<br />
#      - OpenCV_VERSION                  : The version of this OpenCV build. Example: "2.4.3"<br />
#      - OpenCV_VERSION_MAJOR            : Major version part of OpenCV_VERSION. Example: "2"<br />
#      - OpenCV_VERSION_MINOR            : Minor version part of OpenCV_VERSION. Example: "4"<br />
#      - OpenCV_VERSION_PATCH            : Patch version part of OpenCV_VERSION. Example: "3"<br />
#<br />
#    Advanced variables:<br />
#      - OpenCV_SHARED<br />
#      - OpenCV_CONFIG_PATH<br />
#      - OpenCV_INSTALL_PATH  (not set on Windows)<br />
#      - OpenCV_LIB_COMPONENTS<br />
#      - OpenCV_USE_MANGLED_PATHS<br />
#      - OpenCV_HAVE_ANDROID_CAMERA<br />
#<br />
# ===================================================================================</p>
<p># Version Compute Capability from which OpenCV has been compiled is remembered<br />
set(OpenCV_COMPUTE_CAPABILITIES "")</p>
<p>set(OpenCV_CUDA_VERSION )<br />
set(OpenCV_USE_CUBLAS )<br />
set(OpenCV_USE_CUFFT  )</p>
<p># Android API level from which OpenCV has been compiled is remembered<br />
set(OpenCV_ANDROID_NATIVE_API_LEVEL 0)</p>
<p># Some additional settings are required if OpenCV is built as static libs<br />
set(OpenCV_SHARED ON)</p>
<p># Enables mangled install paths, that help with side by side installs<br />
set(OpenCV_USE_MANGLED_PATHS FALSE)</p>
<p># Extract the directory where *this* file has been installed (determined at cmake run-time)<br />
# get_filename_component(OpenCV_CONFIG_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH CACHE)</p>
<p># EXEC_PROGRAM(locate OpenCVConfig.cmake<br />
#                OUTPUT_VARIABLE OpenCV_TMP_CONFIG_PATH)</p>
<p>set(OpenCV_CONFIG_PATH /opt/local/lib/cmake)</p>
<p>if(NOT WIN32 OR OpenCV_ANDROID_NATIVE_API_LEVEL GREATER 0)<br />
if(OpenCV_ANDROID_NATIVE_API_LEVEL GREATER 0)<br />
set(OpenCV_INSTALL_PATH "${OpenCV_CONFIG_PATH}/../../..")<br />
else()<br />
set(OpenCV_INSTALL_PATH "${OpenCV_CONFIG_PATH}/../..")<br />
endif()<br />
# Get the absolute path with no ../.. relative marks, to eliminate implicit linker warnings<br />
if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_LESS 2.8)<br />
get_filename_component(OpenCV_INSTALL_PATH "${OpenCV_INSTALL_PATH}" ABSOLUTE)<br />
else()<br />
get_filename_component(OpenCV_INSTALL_PATH "${OpenCV_INSTALL_PATH}" REALPATH)<br />
endif()<br />
endif()</p>
<p># Presence of Android native camera wrappers<br />
set(OpenCV_HAVE_ANDROID_CAMERA OFF)</p>
<p># ======================================================<br />
# Include directories to add to the user project:<br />
# ======================================================</p>
<p># Provide the include directories to the caller<br />
set(OpenCV_INCLUDE_DIRS "${OpenCV_INSTALL_PATH}/include/opencv;${OpenCV_INSTALL_PATH}/include")<br />
include_directories(${OpenCV_INCLUDE_DIRS})</p>
<p># ======================================================<br />
# Link directories to add to the user project:<br />
# ======================================================</p>
<p># Provide the libs directories to the caller<br />
set(OpenCV_LIB_DIR_OPT "${OpenCV_INSTALL_PATH}/lib" CACHE PATH "Path where release OpenCV libraries are located")<br />
set(OpenCV_LIB_DIR_DBG "${OpenCV_INSTALL_PATH}/lib" CACHE PATH "Path where debug OpenCV libraries are located")<br />
set(OpenCV_3RDPARTY_LIB_DIR_OPT "${OpenCV_INSTALL_PATH}/share/OpenCV/3rdparty/lib" CACHE PATH "Path where release 3rdpaty OpenCV dependencies are located")<br />
set(OpenCV_3RDPARTY_LIB_DIR_DBG "${OpenCV_INSTALL_PATH}/share/OpenCV/3rdparty/lib" CACHE PATH "Path where debug 3rdpaty OpenCV dependencies are located")<br />
mark_as_advanced(FORCE OpenCV_LIB_DIR_OPT OpenCV_LIB_DIR_DBG OpenCV_3RDPARTY_LIB_DIR_OPT OpenCV_3RDPARTY_LIB_DIR_DBG OpenCV_CONFIG_PATH)</p>
<p># ======================================================<br />
#  Version variables:<br />
# ======================================================<br />
SET(OpenCV_VERSION 2.4.3)<br />
SET(OpenCV_VERSION_MAJOR  2)<br />
SET(OpenCV_VERSION_MINOR  4)<br />
SET(OpenCV_VERSION_PATCH  3)</p>
<p># ====================================================================<br />
# Link libraries: e.g.   libopencv_core.so, opencv_imgproc220d.lib, etc...<br />
# ====================================================================</p>
<p>SET(OpenCV_LIB_COMPONENTS opencv_videostab;opencv_video;opencv_ts;opencv_stitching;opencv_photo;opencv_objdetect;opencv_nonfree;opencv_ml;opencv_legacy;opencv_imgproc;opencv_highgui;opencv_gpu;opencv_flann;opencv_features2d;opencv_core;opencv_contrib;opencv_calib3d)</p>
<p>set(OpenCV_opencv_videostab_LIBNAME_OPT "libopencv_videostab.dylib")<br />
set(OpenCV_opencv_videostab_DEPS_OPT )<br />
set(OpenCV_opencv_videostab_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_video_LIBNAME_OPT "libopencv_video.dylib")<br />
set(OpenCV_opencv_video_DEPS_OPT )<br />
set(OpenCV_opencv_video_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_ts_LIBNAME_OPT "libopencv_ts.dylib")<br />
set(OpenCV_opencv_ts_DEPS_OPT )<br />
set(OpenCV_opencv_ts_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_stitching_LIBNAME_OPT "libopencv_stitching.dylib")<br />
set(OpenCV_opencv_stitching_DEPS_OPT )<br />
set(OpenCV_opencv_stitching_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_photo_LIBNAME_OPT "libopencv_photo.dylib")<br />
set(OpenCV_opencv_photo_DEPS_OPT )<br />
set(OpenCV_opencv_photo_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_objdetect_LIBNAME_OPT "libopencv_objdetect.dylib")<br />
set(OpenCV_opencv_objdetect_DEPS_OPT )<br />
set(OpenCV_opencv_objdetect_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_nonfree_LIBNAME_OPT "libopencv_nonfree.dylib")<br />
set(OpenCV_opencv_nonfree_DEPS_OPT )<br />
set(OpenCV_opencv_nonfree_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_ml_LIBNAME_OPT "libopencv_ml.dylib")<br />
set(OpenCV_opencv_ml_DEPS_OPT )<br />
set(OpenCV_opencv_ml_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_legacy_LIBNAME_OPT "libopencv_legacy.dylib")<br />
set(OpenCV_opencv_legacy_DEPS_OPT )<br />
set(OpenCV_opencv_legacy_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_imgproc_LIBNAME_OPT "libopencv_imgproc.dylib")<br />
set(OpenCV_opencv_imgproc_DEPS_OPT )<br />
set(OpenCV_opencv_imgproc_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_highgui_LIBNAME_OPT "libopencv_highgui.dylib")<br />
set(OpenCV_opencv_highgui_DEPS_OPT )<br />
set(OpenCV_opencv_highgui_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_gpu_LIBNAME_OPT "libopencv_gpu.dylib")<br />
set(OpenCV_opencv_gpu_DEPS_OPT )<br />
set(OpenCV_opencv_gpu_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_flann_LIBNAME_OPT "libopencv_flann.dylib")<br />
set(OpenCV_opencv_flann_DEPS_OPT )<br />
set(OpenCV_opencv_flann_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_features2d_LIBNAME_OPT "libopencv_features2d.dylib")<br />
set(OpenCV_opencv_features2d_DEPS_OPT )<br />
set(OpenCV_opencv_features2d_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_core_LIBNAME_OPT "libopencv_core.dylib")<br />
set(OpenCV_opencv_core_DEPS_OPT )<br />
set(OpenCV_opencv_core_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_contrib_LIBNAME_OPT "libopencv_contrib.dylib")<br />
set(OpenCV_opencv_contrib_DEPS_OPT )<br />
set(OpenCV_opencv_contrib_EXTRA_DEPS_OPT )<br />
set(OpenCV_opencv_calib3d_LIBNAME_OPT "libopencv_calib3d.dylib")<br />
set(OpenCV_opencv_calib3d_DEPS_OPT )<br />
set(OpenCV_opencv_calib3d_EXTRA_DEPS_OPT )</p>
<p>set(OpenCV_opencv_videostab_LIBNAME_DBG "libopencv_videostab.dylib")<br />
set(OpenCV_opencv_videostab_DEPS_DBG )<br />
set(OpenCV_opencv_videostab_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_video_LIBNAME_DBG "libopencv_video.dylib")<br />
set(OpenCV_opencv_video_DEPS_DBG )<br />
set(OpenCV_opencv_video_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_ts_LIBNAME_DBG "libopencv_ts.dylib")<br />
set(OpenCV_opencv_ts_DEPS_DBG )<br />
set(OpenCV_opencv_ts_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_stitching_LIBNAME_DBG "libopencv_stitching.dylib")<br />
set(OpenCV_opencv_stitching_DEPS_DBG )<br />
set(OpenCV_opencv_stitching_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_photo_LIBNAME_DBG "libopencv_photo.dylib")<br />
set(OpenCV_opencv_photo_DEPS_DBG )<br />
set(OpenCV_opencv_photo_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_objdetect_LIBNAME_DBG "libopencv_objdetect.dylib")<br />
set(OpenCV_opencv_objdetect_DEPS_DBG )<br />
set(OpenCV_opencv_objdetect_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_nonfree_LIBNAME_DBG "libopencv_nonfree.dylib")<br />
set(OpenCV_opencv_nonfree_DEPS_DBG )<br />
set(OpenCV_opencv_nonfree_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_ml_LIBNAME_DBG "libopencv_ml.dylib")<br />
set(OpenCV_opencv_ml_DEPS_DBG )<br />
set(OpenCV_opencv_ml_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_legacy_LIBNAME_DBG "libopencv_legacy.dylib")<br />
set(OpenCV_opencv_legacy_DEPS_DBG )<br />
set(OpenCV_opencv_legacy_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_imgproc_LIBNAME_DBG "libopencv_imgproc.dylib")<br />
set(OpenCV_opencv_imgproc_DEPS_DBG )<br />
set(OpenCV_opencv_imgproc_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_highgui_LIBNAME_DBG "libopencv_highgui.dylib")<br />
set(OpenCV_opencv_highgui_DEPS_DBG )<br />
set(OpenCV_opencv_highgui_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_gpu_LIBNAME_DBG "libopencv_gpu.dylib")<br />
set(OpenCV_opencv_gpu_DEPS_DBG )<br />
set(OpenCV_opencv_gpu_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_flann_LIBNAME_DBG "libopencv_flann.dylib")<br />
set(OpenCV_opencv_flann_DEPS_DBG )<br />
set(OpenCV_opencv_flann_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_features2d_LIBNAME_DBG "libopencv_features2d.dylib")<br />
set(OpenCV_opencv_features2d_DEPS_DBG )<br />
set(OpenCV_opencv_features2d_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_core_LIBNAME_DBG "libopencv_core.dylib")<br />
set(OpenCV_opencv_core_DEPS_DBG )<br />
set(OpenCV_opencv_core_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_contrib_LIBNAME_DBG "libopencv_contrib.dylib")<br />
set(OpenCV_opencv_contrib_DEPS_DBG )<br />
set(OpenCV_opencv_contrib_EXTRA_DEPS_DBG )<br />
set(OpenCV_opencv_calib3d_LIBNAME_DBG "libopencv_calib3d.dylib")<br />
set(OpenCV_opencv_calib3d_DEPS_DBG )<br />
set(OpenCV_opencv_calib3d_EXTRA_DEPS_DBG )</p>
<p># ==============================================================<br />
#  Extra include directories, needed by OpenCV 2 new structure<br />
# ==============================================================<br />
SET(OpenCV2_INCLUDE_DIRS "")<br />
if(OpenCV2_INCLUDE_DIRS)<br />
include_directories(${OpenCV2_INCLUDE_DIRS})<br />
list(APPEND OpenCV_INCLUDE_DIRS ${OpenCV2_INCLUDE_DIRS})</p>
<p>set(OpenCV_ADD_DEBUG_RELEASE FALSE)<br />
if(OpenCV_ADD_DEBUG_RELEASE)<br />
set(OpenCV_LIB_DIR_OPT "${OpenCV_LIB_DIR_OPT}/Release")<br />
set(OpenCV_LIB_DIR_DBG "${OpenCV_LIB_DIR_DBG}/Debug")<br />
set(OpenCV_3RDPARTY_LIB_DIR_OPT "${OpenCV_3RDPARTY_LIB_DIR_OPT}/Release")<br />
set(OpenCV_3RDPARTY_LIB_DIR_DBG "${OpenCV_3RDPARTY_LIB_DIR_DBG}/Debug")<br />
endif()<br />
endif()</p>
<p># ==============================================================<br />
#  Check OpenCV availability<br />
# ==============================================================<br />
if(ANDROID AND OpenCV_ANDROID_NATIVE_API_LEVEL GREATER ANDROID_NATIVE_API_LEVEL)<br />
message(FATAL_ERROR "Minimum required by OpenCV API level is android-${OpenCV_ANDROID_NATIVE_API_LEVEL}")<br />
#always FATAL_ERROR because we can't say to the caller that OpenCV is not found<br />
#http://www.mail-archive.com/cmake@cmake.org/msg37831.html<br />
if(OpenCV_FIND_REQUIRED)<br />
message(FATAL_ERROR "Minimum required by OpenCV API level is android-${OpenCV_ANDROID_NATIVE_API_LEVEL}")<br />
elseif(NOT OpenCV_FIND_QUIETLY)<br />
message(WARNING "Minimum required by OpenCV API level is android-${OpenCV_ANDROID_NATIVE_API_LEVEL}")<br />
endif()<br />
set(OpenCV_FOUND "OpenCV_FOUND-NOTFOUND")<br />
return()#Android toolchain requires CMake &gt; 2.6<br />
endif()</p>
<p># ==============================================================<br />
#  Form list of modules (components) to find<br />
# ==============================================================<br />
if(NOT OpenCV_FIND_COMPONENTS)<br />
set(OpenCV_FIND_COMPONENTS ${OpenCV_LIB_COMPONENTS})<br />
if(GTest_FOUND OR GTEST_FOUND)<br />
list(REMOVE_ITEM OpenCV_FIND_COMPONENTS opencv_ts)<br />
endif()<br />
endif()</p>
<p># expand short module names and see if requested components exist<br />
set(OpenCV_FIND_COMPONENTS_ "")<br />
foreach(__cvcomponent ${OpenCV_FIND_COMPONENTS})<br />
if(NOT __cvcomponent MATCHES "^opencv_")<br />
set(__cvcomponent opencv_${__cvcomponent})<br />
endif()<br />
list(FIND OpenCV_LIB_COMPONENTS ${__cvcomponent} __cvcomponentIdx)<br />
if(__cvcomponentIdx LESS 0)<br />
#requested component is not found...<br />
if(OpenCV_FIND_REQUIRED)<br />
message(FATAL_ERROR "${__cvcomponent} is required but was not found")<br />
elseif(NOT OpenCV_FIND_QUIETLY)<br />
message(WARNING "${__cvcomponent} is required but was not found")<br />
endif()<br />
#indicate that module is NOT found<br />
string(TOUPPER "${__cvcomponent}" __cvcomponent)<br />
set(${__cvcomponent}_FOUND "${__cvcomponent}_FOUND-NOTFOUND")<br />
else()<br />
list(APPEND OpenCV_FIND_COMPONENTS_ ${__cvcomponent})<br />
#indicate that module is found<br />
string(TOUPPER "${__cvcomponent}" __cvcomponent)<br />
set(${__cvcomponent}_FOUND 1)<br />
endif()<br />
endforeach()<br />
set(OpenCV_FIND_COMPONENTS ${OpenCV_FIND_COMPONENTS_})</p>
<p># ==============================================================<br />
#  Resolve dependencies<br />
# ==============================================================<br />
if(OpenCV_USE_MANGLED_PATHS)<br />
set(OpenCV_LIB_SUFFIX ".${OpenCV_VERSION}")<br />
else()<br />
set(OpenCV_LIB_SUFFIX "")<br />
endif()</p>
<p>foreach(__opttype OPT DBG)<br />
SET(OpenCV_LIBS_${__opttype} "")<br />
SET(OpenCV_EXTRA_LIBS_${__opttype} "")<br />
foreach(__cvlib ${OpenCV_FIND_COMPONENTS})<br />
foreach(__cvdep ${OpenCV_${__cvlib}_DEPS_${__opttype}})<br />
if(__cvdep MATCHES "^opencv_")<br />
list(APPEND OpenCV_LIBS_${__opttype} "${OpenCV_LIB_DIR_${__opttype}}/${OpenCV_${__cvdep}_LIBNAME_${__opttype}}${OpenCV_LIB_SUFFIX}")<br />
#indicate that this module is also found<br />
string(TOUPPER "${__cvdep}" __cvdep)<br />
set(${__cvdep}_FOUND 1)<br />
else()<br />
list(APPEND OpenCV_LIBS_${__opttype} "${OpenCV_3RDPARTY_LIB_DIR_${__opttype}}/${OpenCV_${__cvdep}_LIBNAME_${__opttype}}")<br />
endif()<br />
endforeach()<br />
list(APPEND OpenCV_LIBS_${__opttype} "${OpenCV_LIB_DIR_${__opttype}}/${OpenCV_${__cvlib}_LIBNAME_${__opttype}}${OpenCV_LIB_SUFFIX}")<br />
list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${OpenCV_${__cvlib}_EXTRA_DEPS_${__opttype}})<br />
endforeach()</p>
<p>if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 2.4)<br />
if(OpenCV_LIBS_${__opttype})<br />
list(REMOVE_DUPLICATES OpenCV_LIBS_${__opttype})<br />
endif()<br />
if(OpenCV_EXTRA_LIBS_${__opttype})<br />
list(REMOVE_DUPLICATES OpenCV_EXTRA_LIBS_${__opttype})<br />
endif()<br />
else()<br />
#TODO: duplicates are annoying but they should not be the problem<br />
endif()<br />
# fix hard coded paths for CUDA libraries under Windows<br />
if(WIN32 AND OpenCV_CUDA_VERSION AND NOT OpenCV_SHARED)<br />
if(NOT CUDA_FOUND)<br />
find_package(CUDA ${OpenCV_CUDA_VERSION} EXACT REQUIRED)<br />
else()<br />
if(NOT CUDA_VERSION_STRING VERSION_EQUAL OpenCV_CUDA_VERSION)<br />
message(FATAL_ERROR "OpenCV static library compiled with CUDA ${OpenCV_CUDA_VERSION} support. Please, use the same version or rebuild OpenCV with CUDA ${CUDA_VERSION_STRING}")<br />
endif()<br />
endif()</p>
<p>list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY} ${CUDA_nvcuvid_LIBRARY} ${CUDA_nvcuvenc_LIBRARY})</p>
<p>if(OpenCV_USE_CUBLAS)<br />
list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${CUDA_CUBLAS_LIBRARIES})<br />
endif()</p>
<p>if(OpenCV_USE_CUFFT)<br />
list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${CUDA_CUFFT_LIBRARIES})<br />
endif()</p>
<p>endif()<br />
endforeach()</p>
<p>if(OpenCV_LIBS_DBG)<br />
list(REVERSE OpenCV_LIBS_DBG)<br />
endif()</p>
<p>if(OpenCV_LIBS_OPT)<br />
list(REVERSE OpenCV_LIBS_OPT)<br />
endif()</p>
<p># CMake&gt;=2.6 supports the notation "debug XXd optimized XX"<br />
if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 2.4)<br />
# Modern CMake:<br />
SET(OpenCV_LIBS "")<br />
foreach(__cvlib ${OpenCV_LIBS_DBG} ${OpenCV_EXTRA_LIBS_DBG})<br />
list(APPEND OpenCV_LIBS debug "${__cvlib}")<br />
endforeach()<br />
foreach(__cvlib ${OpenCV_LIBS_OPT} ${OpenCV_EXTRA_LIBS_OPT})<br />
list(APPEND OpenCV_LIBS optimized "${__cvlib}")<br />
endforeach()<br />
else()<br />
# Old CMake:<br />
if(CMAKE_BUILD_TYPE MATCHES "Debug")<br />
SET(OpenCV_LIBS ${OpenCV_LIBS_DBG} ${OpenCV_EXTRA_LIBS_DBG})<br />
else()<br />
SET(OpenCV_LIBS ${OpenCV_LIBS_OPT} ${OpenCV_EXTRA_LIBS_OPT})<br />
endif()<br />
endif()</p>
<p># ==============================================================<br />
#  Android camera helper macro<br />
# ==============================================================<br />
if(OpenCV_HAVE_ANDROID_CAMERA)<br />
macro(COPY_NATIVE_CAMERA_LIBS target)<br />
get_target_property(target_location ${target} LOCATION)<br />
get_filename_component(target_location "${target_location}" PATH)<br />
file(GLOB camera_wrappers "${OpenCV_LIB_DIR_OPT}/libnative_camera_r*.so")<br />
foreach(wrapper ${camera_wrappers})<br />
add_custom_command(<br />
TARGET ${target}<br />
POST_BUILD<br />
COMMAND ${CMAKE_COMMAND} -E copy "${wrapper}" "${target_location}"<br />
)<br />
endforeach()<br />
endmacro()<br />
endif()</p>
<p># ==============================================================<br />
# Compatibility stuff<br />
# ==============================================================<br />
if(CMAKE_BUILD_TYPE MATCHES "Debug")<br />
SET(OpenCV_LIB_DIR ${OpenCV_LIB_DIR_DBG} ${OpenCV_3RDPARTY_LIB_DIR_DBG})<br />
else()<br />
SET(OpenCV_LIB_DIR ${OpenCV_LIB_DIR_OPT} ${OpenCV_3RDPARTY_LIB_DIR_OPT})<br />
endif()<br />
set(OpenCV_LIBRARIES ${OpenCV_LIBS})</p>
<p></code></p>
<p>Celui-ci sous OSX (et ailleurs j&#8217;ose l’espérer) permet avec CMake de trouver les entêtes, les librairies et les flags d&#8217;OpenCV nécessaires et par extension de compiler-linker votre programme à partir de vos sources et du dossier des modules présent dans le projet, ce qui le rend exportable.</p>
]]></content:encoded>
			<wfw:commentRss>https://waxtopia.fr/opencv-et-cmake-sous-os-x-10-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
