13 |
13 |
# Add these standard paths to the search paths for FIND_LIBRARY
|
14 |
14 |
# to find libraries from these locations first
|
15 |
15 |
if(UNIX)
|
16 |
|
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /lib /usr/lib)
|
|
16 |
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /lib${LIB_SUFFIX} /usr/lib${LIB_SUFFIX})
|
17 |
17 |
endif()
|
18 |
18 |
# it _must_ go before PROJECT(OpenCV) in order to work
|
19 |
19 |
if (NOT CMAKE_INSTALL_PREFIX)
|
... | ... | |
94 |
94 |
# Build static or dynamic libs?
|
95 |
95 |
# ----------------------------------------------------------------------------
|
96 |
96 |
# Default: dynamic libraries:
|
97 |
|
SET(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)")
|
|
97 |
OPTION(BUILD_SHARED_LIBS "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)" ON)
|
98 |
98 |
IF(BUILD_SHARED_LIBS)
|
99 |
99 |
SET(OPENCV_BUILD_SHARED_LIB 1) # For cvconfig.h, etc.
|
100 |
100 |
ELSE(BUILD_SHARED_LIBS)
|
... | ... | |
196 |
196 |
|
197 |
197 |
# Build/install (or not) some apps:
|
198 |
198 |
# ===================================================
|
199 |
|
set(BUILD_EXAMPLES OFF CACHE BOOL "Build all examples")
|
200 |
|
set(INSTALL_C_EXAMPLES OFF CACHE BOOL "Install C examples")
|
201 |
|
set(INSTALL_PYTHON_EXAMPLES OFF CACHE BOOL "Install Python examples")
|
|
199 |
option(BUILD_EXAMPLES "Build all examples" OFF)
|
|
200 |
option(INSTALL_C_EXAMPLES "Install C examples" OFF)
|
|
201 |
option(INSTALL_PYTHON_EXAMPLES "Install Python examples" OFF)
|
202 |
202 |
|
203 |
203 |
# Build tests:
|
204 |
204 |
# ===================================================
|
205 |
|
set(BUILD_TESTS ON CACHE BOOL "Build tests")
|
|
205 |
option(BUILD_TESTS "Build tests" ON)
|
206 |
206 |
|
207 |
207 |
# Build 3rdparty libraries under unix
|
208 |
208 |
# ===================================================
|
... | ... | |
229 |
229 |
#set(ENABLE_OPENMP ${DEFAULT_ENABLE_OPENMP} CACHE BOOL "")
|
230 |
230 |
|
231 |
231 |
if(CMAKE_COMPILER_IS_GNUCXX)
|
232 |
|
set(ENABLE_PROFILING OFF CACHE BOOL "Enable profiling in the GCC compiler (Add flags: -g -pg)")
|
233 |
|
set(USE_OMIT_FRAME_POINTER ON CACHE BOOL "Enable -fomit-frame-pointer for GCC")
|
|
232 |
option(ENABLE_PROFILING "Enable profiling in the GCC compiler (Add flags: -g -pg)" OFF)
|
|
233 |
option(USE_OMIT_FRAME_POINTER "Enable -fomit-frame-pointer for GCC" ON)
|
234 |
234 |
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES arm*)
|
235 |
235 |
# We can use only -O2 because the -O3 causes gcc crash
|
236 |
|
set(USE_O2 ON CACHE BOOL "Enable -O2 for GCC")
|
237 |
|
set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
|
|
236 |
option(USE_O2 "Enable -O2 for GCC" ON)
|
|
237 |
option(USE_FAST_MATH "Enable -ffast-math for GCC" ON)
|
238 |
238 |
endif()
|
239 |
239 |
|
240 |
240 |
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*)
|
... | ... | |
255 |
255 |
endif()
|
256 |
256 |
|
257 |
257 |
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES powerpc*)
|
258 |
|
set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
|
259 |
|
set(ENABLE_POWERPC ON CACHE BOOL "Enable PowerPC for GCC")
|
|
258 |
option(USE_O3 "Enable -O3 for GCC" ON)
|
|
259 |
option(ENABLE_POWERPC "Enable PowerPC for GCC" ON)
|
260 |
260 |
endif ()
|
261 |
261 |
|
262 |
262 |
if(X86 OR X86_64)
|
263 |
263 |
# enable everything, since the available set of instructions is checked at runtime
|
264 |
|
set(USE_O3 ON CACHE BOOL "Enable -O3")
|
265 |
|
set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math")
|
266 |
|
set(ENABLE_SSE ON CACHE BOOL "Enable SSE instructions")
|
267 |
|
set(ENABLE_SSE2 ON CACHE BOOL "Enable SSE2 instructions")
|
268 |
|
set(ENABLE_SSE3 OFF CACHE BOOL "Enable SSE3 instructions")
|
269 |
|
set(ENABLE_SSSE3 OFF CACHE BOOL "Enable SSSE3 instructions")
|
270 |
|
set(ENABLE_SSE41 OFF CACHE BOOL "Enable SSE4.1 instructions")
|
271 |
|
set(ENABLE_SSE42 OFF CACHE BOOL "Enable SSE4.2 instructions")
|
|
264 |
set(USE_O3 "Enable -O3" ON)
|
|
265 |
set(USE_FAST_MATH "Enable -ffast-math" ON)
|
|
266 |
option(ENABLE_SSE "Enable SSE instructions" ON)
|
|
267 |
option(ENABLE_SSE2 "Enable SSE2 instructions" ON)
|
|
268 |
option(ENABLE_SSE3 "Enable SSE3 instructions" OFF)
|
|
269 |
option(ENABLE_SSSE3 "Enable SSSE3 instructions" OFF)
|
|
270 |
option(ENABLE_SSE41 "Enable SSE4.1 instructions" OFF)
|
|
271 |
option(ENABLE_SSE42 "Enable SSE4.2 instructions" OFF)
|
272 |
272 |
endif()
|
273 |
273 |
endif()
|
274 |
274 |
|
275 |
275 |
# allow fine grained control over which libraries not to link, even if
|
276 |
276 |
# they are available on the system
|
277 |
277 |
# ====================================================================
|
278 |
|
set(WITH_PNG ON CACHE BOOL "Include PNG support")
|
279 |
|
set(WITH_JPEG ON CACHE BOOL "Include JPEG support")
|
280 |
|
set(WITH_JASPER ON CACHE BOOL "Include JPEG2K support")
|
281 |
|
set(WITH_TIFF ON CACHE BOOL "Include TIFF support")
|
282 |
|
set(WITH_OPENEXR ON CACHE BOOL "Include ILM support via OpenEXR")
|
|
278 |
option(WITH_PNG "Include PNG support" ON)
|
|
279 |
option(WITH_JPEG "Include JPEG support" ON)
|
|
280 |
option(WITH_JASPER "Include JPEG2K support" ON)
|
|
281 |
option(WITH_TIFF "Include TIFF support" ON)
|
|
282 |
option(WITH_OPENEXR "Include ILM support via OpenEXR" ON)
|
283 |
283 |
|
284 |
284 |
if(UNIX)
|
285 |
|
set(WITH_FFMPEG ON CACHE BOOL "Include FFMPEG support")
|
|
285 |
option(WITH_FFMPEG "Include FFMPEG support" ON)
|
286 |
286 |
if(NOT APPLE)
|
287 |
|
set(WITH_UNICAP OFF CACHE BOOL "Include Unicap support (GPL)")
|
288 |
|
set(WITH_GTK ON CACHE BOOL "Include GTK support")
|
289 |
|
set(WITH_GSTREAMER ON CACHE BOOL "Include Gstreamer support")
|
290 |
|
set(WITH_V4L ON CACHE BOOL "Include Video 4 Linux support")
|
291 |
|
set(WITH_XINE OFF CACHE BOOL "Include Xine support (GPL)")
|
|
287 |
option(WITH_UNICAP "Include Unicap support (GPL)" OFF)
|
|
288 |
option(WITH_GTK "Include GTK support" ON)
|
|
289 |
option(WITH_GSTREAMER "Include Gstreamer support" ON)
|
|
290 |
option(WITH_V4L "Include Video 4 Linux support" ON)
|
|
291 |
option(WITH_XINE "Include Xine support (GPL)" OFF)
|
292 |
292 |
endif()
|
293 |
|
set(WITH_PVAPI ON CACHE BOOL "Include Prosilica GigE support")
|
294 |
|
set(WITH_1394 ON CACHE BOOL "Include IEEE1394 support")
|
|
293 |
option(WITH_PVAPI "Include Prosilica GigE support" ON)
|
|
294 |
option(WITH_1394 "Include IEEE1394 support" ON)
|
295 |
295 |
endif()
|
296 |
296 |
|
297 |
297 |
if(APPLE)
|
298 |
|
set(WITH_CARBON OFF CACHE BOOL "Use Carbon for UI instead of Cocoa")
|
299 |
|
set(WITH_QUICKTIME OFF CACHE BOOL "Use QuickTime for Video I/O insted of QTKit")
|
|
298 |
option(WITH_CARBON "Use Carbon for UI instead of Cocoa" OFF)
|
|
299 |
option(WITH_QUICKTIME "Use QuickTime for Video I/O insted of QTKit" OFF)
|
300 |
300 |
endif()
|
301 |
301 |
|
302 |
|
set(WITH_TBB OFF CACHE BOOL "Include TBB support")
|
303 |
|
set(WITH_EIGEN2 ON CACHE BOOL "Include Eigen2/Eigen3 support")
|
304 |
|
set(WITH_CUDA OFF CACHE BOOL "Include NVidia Cuda Runtime support")
|
|
302 |
option(WITH_TBB "Include TBB support" OFF)
|
|
303 |
option(WITH_EIGEN2 "Include Eigen2/Eigen3 support" ON)
|
|
304 |
option(WITH_CUDA "Include NVidia Cuda Runtime support" OFF)
|
305 |
305 |
|
306 |
306 |
if(WIN32)
|
307 |
|
set(WITH_VIDEOINPUT ON CACHE BOOL "Enable VideoInput support")
|
|
307 |
option(WITH_VIDEOINPUT "Enable VideoInput support" ON)
|
308 |
308 |
endif()
|
309 |
309 |
|
310 |
310 |
# ===================================================
|
... | ... | |
496 |
496 |
include(OpenCVFindOpenEXR.cmake)
|
497 |
497 |
endif()
|
498 |
498 |
|
499 |
|
set(BUILD_NEW_PYTHON_SUPPORT ON CACHE BOOL "Build with Python support")
|
|
499 |
option(BUILD_NEW_PYTHON_SUPPORT "Build with Python support" ON)
|
500 |
500 |
|
501 |
501 |
if(BUILD_NEW_PYTHON_SUPPORT)
|
502 |
502 |
find_package(PythonInterp)
|
... | ... | |
513 |
513 |
|
514 |
514 |
string(REGEX MATCH "[0-9].[0-9]" PYTHON_VERSION_MAJOR_MINOR "${PYTHON_VERSION_FULL}")
|
515 |
515 |
if(UNIX)
|
516 |
|
set(PYTHON_PLUGIN_INSTALL_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages/opencv)
|
517 |
|
set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages)
|
|
516 |
set(PYTHON_PLUGIN_INSTALL_PATH lib${LIB_SUFFIX}/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages/opencv)
|
|
517 |
set(PYTHON_PACKAGES_PATH lib${LIB_SUFFIX}/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages)
|
518 |
518 |
endif()
|
519 |
519 |
if(WIN32)
|
520 |
520 |
get_filename_component(PYTHON_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${PYTHON_VERSION_MAJOR_MINOR}\\InstallPath]" ABSOLUTE CACHE)
|
... | ... | |
543 |
543 |
#YV
|
544 |
544 |
############################### QT ################################
|
545 |
545 |
|
546 |
|
set(WITH_QT OFF CACHE BOOL "Build with Qt Backend support")
|
547 |
|
set(WITH_QT_OPENGL OFF CACHE BOOL "Add OpenGL extension to Qt")
|
|
546 |
option(WITH_QT "Build with Qt Backend support" OFF)
|
|
547 |
option(WITH_QT_OPENGL "Add OpenGL extension to Qt" OFF)
|
548 |
548 |
|
549 |
549 |
set(HAVE_QT 0)
|
550 |
550 |
set(HAVE_QT_OPENGL 0)
|
... | ... | |
823 |
823 |
|
824 |
824 |
|
825 |
825 |
################## LATEX ##################
|
826 |
|
set(BUILD_LATEX_DOCS OFF CACHE BOOL "Build LaTeX OpenCV Documentation")
|
|
826 |
option(BUILD_LATEX_DOCS "Build LaTeX OpenCV Documentation" OFF)
|
827 |
827 |
|
828 |
828 |
################### DOXYGEN ###############
|
829 |
829 |
|
830 |
830 |
find_package(Doxygen)
|
831 |
|
|
832 |
|
if(DOXYGEN_FOUND)
|
833 |
|
set(BUILD_DOXYGEN_DOCS ON CACHE BOOL "Generate HTML docs using Doxygen")
|
834 |
|
endif()
|
|
831 |
option(BUILD_DOXYGEN_DOCS "Generate HTML docs using Doxygen" ON)
|
835 |
832 |
|
836 |
833 |
# ----------------------------------------------------------------------------
|
837 |
834 |
# UPDATE CONFIG FILES & SCRIPTS:
|
... | ... | |
863 |
860 |
# Set the maximum level of warnings:
|
864 |
861 |
# ----------------------------------------------------------------------------
|
865 |
862 |
# Should be set to true for development
|
866 |
|
set(OPENCV_WARNINGS_ARE_ERRORS OFF CACHE BOOL "Treat warnings as errors")
|
|
863 |
option(OPENCV_WARNINGS_ARE_ERRORS "Treat warnings as errors" OFF)
|
867 |
864 |
|
868 |
865 |
set(EXTRA_C_FLAGS "")
|
869 |
866 |
set(EXTRA_C_FLAGS_RELEASE "")
|
... | ... | |
1070 |
1067 |
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Output directory for applications" )
|
1071 |
1068 |
|
1072 |
1069 |
if(WIN32)
|
1073 |
|
set(OPENCV_DOC_INSTALL_PATH doc)
|
|
1070 |
set(OPENCV_DOC_INSTALL_PATH doc CACHE PATH "Directory for documentation to install (without prefix)")
|
1074 |
1071 |
else()
|
1075 |
|
set(OPENCV_DOC_INSTALL_PATH share/opencv/doc)
|
|
1072 |
set(OPENCV_DOC_INSTALL_PATH share/doc/opencv-${OPENCV_VERSION}/ CACHE PATH "Directory for documentation to install (without prefix)")
|
1076 |
1073 |
endif()
|
1077 |
1074 |
|
1078 |
1075 |
# --------------------------------------------------------------------------------------------
|
... | ... | |
1106 |
1103 |
set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/include/opencv" "${CMAKE_INSTALL_PREFIX}/include")
|
1107 |
1104 |
set(CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE "\"\"")
|
1108 |
1105 |
|
1109 |
|
set(CMAKE_LIB_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/lib")
|
|
1106 |
set(CMAKE_LIB_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
|
1110 |
1107 |
|
1111 |
1108 |
exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/unix-install/\"" OUTPUT_VARIABLE RET_VAL)
|
1112 |
1109 |
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)
|
... | ... | |
1164 |
1161 |
# -------------------------------------------------------------------------------------------
|
1165 |
1162 |
set(prefix ${CMAKE_INSTALL_PREFIX})
|
1166 |
1163 |
set(exec_prefix "\${prefix}")
|
1167 |
|
set(libdir "\${exec_prefix}/lib")
|
|
1164 |
set(libdir "\${exec_prefix}/lib${LIB_SUFFIX}")
|
1168 |
1165 |
set(includedir "\${prefix}/include")
|
1169 |
1166 |
set(VERSION ${OPENCV_VERSION})
|
1170 |
1167 |
|
1171 |
1168 |
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/opencv.pc.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/opencv.pc" @ONLY IMMEDIATE)
|
1172 |
1169 |
|
1173 |
1170 |
if(UNIX)
|
1174 |
|
install(FILES ${CMAKE_BINARY_DIR}/unix-install/opencv.pc DESTINATION lib/pkgconfig)
|
|
1171 |
install(FILES ${CMAKE_BINARY_DIR}/unix-install/opencv.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig)
|
1175 |
1172 |
endif()
|
1176 |
1173 |
|
1177 |
1174 |
|
... | ... | |
1191 |
1188 |
# CPack target
|
1192 |
1189 |
# ----------------------------------------------------------------------------
|
1193 |
1190 |
|
1194 |
|
set(BUILD_PACKAGE OFF CACHE BOOL "Build a installer with the SDK")
|
|
1191 |
option(BUILD_PACKAGE "Build a installer with the SDK" OFF)
|
1195 |
1192 |
|
1196 |
1193 |
if(BUILD_PACKAGE)
|
1197 |
1194 |
|