Resolves https://github.com/microsoft/vcpkg/issues/22980https://github.com/microsoft/vcpkg/pull/12785 Added a set of `CMAKE_CXX_STANDARD` in this CMake config which accidentally overwrites higher versions. Upstream already has a `target_compile_options` to do this the Right Way.
This change:
* Deletes the offending attempt to set CMAKE_CXX_STANDARD. Downstream users that don't listen to the INTERFACE_COMPILE_FEATURES need to be patched locally.
* Modernizes to use vcpkg_cmake_Xxx.
* Removes attempt to fix up paths that already appears handled by `vcpkg_cmake_config_fixup`.
* Adds quotes.
* [ceres] Mark all dependencies REQUIRED
* [suitesparse] Fix FindCXSparse.cmake
* [ceres] Add version to db
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
From most recent completed nightly build:
https://dev.azure.com/vcpkg/public/_build/results?buildId=46182
PASSING, REMOVE FROM FAIL LIST: ignition-msgs5:x64-linux (.\scripts\ci.baseline.txt)
I'm assuming this got fixed by @strega-nil 's llvm changes: https://github.com/microsoft/vcpkg/pull/14399
PASSING, REMOVE FROM FAIL LIST: libraqm:x64-windows-static (.\scripts\ci.baseline.txt)
Cause unknown.
PASSING, REMOVE FROM FAIL LIST: openssl-windows:arm-uwp (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: openssl-windows:x64-uwp (.\scripts\ci.baseline.txt)
Probably fixed by https://github.com/microsoft/vcpkg/pull/14308 ; also removed Supports: excluded entries for these.
PASSING, REMOVE FROM FAIL LIST: speexdsp:x64-osx (.\scripts\ci.baseline.txt)
Probably fixed by https://github.com/microsoft/vcpkg/pull/14758
PASSING, REMOVE FROM FAIL LIST: sundials:arm64-windows (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: sundials:x64-windows (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: sundials:x86-windows (.\scripts\ci.baseline.txt)
Probably fixed by https://github.com/microsoft/vcpkg/pull/14618
PASSING, REMOVE FROM FAIL LIST: wepoll:arm-uwp (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: wepoll:x64-uwp (.\scripts\ci.baseline.txt)
Probably fixed by https://github.com/microsoft/vcpkg/pull/14456 -- and also fixed missing Supports.
REGRESSION: ceres:x64-windows. If expected, add ceres:x64-windows=fail to .\scripts\ci.baseline.txt.
REGRESSION: ceres:x86-windows. If expected, add ceres:x86-windows=fail to .\scripts\ci.baseline.txt.
Probably broken by https://github.com/microsoft/vcpkg/pull/14719 ; ceres has:
```
if (BUILD_BENCHMARKS)
find_package(benchmark QUIET)
if (benchmark_FOUND)
message("-- Found Google benchmark library. Building Ceres benchmarks.")
else()
message("-- Failed to find Google benchmark library, disabling build of benchmarks.")
update_cache_variable(BUILD_BENCHMARKS OFF)
endif()
mark_as_advanced(benchmark_DIR)
endif()
```
so it passed there because Google Benchmark was not also installed. Worked around by `-DBUILD_BENCHMARKS=OFF`.
REGRESSION: dirent:arm64-windows. If expected, add dirent:arm64-windows=fail to .\scripts\ci.baseline.txt.
Transient:
```
-- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz...
-- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```
REGRESSION: discord-rpc:arm64-windows. If expected, add discord-rpc:arm64-windows=fail to .\scripts\ci.baseline.txt.
Transient:
```
-- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz...
-- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```
REGRESSION: libunibreak:x86-windows. If expected, add libunibreak:x86-windows=fail to .\scripts\ci.baseline.txt.
Transient:
```
-- Note: libunibreak only supports static library linkage. Building static library.
-- Downloading 8df6ef4ebe.tar.gz...
-- Downloading 8df6ef4ebe.tar.gz... Failed. Status: 28;"Timeout was reached"
```
REGRESSION: libzip:x86-windows. If expected, add libzip:x86-windows=fail to .\scripts\ci.baseline.txt.
Transient:
```
-- Downloading 66e496489b.tar.gz...
-- Downloading 66e496489b.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```
REGRESSION: ocilib:x64-windows-static. If expected, add ocilib:x64-windows-static=fail to .\scripts\ci.baseline.txt.
Probably broken by https://github.com/microsoft/vcpkg/pull/13158 but it passed there:
(Link target) ->
chromium_base.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymCleanup [D:\buildtrees\ocilib\x64-windows-static-rel\4fc7a69e6d-337dbe59ca.clean\proj\dll\ocilib_dll_vs2019.vcxproj]
Looks like it was skipped before that PR because the port conflicts with chromium-base which couldn't have been caught in that PR. Putting it back on ci.baseline.txt.
REGRESSION: osgearth:x64-windows. If expected, add osgearth:x64-windows=fail to .\scripts\ci.baseline.txt.
REGRESSION: osgearth:x86-windows. If expected, add osgearth:x86-windows=fail to .\scripts\ci.baseline.txt.
Cause unknown. I think we should skip this one in ci.baseline.txt since I've never seen it work OK.
REGRESSION: qt5-tools:x64-windows-static. If expected, add qt5-tools:x64-windows-static=fail to .\scripts\ci.baseline.txt.
Last I heard @ras0219 was investigating this one but that's been a while now. I pinged him again.
* Added patch to add find_dependency() for suitesparse targets downstream
Should address / closemicrosoft/vcpkg#7556
* Bumped port version to -7
* Removed patch that uses vcpkg features for suitesparse and added
suitesparse detection logic in CeresConfig.cmake.in
* Changed configure options to detect features using `vcpkg_check_features()`
* Passed `${FEATURE_OPTIONS}` to `vcpkg_configure_cmake()`
* [many ports] improve compatibility with WSL and mixed case filesystems
* [treehopper] express dependency on libusb, which was not working on non-win32 platforms and is still broken there
* [libharu] add compatibility with non-win32 platforms
* [geogram] fix openblas on linux
[clapack] better integration with linux environment
[visit-struct] put cmake config file in the expected folder
[geogram] remove trailing underscore to enable compatibility with OpenBLAS
* [openblas] playing with underscore, without success
* [openblas/lapack] fix library integration
* [clapack] improve target handling in cmake module
* [openblas] promote self-generated config to default cmake module, otherwise internal ones thinks wrongly that openblas can also solve lapack libs
* [clapack,openblas] improve libraries integration
* [many ports] fix cmake unnecessary target paths, wrong config paths, empty default dependencies, unnecessary [core] tags
* [suitesparse] improve integration with new lapack/openblas mechanism
* [suitesparse] add no underscore postfix also for linux
* [ceres] fix integration with newer openblas/lapack configs
* [aws-c-event-stream] fix regression
* [systemc] fix regression
* [libwebp,geogram] trigger rebuild
* [libwebp,pthread4w] fix regressions
* [glbinding] fix cmake module installation
* [globjects] disentangle unnecessary dependency from qt5
* [jasper] remove broken and unnecessary patches
* [libwebp] fix regression
* [many ports] avoid using BUILD_SHARED_LIBS which is uninitialized in port files
* [clapack] correctly find dlls
* [clapack] use a generic blas as dependency
* [fizz,g2o] restore expected version
* fix mistake
* [many ports] remove WIN32, APPLE and UNIX (again, they keep creeping in) from ports since they are broken and usually break non-win32 ports
* [libressl,openssl] do not try to build one if the other is already installed
* [itk] update ref and patch to avoid regression
* [libressl,openssl] implement full strategy to fix CI
* [libwebp] disable components that are broken on macOS
* [ogre] enable macOS build
* [freeimage,jxrlib,ogre,openexr,protobuf] port patches from #5169
* [ogre] add missing install command
* [ffmpeg] enable wrapper for cmake module
* [ffmpeg] add avresample module finder
* [ffmpeg] improve module detection and exported symbols
* [ffmpeg] add variables to cache
* [thrift] remove unnecessary build option
* [allegro5] fix shared/static inversion
* [protobuf] cleanup
* [libressl] cleanup
* [moos-core] cleanup
* commented features must not be separated from other features, otherwise vcpkg complains
* [itk] fix regression
* [shogun,itk] fix regressions
* [ogre] fix regression
* [opusfile] add compatibility with non-win32
* [itk] fix regression
* [sndfile,libsndfile] remove duplicate, redirect sndfile to libsndfile
* add missing dependencies
* [ismrmrd] fix regression
* [ffmpeg] trigger rebuild
* [clapack,openblas,libogg] fix regressions on macOS
* [libtins] fix regression
* force rebuild windows regressions, unable to reproduce locally
* [mosquitto] enable non-win32 builds
* [json-dto] force rebuild, unable to reproduce regression locally
* [many ports] uniform naming and path length requests
* fix regression
* fix regression
* [ffmpeg] fixes for downstream projects
* clean up - thanks to reviewers
* trigger rebuild of regressions on macOS
* trigger rebuild of regressions on macOS - part2
* Add core back
* Use VCPKG_CONCURRENCY
* Add core back to suitesparse
* Add core back to curl
* Add core back to magnum
* Add core back to magnum
* Add core back to magnum
* Add core back to cgal
* [openexr,openimageio,suitesparse,theia] updates for non-win32
* [theia] use only valid cmake symbols
* [suitesparse] Fix build
* [lapack] still not properly integrating with other ports
* [lapack] intercept cmake module calls and substitute them with our defs
* [suitesparse,clapack] fixes for proper integration
* [ceres,clapack] bump CONTROL
* [suitesparse] remove unnecessary defs
* [clapack] improve wrapper logic
* [WIN32] remove wrong symbol
* [clapack] fix wrapper integration
* [Accelerate] use best framework when available
* [clapack] separate config from wrapper
* [clapack] fix paths and filenames
* [mlpack,armadillo,clapack] improve library handling
* [mlpack] remove unnecessary cmake option
* [clp,coinutils,osi,liblemon] dependencies of openmvg, improve compatibility with non-win32
* [openmvg] fix for case-sensitive filesystems
* [clp,coinutils,osi] simplify CMakeLists removing many unnecessary steps
* [sophus] Force rebuild
* [theia] fixes for linux, part1
* [io2d] remove broken sintax
* [fontconfig] bump version to remove CI cached failure
* [theia] fixes for linux, part2
* [theia] remove unnecessary empty folders and comments from portfile
* [theia] use correct build type removing forced vars in cmakelists.txt
* [openmvg] add missing suitesparse target detection
* [sophus] fix Suitesparse dependency
* [sophus,openmvg] use suitesparse lowercase for module compatibility on case-sensitive filesystems
* [suitesparse] fixes for case-sensitive filesystems
* [openmvg] use correct Eigen3 name for case-sensitive filesystems
* [sophus] trigger rebuild
* [shogun] use modern vcpkg style
* [shogun] add missing cmake system processor symbol
* [ceres, zziplib] fixes for building on non-windows systems
* [jxrlib, zziplib] other fixes for non-windows systems
* [zziplib] fix CMakeLists.txt for non win32 platforms, there were missing exported headers
* [ceres] Fix targets path
* [ceres] Fix typo
* [ceres] trigger CI build
* [ceres] use proper glog/gflags targets
2 install the additional FindEigen Gflags Glog file, because the original ***Config.cmake file of the library do not define proper variable for use in CeresConfig.cmake