Commit Graph

810 Commits

Author SHA1 Message Date
Vadim Pisarevsky
8fb37606f6 Merge pull request #4032 from mshabunin:fix-pkg-config 2015-05-26 12:47:14 +00:00
Vladislav Vinogradov
653810e4df fix installation layout for debian packages:
Install symlinks to shared libraries as a part of development package,
not runtime package.

It is default behavior for debian packages.
2015-05-24 14:06:32 +02:00
Alexander Smorkalov
5141141e2b Deb package build fix for CUDA 6.5 and newer.
(cherry picked from commit e650d87e47)
(cherry picked from commit ca9c52ac97)

Conflicts:
	cmake/OpenCVPackaging.cmake
2015-05-24 11:55:47 +02:00
Maksim Shabunin
3863dc5b2b Updated pkg-config generation, added sample makefile 2015-05-22 16:09:07 +03:00
Samuel Martin
671a630f47 cmake/OpenCVGenPkgconfig.cmake: rework opencv.pc generation
Using absolute path to locate the components in the "Libs:" field of the
*.pc can badly break cross-compilation, especially when building
statically linked objects.

Indeed, pkg-config automatically replaces the '-I...' and '-L...' paths
when the PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_LIBDIR environment
variables are set [1]. This feature is very helpful and common in
cross-compilation framework like Buildroot [2,3].

