Commit Graph

620 Commits

Author SHA1 Message Date
Gabriel B. Nunes
88e54ca1c0 Work around CMake bug that mangles install dir
CMake has a long-standing bug/feature (see [here](https://cmake.org/pipermail/cmake/2015-March/060204.html) and reply [here](https://cmake.org/pipermail/cmake/2015-March/060209.html)) which can mangle certain path variables by attempting to make them into relative paths if you try to set them with CACHE PATH.

Say you have your OpenCV download at `/path/on/my/computer/to/opencv/`. What actually happens is that if you try to set this variable by invoking CMAKE with `-DCMAKE_INSTALL_PREFIX=/my/desired/install/path`, what you end up is *not* `/usr/local/` and *not* `my/desired/install/path`, but instead, this monstrosity: `/path/on/my/computer/to/opencv/src/OpenCV-build//my/desired/install/path`.

That is, CMake attempts, for some reason, to turn the path that you passed into a path relative to `${CMAKE_BINARY_DIR}`. See the links I posted above: this is a known (and apparently unfixable) issue with CMake.

In OpenCV's case, among other potential issues, this leads to broken paths in `opencv_tests_config.hpp`, which can break the build or cause bizarre behaviour.

The fix for this issue, as stated in my links above, is to test that the variable hasn't been set yet with an `if(NOT DEFINED ...)` before attempting to set it. This is what I've implemented here. I admit I don't know enough about OpenCV's internals to know whether you *really* need to force the install to be in `/usr/local`, but as it stands right now you get *neither* a clean `/usr/local` path *nor* a customized `/my/desired/install/path`, but a broken mess. This change at least allows the user to customize their install directory.

In the meantime, there's a workaround for this, by explicitly defining the variable as a path with `-DCMAKE_INSTALL_PREFIX:PATH=my/desired/install/path`. But if this change can save anyone else the hours of headaches that I had today, I'll be happy.
2017-02-11 20:40:37 -05:00
Maksim Shabunin
50d350bcd1 Enable GNU STL debug mode for debug builds 2017-01-31 12:36:26 +03:00
Alexander Alekhin
36b34465a4 cmake: include contrib modules into opencv_world 2017-01-23 18:45:53 +03:00
Vadim Pisarevsky
ad74fdd7cc moved BLAS/LAPACK detection scripts from opencv_contrib/dnn to the main repository (#7918)
* moved BLAS/LAPACK detection scripts from opencv_contrib/dnn to the main repository.

* trying to fix the bug with undefined symbols sgesdd_ and dgesdd_

* removed extra whitespaces; disabled LAPACK on IOS
2016-12-22 22:57:44 +03:00
Alexander Alekhin
3ae1990727 Merge pull request #7769 from alalek:cmake_ffmpeg_cleanup 2016-12-01 20:24:05 +00:00
Alexander Alekhin
39ff8a0d26 cmake: cleanup ffmpeg detection 2016-12-01 19:33:27 +03:00
Alexander Alekhin
71b2409df0 ts: added findDataFile() utility function and SkipTestException 2016-11-29 23:17:39 +03:00
Alexander Alekhin
14d2046f80 cmake: ccache 2016-11-18 15:09:44 +03:00
Alexander Alekhin
3e0252ebcc docs: drop plantuml support 2016-11-10 16:29:04 +03:00
Arek
e77bc24b96 Merge pull request #7518 from ArkadiuszRaj:aravis-buffer-status
Aravis several updates

* Fix adressing camera with id=0

* Aravis buffer property control & status added

* Modify of autoexposure algorith, ream frame ID from aravis + new properites

* Change of macro name

* VideoCapture now returns no frame on camera disconnecion

* Allow aravis-0.4 usage, proper camera object release.
2016-10-22 19:07:55 +03:00
ArkadiuszRaj
70c12e5407 Basic support for GigE cameras via Aravis SDK 2016-10-07 21:55:49 +02:00
mshabunin
81938af5d0 Added support for OpenVX 1.0, updated cmake part, minor fixes 2016-10-04 15:31:54 +03:00
Vadim Pisarevsky
dc3d0cbc22 Merge pull request #7266 from alalek:pr7159 2016-09-16 21:18:26 +00:00
Alexander Alekhin
f85e33f4af videoio: refactor AVFoundation code integration 2016-09-09 17:42:41 +03:00
Maksim Shabunin
ae3dfa80db OpenVX HAL 2016-08-25 16:08:45 +03:00
yoffy
767780a4b2 add VideoCapture / VideoWriter AVFoundation implementation for Mac 2016-08-23 10:51:58 -07:00
Pavel Vlasov
a462d76a95 Implementations instrumentation framework for OpenCV performance system; 2016-08-17 16:26:03 +03:00
Vladislav Sovrasov
a113d9bcc1 Add MKL support 2016-08-10 11:20:23 +03:00
Alexander Alekhin
18e7afdfd9 cmake: add OPENCV_ENABLE_NONFREE option and macro 2016-08-04 19:23:49 +03:00
look4pritam
6f22f49c02 Grassroots DiCoM i.e. GDCM based DICOM image reader is added. 2016-07-08 16:08:55 +03:00
Elif Albuz
c65d2a0d86 Add Carotene - NVIDIA Hardware-Abstraction-Layer for ARM platforms 2016-07-04 23:45:07 -07:00
Alexander Alekhin
cb48183d02 Merge pull request #6711 from Dubrzr:vs_compile_cuda_fix 2016-06-29 11:03:47 +00:00
Alexander Alekhin
f57e3ce5f3 cmake: don't use absolute paths with/without CMAKE_INSTALL_PREFIX
CPack can't work with absolute paths.
2016-06-22 16:38:54 +03:00
Julien Dubiel
33ab236ed3 Use CMAKE_LIBRARY_PATH_FLAG variable instead of -L. 2016-06-21 20:00:50 +02:00
Alexander Alekhin
f5306a0740 cmake: change CMP0042 policy value 2016-06-20 18:28:12 +03:00
Alexander Alekhin
c6c651212c cmake: refactoring of OpenCVConfig
- removed OpenCV_LIB_DIR* vars (they are broken and not required anymore)
- OpenCVConfig.cmake doesn't contain ANDROID/CUDA code if there is no such support
- removed OpenCV2_INCLUDE_DIRS_CONFIGCMAKE, merged into OpenCV_INCLUDE_DIRS_CONFIGCMAKE
- fix hard-coded relative paths for OpenCV_INSTALL_PATH
- removed OpenCV_TBB_ARCH
- switch OpenCVConfig.cmake into 2-level mode for Android SDK
2016-06-20 15:15:21 +03:00
Vadim Pisarevsky
547a2d29c3 Merge pull request #6535 from sovrasov:lapack-hal 2016-06-16 20:09:47 +00:00
Alexander Alekhin
f4ebc504d1 cmake: refactor HAL attaching process 2016-06-15 17:34:30 +03:00
Vladislav Sovrasov
a2d0cc878c Implement internal HAL for GEMM and matrix decompositions 2016-06-03 10:38:30 +03:00
Maksim Shabunin
d043a61897 Restored cmake 2.8.7 support 2016-05-18 13:20:21 +03:00
Alexander Alekhin
1f7fea9092 Merge pull request #6244 from dreifachstein:topic-cmake-install 2016-04-05 15:23:55 +00:00
Maksim Shabunin
79ffaa8ce9 Fixed cutom_hal.hpp file generation 2016-03-24 17:39:16 +03:00
Maksim Shabunin
727743809e Using find_package to import custom HAL library 2016-03-24 17:05:54 +03:00
Xiaolei Yu
40eb613bbf Make install paths relative to CMAKE_INSTALL_PREFIX 2016-03-19 16:41:51 +08:00
Bleach666
150a9e8e14 suppress warning while generating solution in cmake 2016-03-16 13:12:44 +02:00
Alexander Alekhin
9ac35173e3 cmake: remove non-ascii symbols 2016-02-09 14:44:05 +03:00
Alexander Alekhin
1dac67f013 cmake: add version control revision info for extra modules 2016-02-09 14:39:05 +03:00
Alexander Alekhin
de8b3ee231 cmake: add timestamp into build info log (6089) 2016-02-09 14:39:04 +03:00
StevenPuttemans
6cdf3116c4 deactivate build options by default that are not supposed the be ON by default 2016-02-05 11:01:21 +01:00
Maksim Shabunin
68eab8ea00 Merge pull request #5884 from alalek:cmake_vars 2016-01-17 09:43:17 +00:00
Alexander Alekhin
64057965f5 Merge pull request #5979 from alalek:world_disable_pch 2016-01-15 17:28:48 +00:00
Alexander Alekhin
c75f9c80c7 cmake: turn off precompiled headers in case of opencv_world builds 2016-01-15 19:43:24 +03:00
Alexander Alekhin
9cd6731894 cmake: add DEBUG_PRE/DEBUG_POST commands handling
Useful for debug purposes:
    cmake -DDEBUG_POST="ocv_cmake_dump_vars(CUDA)" .
    cmake -DCMAKE_PRE="ocv_cmake_dump_vars(\"OPENCL|opencl\")" .
2016-01-15 14:36:03 +03:00
Alexander Alekhin
9d4ee2f54d cmake: added generation of CMakeVars.txt
related: #5845
2016-01-15 13:54:28 +03:00
Alexander Alekhin
c35ddcba1a cmake: refactor OpenCL detection, allow custom configurations 2016-01-15 13:05:16 +03:00
Alexander Alekhin
c8ff7a4867 build: fix opencv_world with CUDA 2016-01-14 17:23:55 +03:00
Alexander Alekhin
8d79285d02 Merge pull request #5840 from paroj:v4ldefault 2015-12-24 10:08:59 +00:00
Pavel Rojtberg
96654f0084 make sure cap_v4l is used by default on Linux
cap_v4l is better maintained and generally the code is in
better shape than cap_libv4l.
2015-12-20 01:19:48 +01:00
Vadim Pisarevsky
97dc5be841 Merge pull request #5821 from alalek:build_framework 2015-12-18 10:12:55 +00:00
Alexander Alekhin
ec0e43a95b Merge pull request #5801 from enpe:matlab-switch 2015-12-18 09:34:36 +00:00