mirror of
https://github.com/opencv/opencv.git
synced 2026-07-21 19:33:03 +04:00
1f8257adad
Fix Clp library detection for vcpkg on Windows #28423 ## Problem Building OpenCV with `WITH_CLP=ON` on Windows (vcpkg) fails: LINK : fatal error LNK1181: cannot open input file 'libClp.lib' vcpkg generates `Clp.lib` and `CoinUtils.lib`, but OpenCV expected `libClp.lib`/`libCoinUtils.lib`. ## Solution Modernize CLP detection with a robust, platform-aware approach: 1. **CMake `find_package(Clp CONFIG)`**: detects vcpkg and uses imported targets (`Coin::Clp`, `Coin::CoinUtils`) 2. **Fallback**: pkg-config on Unix/Linux 3. **Skip** Android/iOS ## Benefits ✅ Fixes Windows build with vcpkg ✅ Uses modern CMake targets ✅ Backward compatible with Unix/Linux ✅ Safe for CI and mobile builds ✅ Graceful fallback if CLP unavailable ## Testing - **Windows 11 + vcpkg**: build succeeds - **No CLP installed**: configure/build succeeds - **Linux/Unix**: existing workflows unaffected - **Android/iOS**: properly skipped ## Changes - Update `cmake/OpenCVFindLibsPerf.cmake` - Replace hardcoded library names with CMake targets - Add mobile platform guards - Preserve backward compatibility Fixes #26592 --- ### Pull Request Readiness Checklist - [x] I agree to contribute to the project under Apache 2 License. - [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV - [x] The PR is proposed to the proper branch (`4.x`) - [x] There is a reference to the original bug report and related work (#26592) - [x] The feature is well documented and sample code can be built with the project CMake - [x] No additional tests required - this is a build system fix that maintains existing functionality