When there are absolute paths in the *.pc files, pkg-config won't be
able to do the path substitutions for these paths when the
aforementioned environment variables are set.
In such case, since the prefix is the target one, not the sysroot one,
these libraries' absolute paths will point to:
- in the best case: a non-existing file (i.e. these files do not exists
  on the host system;
- at worst: the host system's libraries. This will make the linking
  failed because these host system's libraries will most likely not be
  build for the target architecture [4].

So, this patch replace the components' absolute paths by the form:
  -L<libdir> -l<libname>

This way, the linker will be able to resolve each dependency path,
whatever the kind of objects/build (shared object or static build) it
is dealing with.

Note that for static link, the library order does matter [5]. The order
of the opencv components has been carefully chosen to comply with this
requirement.

Fixes #3931

This patch is a port of [6] on the master branch.

[1] http://linux.die.net/man/1/pkg-config
[2] http://buildroot.org/
[3] http://git.buildroot.net/buildroot/tree/package/pkgconf/pkg-config.in
[4] http://autobuild.buildroot.net/results/e8a/e8a859276db34aff87ef181b0cce98916b0afc90/build-end.log
[5] http://stackoverflow.com/questions/45135/linker-order-gcc
[6] eceada586b

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
2015-05-22 16:09:05 +03:00
Piotr Dobrowolski
6d0407b65e VideoCapture with digital camera and gPhoto2 library 2015-05-21 00:41:39 +02:00
Maksim Shabunin
e936670571 Install cvconfig.h file 2015-05-18 19:19:48 +03:00
Vadim Pisarevsky
35884a7e3f Merge pull request #3982 from patrikhuber:vs2015-support-master 2015-05-15 12:32:27 +00:00
Vadim Pisarevsky
a26ab3ab16 Merge pull request #3917 from yanlend:patch-1 2015-05-14 21:16:24 +00:00
Marvin Smith
ae933db526 Fixing the gdal include error that Macports seems to only mess up. 2015-05-11 20:27:50 -07:00
Patrik Huber
40b765b7c2 Add VS2015 compatibility to CMake scripts 2015-05-02 15:24:14 +01:00
Vadim Pisarevsky
30a3ff0de6 fixed compile errors on OSX and other systems where ffmpeg is detected manually, not via pkg-config 2015-04-29 11:43:53 +03:00
Vadim Pisarevsky
e60dcc9b3b Merge pull request #3966 from Dikay900:master_diff_to_2_4_2 2015-04-28 11:00:57 +00:00
Maksim Shabunin
bcf02ae439 Merge pull request #3678 from mshabunin:explicit-sse-disable 2015-04-28 10:41:14 +00:00
Maksim Shabunin
1138a38dbe Use explicit no-sse flags when SSE is off
Also:
- Silence clang warnings about unsupported command line arguments
- Add diagnostic print to calib3d test
- Fixed perf test relative error check
- Fix iOS build problem
2015-04-27 15:36:10 +03:00
Mansour Moufid
655b28ee0c Use the CMake find_library command to find the FFmpeg libraries.
Conflicts:
	cmake/OpenCVFindLibsVideo.cmake
2015-04-25 19:00:33 +02:00
Vladimir Kolesnikov
2c73e49dac Not block PDB file in multithreaded build on Windows.
If used cl compiler, but generator is not Visual Studio e.g. Ninja,
enable FS option to prevent blocking PDB file in multithreaded build.
2015-04-25 18:54:50 +02:00
Alexander Nitsch
d6c95621e8 Implement CMAKE_CURRENT_LIST_DIR for older CMake
The use of built-in CMAKE_CURRENT_LIST_DIR requires at least
CMake 2.8.3. This fix properly defines the variable to allow its
use in versions < 2.8.3 as well.

Fixes issue #4205.

Exclude >= 2.8.3 from reimplementation of CMAKE_CURRENT_LIST_DIR

This avoids violation of possible future CMake policy checks
regarding reserved/read-only variables.
2015-04-24 23:10:50 +02:00
Ilya Lavrenov
614edafe73 typo 2015-04-24 22:38:51 +02:00
Ilya Lavrenov
f57063efa2 port of aarch64 cuda changes from 2.4 2015-04-23 17:57:29 +03:00
Vadim Pisarevsky
2b2e3ee93c make sure opencv builds fine with the recent versions of libav (e.g. from Ubuntu 14.10) 2015-04-22 21:57:29 +03:00
Vadim Pisarevsky
063e4004ba Merge pull request #3935 from vpisarev:extending_hal_part1 2015-04-21 14:02:02 +00:00
Vadim Pisarevsky
926754a66e another attempt to resolve ABI checker complains 2015-04-21 12:42:46 +03:00
Vadim Pisarevsky
fa41653420 trying to avoid ABI checker failures 2015-04-21 11:30:41 +03:00
yanlend
443b3157e0 Fix win32 search for same bitness executable
find_package(PythonInterp) calls find_program(PYTHON_EXECUTABLE), i.e. without version number. For the Win32-search before to be effective, the same variable has to be used.
2015-04-10 14:57:31 +02:00
Maksim Shabunin
97c78838a4 Fixed windows build and one warning 2015-04-10 11:37:16 +03:00
Maksim Shabunin
728bd0ba84 Merge pull request #3905 from mshabunin:fix-android-mk 2015-04-09 12:08:05 +00:00
Maksim Shabunin
f803c2a7bb Generators: updated the library gathering loop 2015-04-08 14:15:20 +03:00
Maksim Shabunin
35b2139929 Basic HAL module 2015-04-07 18:16:22 +03:00
Maksim Shabunin
979721c979 Fix generating of android.mk 2015-04-06 16:12:00 +03:00
Vadim Pisarevsky
da0e2c5bf3 Merge pull request #3889 from nitsch:fix-mingw-cmake 2015-04-02 11:45:20 +00:00
Roman Donchenko
149c1c16ba cap_libv4l.cpp depends on both libv4l 1 and 2, so search for both
How this worked before, I do not know.
2015-03-31 12:41:50 +03:00
Alexander Nitsch
afd9de6f1b Fix static/shared lib detection
The check for BUILD_SHARED_LIBS had its logic backwards. If this
variable is not defined we must assume a build of static libs.
2015-03-31 00:05:49 +02:00
Alexander Nitsch
66e653d24d Remove local variables from CMAKE namespace 2015-03-31 00:05:48 +02:00
Alexander Nitsch
3fff0e5b3c Fix MinGW detection on x86
Make detection of x64 using the gcc's target triplet identical
to the one used in cmake/OpenCVDetectCXXCompiler.cmake.
Otherwise, MinGW-w64 setups will always be treated as x64 since
they contain "w64" as vendor key.
2015-03-31 00:05:48 +02:00
Alexander Nitsch
8f84a73b82 Fix MinGW architecture detection
Fix typo that would always lead to detection of x86 for MinGW
builds in the OpenCVConfig.cmake file.
2015-03-31 00:05:47 +02:00
Alexander Nitsch
2e86cedef2 Fix MinGW detection on x86
MinGW-w64 always uses "w64" as vendor key which the previously
used check for "64" anywhere in the target triplet matched. This
would lead to MinGW-w64 setups always being treated as x64.

Turns out we do not even need this additional check since the
architecture has been correctly determined earlier in this file.
No need to do it again.
2015-03-31 00:02:03 +02:00
Kevin Squire
5e354fa844 Allow PYTHON_LIBRARY and PYTHON_INCLUDE_DIR to actually be overridden 2015-03-26 17:48:03 -07:00
Vadim Pisarevsky
174593643c Merge pull request #3863 from MSOpenTech:fix_winrt_linker 2015-03-24 15:05:43 +00:00
Evgeny Agafonchikov
c196df6db0 Do not link vfw32 library for WinRT
HAVE_VFW flag is defined by CMake try_compile check.

Check fails for WINRT as vfw.h begins with

and contains empty set of functions for Store apps.

So we can safely remove vfw32.lib for WINRT in general

(independently of availability for specific configuration)
2015-03-23 20:45:58 +03:00
Evgeny Agafonchikov
17d36b7835 Removing unused winrttest.cpp file 2015-03-23 16:56:50 +03:00
Maksim Shabunin
796bf01797 Do not compare extra modules in ABI check 2015-03-23 13:10:40 +03:00
Maksim Shabunin
9fbc92aace Added cmake option for abi descriptor generating (GENERATE_ABI_DESCRIPTOR) 2015-03-17 16:04:04 +03:00
Maksim Shabunin
632afe6ae3 Fixed mangled install layout on unix machines 2015-03-13 14:18:37 +03:00
Roman Donchenko
c71e94f054 Mark the libs component required
Everything else depends on it, after all.

(cherry picked from commit cf54e3b97e)

Conflicts:
	cmake/OpenCVPackaging.cmake
2015-03-10 16:24:23 +03:00
Roman Donchenko
8a732e306f Add component display names
(cherry picked from commit 6d52ea8984)
2015-03-10 16:24:23 +03:00
Roman Donchenko
87eb3f6e68 Update the CPack variables to match the changes in asmorkalov/CMake#1
Which also happens to align the non-Debian specific variables
with the ones used by upstream CMake.

(cherry picked from commit b8c60234c3)

Conflicts:
	cmake/OpenCVPackaging.cmake
2015-03-10 16:24:23 +03:00
Roman Donchenko
35760bb6bf Add a script to run all tests on Windows
It's pretty much a simplified copy of the Linux script, lacking fancy colors.
Also, I had to drop Python testing, because it's not easy to pass the Python
module location to the script, and I have no pressing need to run the Python
tests at the moment.

(cherry picked from commit c1e3ca170e)

Conflicts:
	CMakeLists.txt
2015-03-10 16:24:23 +03:00
Roman Donchenko
1a3273a7e3 Remove useless CPACK_*_COMPONENT_INSTALL variables
They don't actually do anything. And even if they did, all components are
enabled by default, anyway.

(cherry picked from commit 49fe496914)

Conflicts:
	cmake/OpenCVPackaging.cmake
2015-03-10 12:53:28 +03:00
Vadim Pisarevsky
643bbb2d93 looks like Maksim was right; the new fix does not do the second attempt to detect python libs, it finds it correctly with the first attempt 2015-03-06 16:57:38 +03:00