From f89336d703bf3ffd2aa4f832f214b42a11c7d044 Mon Sep 17 00:00:00 2001 From: Stefano Sinigardi Date: Sun, 17 Jan 2021 04:26:38 +0100 Subject: [libarchive+tesseract+opencv] add missing libarchiveConfig.cmake, fix tesseract downstream and unblock opencv CI (#15089) * [tesseract] add missing reference for downstream projects * [tesseract] restore ci, fix many regressions that are uncovered by that * Update ports/opencv2/CONTROL Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * [opencv] fix regressions on uwp, accept failure on arm64 for now * Apply suggestions from code review Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * [opencv4] allow failures on all arm windows targets, both win32 and uwp * adopts hints from #15180 * [libarchive] bump control version * [libarchive] use vcpkg-cmake-wrapper instead of a custom libarchiveConfig, since it is vcpkg-provided and not port-provided * enable features to be visible in parent scope * apply documentation fix from CI * [libarchive] remove unnecessary lines in portfile * fix regressions * Update ports/gdcm/CONTROL * use more compact logic syntax * add new versions to baseline Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> --- scripts/cmake/vcpkg_check_features.cmake | 44 +++++++++++++++++--------------- 1 file changed, 23 insertions(+), 21 deletions(-) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_check_features.cmake b/scripts/cmake/vcpkg_check_features.cmake index c22903eaa..be4e1265c 100644 --- a/scripts/cmake/vcpkg_check_features.cmake +++ b/scripts/cmake/vcpkg_check_features.cmake @@ -5,7 +5,7 @@ Check if one or more features are a part of a package installation. ## Usage ```cmake vcpkg_check_features( - OUT_FEATURE_OPTIONS + OUT_FEATURE_OPTIONS [FEATURES [ ] @@ -16,27 +16,27 @@ vcpkg_check_features( ...] ) ``` -`vcpkg_check_features()` accepts these parameters: +`vcpkg_check_features()` accepts these parameters: -* `OUT_FEATURE_OPTIONS`: - An output variable, the function will clear the variable passed to `OUT_FEATURE_OPTIONS` +* `OUT_FEATURE_OPTIONS`: + An output variable, the function will clear the variable passed to `OUT_FEATURE_OPTIONS` and then set it to contain a list of option definitions (`-D=ON|OFF`). - + This should be set to `FEATURE_OPTIONS` by convention. - -* `FEATURES`: - A list of (`FEATURE_NAME`, `OPTION_NAME`) pairs. - For each `FEATURE_NAME` a definition is added to `OUT_FEATURE_OPTIONS` in the form of: - + +* `FEATURES`: + A list of (`FEATURE_NAME`, `OPTION_NAME`) pairs. + For each `FEATURE_NAME` a definition is added to `OUT_FEATURE_OPTIONS` in the form of: + * `-D=ON`, if a feature is specified for installation, - * `-D=OFF`, otherwise. + * `-D=OFF`, otherwise. + +* `INVERTED_FEATURES`: + A list of (`FEATURE_NAME`, `OPTION_NAME`) pairs, uses reversed logic from `FEATURES`. + For each `FEATURE_NAME` a definition is added to `OUT_FEATURE_OPTIONS` in the form of: -* `INVERTED_FEATURES`: - A list of (`FEATURE_NAME`, `OPTION_NAME`) pairs, uses reversed logic from `FEATURES`. - For each `FEATURE_NAME` a definition is added to `OUT_FEATURE_OPTIONS` in the form of: - * `-D=OFF`, if a feature is specified for installation, - * `-D=ON`, otherwise. + * `-D=ON`, otherwise. ## Notes @@ -45,8 +45,8 @@ The `FEATURES` name parameter can be omitted if no `INVERTED_FEATURES` are used. At least one (`FEATURE_NAME`, `OPTION_NAME`) pair must be passed to the function call. -Arguments passed to `FEATURES` and `INVERTED_FEATURES` are not validated to prevent duplication. -If the same (`FEATURE_NAME`, `OPTION_NAME`) pair is passed to both lists, +Arguments passed to `FEATURES` and `INVERTED_FEATURES` are not validated to prevent duplication. +If the same (`FEATURE_NAME`, `OPTION_NAME`) pair is passed to both lists, two conflicting definitions are added to `OUT_FEATURE_OPTIONS`. @@ -114,7 +114,7 @@ vcpkg_configure_cmake( # Expands to "-DWITH_CUDA=ON; -DBUILD_CUDA=ON; -DBUILD_GPU=ON" ${FEATURE_OPTIONS} ) -``` +``` ### Example 4: Use regular and inverted features @@ -136,7 +136,7 @@ vcpkg_configure_cmake( # Expands to "-DWITH_TBB=ON; -DROCKSDB_IGNORE_PACKAGE_TBB=OFF" ${FEATURE_OPTIONS} ) -``` +``` ## Examples in portfiles @@ -172,8 +172,10 @@ function(vcpkg_check_features) set(_vcf_FEATURE_VARIABLE ${_vcf_ARG}) if(${_vcf_FEATURE_NAME} IN_LIST FEATURES) list(APPEND _vcf_FEATURE_OPTIONS "-D${_vcf_FEATURE_VARIABLE}=${_set_if}") + set(${_vcf_FEATURE_VARIABLE} "${_set_if}" PARENT_SCOPE) else() list(APPEND _vcf_FEATURE_OPTIONS "-D${_vcf_FEATURE_VARIABLE}=${_set_else}") + set(${_vcf_FEATURE_VARIABLE} "${_set_else}" PARENT_SCOPE) endif() set(_vcf_IS_FEATURE_NAME_ARG ON) endif() @@ -185,7 +187,7 @@ function(vcpkg_check_features) if (DEFINED _vcf_FEATURES OR DEFINED _vcf_INVERTED_FEATURES) _check_features(_vcf_FEATURES ON OFF) _check_features(_vcf_INVERTED_FEATURES OFF ON) - else() + else() # Skip arguments that correspond to OUT_FEATURE_OPTIONS and its value. list(SUBLIST ARGN 2 -1 _vcf_ARGN) _check_features(_vcf_ARGN ON OFF) -- cgit v1.2.3