Closed sharadhr closed 6 months ago
vcpkg@vcpkgs-Virtual-Machine vcpkg % ./vcpkg version
vcpkg package management program version 2024-02-07-8a83681f921b10d86ae626fd833c253f4f8c355b
See LICENSE.txt for license information.
Sorry I didn't repro your issue.
vcpkg@vcpkgs-Virtual-Machine vcpkg % ./vcpkg install aws-sdk-cpp"[core,s3,transfer]":arm64-osx
...
Building aws-sdk-cpp[core,s3,transfer]:arm64-osx@1.11.255...
-- Downloading https://github.com/aws/aws-sdk-cpp/archive/1.11.255.tar.gz -> aws-aws-sdk-cpp-1.11.255.tar.gz...
-- Extracting source /Users/vcpkg/Monica/vcpkg/downloads/aws-aws-sdk-cpp-1.11.255.tar.gz
-- Applying patch patch-relocatable-rpath.patch
-- Applying patch fix-aws-root.patch
-- Applying patch lock-curl-http-and-tls-settings.patch
-- Using source at /Users/vcpkg/Monica/vcpkg/buildtrees/aws-sdk-cpp/src/1.11.255-06a0085763.clean
-- Found external ninja('1.11.1').
-- Configuring arm64-osx-dbg
-- Configuring arm64-osx-rel
-- Building arm64-osx-dbg
-- Building arm64-osx-rel
-- Installing: /Users/vcpkg/Monica/vcpkg/packages/aws-sdk-cpp_arm64-osx/share/aws-sdk-cpp/copyright
-- Performing post-build validation
Stored binaries in 1 destinations in 2.2 s.
Elapsed time to handle aws-sdk-cpp:arm64-osx: 1.6 min
aws-sdk-cpp:arm64-osx package ABI: cac63618cff9458c595e3070906a26c4a954876fb288b10dd45e93537be9ac59
Total install time: 2.8 min
The package aws-sdk-cpp:arm64-osx provides CMake targets:
When using AWSSDK, AWSSDK_ROOT_DIR must be defined by the user.
find_package(AWSSDK CONFIG COMPONENTS core dynamodb kinesis s3 REQUIRED)
target_include_directories(main PRIVATE ${AWSSDK_INCLUDE_DIRS})
target_link_libraries(main PRIVATE ${AWSSDK_LIBRARIES})
OR
find_package(aws-cpp-sdk-core REQUIRED)
target_include_directories(main PRIVATE aws-cpp-sdk-core)
target_link_libraries(main PRIVATE aws-cpp-sdk-core)
I am under manifest mode. Please look at the vcpkg.json
attached; I can reproduce this with just a minimal working example:
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
"dependencies": [
{
"name": "aws-sdk-cpp",
"default-features": false,
"features": [
"s3",
"transfer"
]
},
{
"name": "curl",
"default-features": false,
"features": [
"c-ares",
"ssl"
]
}
]
}
Confirm, reproduce locally.
This has to do with curl
's feature c-ares
, I'll look into that.
I believe vcpkg-cmake-wrapper.cmake
has to be patched to account for $<LINK_ONLY:c-ares::cares>
. In fact, this needs to be done for other transitive libraries used by curl, too.
Right now, ${CURL_LIBRARIES}
evaluates to something like
CURL_LIBRARIES:
/users/user/repo/vcpkg_installed/arm64-osx/lib/libcurl.a;$<LINK_ONLY:c-ares::cares>;/users/user/repo/vcpkg_installed/arm64-osx/lib/libssl.a;/users/user/repo/vcpkg_installed/arm64-osx/lib/libcrypto.a;dl;/users/user/repo/vcpkg_installed/arm64-osx/lib/libssl.a;/users/user/repo/vcpkg_installed/arm64-osx/lib/libcrypto.a;dl;/users/user/repo/vcpkg_installed/arm64-osx/lib/libz.a
and the problem is evident.
No, the curl wrapper is no longer patched for every possible case. Too many features, dependencies, cmake behaviors, contributors. And not enough test coverage.
So CURL_LIBRARIES
works for many cases, but not for all. (There is a warning for this limitation in the log.) Maybe not for CHECK_C_SOURCE_COMPILES
here.
But there is CURL::libcurl
right from the exported CMake config, and it should work for all CMake purposes. This would mean that the aws packages should be patched to use this target.
Package: aws-sdk-cpp[core,s3,transfer]:arm64-osx@1.11.255
Host Environment
To Reproduce
vcpkg install
Failure logs/Users/sharadh/Desktop/test/vcpkg/buildtrees/aws-sdk-cpp/config-arm64-osx-dbg-out.log
``` -- TARGET_ARCH not specified; inferring host OS to be platform compilation target -- Building AWS libraries as static objects -- Building project version: 1.11.255 -- The CXX compiler identification is AppleClang 15.0.0.15000100 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found PythonInterp: /opt/homebrew/bin/python3.12 (found version "3.12.1") -- Found ZLIB: optimized;/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/lib/libz.a;debug;/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/debug/lib/libz.a (found version "1.3.1") -- Zlib library: optimized;/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/lib/libz.a;debug;/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/debug/lib/libz.a -- Encryption: CommonCrypto -- Http client: Curl -- Found CURL: /Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/share/curl/CURLConfig.cmake (found version "8.5.0-DEV") -- Curl include directory: /Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/include -- Curl target link: optimized;/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/lib/libcurl.a;debug;/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/debug/lib/libcurl-d.a;$/Users/sharadh/Desktop/test/vcpkg/buildtrees/aws-sdk-cpp/config-arm64-osx-dbg-err.log
``` CMake Warning at CMakeLists.txt:9 (message): In 1.11 releases, we are releasing experimental alternative building mode.By setting -DLEGACY_MODE=OFF you can test our advances in modern CMake building and provide early feedback. The legacy support is set by default in 1.11, when you complete build updating scripts please update the build flags as mentioned in README.md and set -DLEGACY_BUILD=OFF. The legacy support will be removed at 1.12.0 release. CMake Deprecation Warning at CMakeLists.txt:17 (cmake_policy): The OLD behavior for policy CMP0077 will be removed from a future version of CMake. The cmake-policies(7) manual explains that the OLD behaviors of all policies are deprecated and that a policy should be set to OLD only under specific short-term circumstances. Projects should be ported to the NEW behavior and not rely on setting a policy to OLD. CMake Warning (dev) at /Users/sharadh/Desktop/test/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package): Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules are removed. Run "cmake --help-policy CMP0148" for policy details. Use the cmake_policy command to set the policy and suppress this warning. Call Stack (most recent call first): CMakeLists.txt:168 (find_package) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning at /Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/share/curl/vcpkg-cmake-wrapper.cmake:49 (message): CURL_LIBRARIES list at least one target. This will not work for use cases where targets are not resolved. Call Stack (most recent call first): /Users/sharadh/Desktop/test/vcpkg/scripts/buildsystems/vcpkg.cmake:813 (include) /opt/homebrew/Cellar/cmake/3.28.2/share/cmake/Modules/FindCURL.cmake:80 (find_package) cmake/external_dependencies.cmake:83 (include) CMakeLists.txt:206 (include) CMake Error at /Users/sharadh/Desktop/test/vcpkg/buildtrees/aws-sdk-cpp/arm64-osx-dbg/CMakeFiles/CMakeScratch/TryCompile-Kth0us/CMakeLists.txt:27 (target_link_libraries): Target "cmTC_59b77" links to: c-ares::cares but the target was not found. Possible reasons include: * There is a typo in the target name. * A find_package call is missing for an IMPORTED target. * An ALIAS target is missing. CMake Error at /opt/homebrew/Cellar/cmake/3.28.2/share/cmake/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile): Failed to generate test project build system. Call Stack (most recent call first): /opt/homebrew/Cellar/cmake/3.28.2/share/cmake/Modules/CheckCSourceCompiles.cmake:52 (cmake_check_source_compiles) /opt/homebrew/Cellar/cmake/3.28.2/share/cmake/Modules/FindThreads.cmake:97 (CHECK_C_SOURCE_COMPILES) /opt/homebrew/Cellar/cmake/3.28.2/share/cmake/Modules/FindThreads.cmake:163 (_threads_check_libc) /Users/sharadh/Desktop/test/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package) /Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/share/aws-c-common/aws-c-common-config.cmake:4 (find_package) /Users/sharadh/Desktop/test/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package) /opt/homebrew/Cellar/cmake/3.28.2/share/cmake/Modules/CMakeFindDependencyMacro.cmake:76 (find_package) /Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/share/aws-c-io/aws-c-io-config.cmake:7 (find_dependency) /Users/sharadh/Desktop/test/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package) /opt/homebrew/Cellar/cmake/3.28.2/share/cmake/Modules/CMakeFindDependencyMacro.cmake:76 (find_package) /Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/share/aws-c-http/aws-c-http-config.cmake:3 (find_dependency) /Users/sharadh/Desktop/test/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package) /opt/homebrew/Cellar/cmake/3.28.2/share/cmake/Modules/CMakeFindDependencyMacro.cmake:76 (find_package) /Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/share/aws-crt-cpp/aws-crt-cpp-config.cmake:3 (find_dependency) /Users/sharadh/Desktop/test/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package) /Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/share/aws-c-common/AwsFindPackage.cmake:19 (find_package) src/aws-cpp-sdk-core/CMakeLists.txt:592 (aws_use_package) ```/Users/sharadh/Desktop/test/vcpkg/buildtrees/aws-sdk-cpp/config-arm64-osx-dbg-CMakeCache.txt.log
``` # This is the CMakeCache file. # For build in directory: /Users/sharadh/Desktop/test/vcpkg/buildtrees/aws-sdk-cpp/arm64-osx-dbg # It was generated by CMake: /opt/homebrew/Cellar/cmake/3.28.2/bin/cmake # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. # If you do want to change a value, simply edit, save, and exit the editor. # The syntax for the file is as follows: # KEY:TYPE=VALUE # KEY is the name of a variable in the cache. # TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. # VALUE is the current value for the KEY. ######################## # EXTERNAL cache entries ######################## //When building for Android, should curl be built as well ANDROID_BUILD_CURL:BOOL=ON //When building for Android, should Openssl be built as well ANDROID_BUILD_OPENSSL:BOOL=ON //When building for Android, should Zlib be built as well ANDROID_BUILD_ZLIB:BOOL=ON //Flag to enable/disable automatically run unit tests after building AUTORUN_UNIT_TESTS:BOOL=ON //Path to append into LD_LIBRARY_PATH for unit tests autorun by // cmake. Set this if custom runtime libs are required for overridden // dependencies. AWS_AUTORUN_LD_LIBRARY_PATH:STRING= //Compiler warning is treated as an error. Try turning this off // when observing errors on a new or uncommon compiler AWS_SDK_WARNINGS_ARE_ERRORS:BOOL=OFF //Region to target integration tests against AWS_TEST_REGION:STRING=US_EAST_1 //User agent extension AWS_USER_AGENT_CUSTOMIZATION:STRING= //Enables building the benchmark executable BUILD_BENCHMARKS:BOOL=OFF //Build third-party dependencies BUILD_DEPS:BOOL=OFF //A semi-colon delimited list of the projects to build BUILD_ONLY:STRING=core;s3;transfer //Enables building the open telemetry implementation of tracing BUILD_OPTEL:BOOL=OFF //Enables building the benchmark tests with open telemetry OTLP // clients BUILD_OPTEL_OTLP_BENCHMARKS:BOOL=OFF //If enabled, all aws sdk libraries will be build as shared objects; // otherwise all Aws libraries will be built as static objects BUILD_SHARED_LIBS:BOOL=OFF //Bypass the machine's default proxy settings when using IXmlHttpRequest2 BYPASS_DEFAULT_PROXY:BOOL=ON //Path to a program. CMAKE_ADDR2LINE:FILEPATH=CMAKE_ADDR2LINE-NOTFOUND //Path to a program. CMAKE_AR:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar //Release build by default. CMAKE_BUILD_TYPE:STRING=Debug CMAKE_CROSSCOMPILING:STRING=OFF //CXX compiler CMAKE_CXX_COMPILER:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ //Flags used by the CXX compiler during all build types. CMAKE_CXX_FLAGS:STRING=-fPIC //Flags used by the CXX compiler during DEBUG builds. CMAKE_CXX_FLAGS_DEBUG:STRING=-g //Flags used by the CXX compiler during MINSIZEREL builds. CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG //Flags used by the CXX compiler during RELEASE builds. CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG //Flags used by the CXX compiler during RELWITHDEBINFO builds. CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG //C compiler CMAKE_C_COMPILER:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc //Flags used by the C compiler during all build types. CMAKE_C_FLAGS:STRING=-fPIC //Flags used by the C compiler during DEBUG builds. CMAKE_C_FLAGS_DEBUG:STRING=-g //Flags used by the C compiler during MINSIZEREL builds. CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG //Flags used by the C compiler during RELEASE builds. CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG //Flags used by the C compiler during RELWITHDEBINFO builds. CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG //Path to a program. CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND //No help, variable specified on the command line. CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION:UNINITIALIZED=ON //Flags used by the linker during all build types. CMAKE_EXE_LINKER_FLAGS:STRING= //Flags used by the linker during DEBUG builds. CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= //Flags used by the linker during MINSIZEREL builds. CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= //Flags used by the linker during RELEASE builds. CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during RELWITHDEBINFO builds. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= //Enable/Disable output of compile commands during generation. CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= //No help, variable specified on the command line. CMAKE_EXPORT_NO_PACKAGE_REGISTRY:UNINITIALIZED=ON //No help, variable specified on the command line. CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY:UNINITIALIZED=ON //No help, variable specified on the command line. CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY:UNINITIALIZED=ON //Value Computed by CMake. CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/Users/sharadh/Desktop/test/vcpkg/buildtrees/aws-sdk-cpp/arm64-osx-dbg/CMakeFiles/pkgRedirects //No help, variable specified on the command line. CMAKE_INSTALL_BINDIR:STRING=bin //No help, variable specified on the command line. CMAKE_INSTALL_LIBDIR:STRING=lib //Path to a program. CMAKE_INSTALL_NAME_TOOL:FILEPATH=/usr/bin/install_name_tool //Install path prefix, prepended onto install directories. CMAKE_INSTALL_PREFIX:PATH=/Users/sharadh/Desktop/test/vcpkg/packages/aws-sdk-cpp_arm64-osx/debug //No help, variable specified on the command line. CMAKE_INSTALL_RPATH:UNINITIALIZED=@loader_path //No help, variable specified on the command line. CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP:UNINITIALIZED=TRUE //Path to a program. CMAKE_LINKER:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld CMAKE_MACOSX_RPATH:BOOL=ON //No help, variable specified on the command line. CMAKE_MAKE_PROGRAM:UNINITIALIZED=/opt/homebrew/bin/ninja //Flags used by the linker during the creation of modules during // all build types. CMAKE_MODULE_LINKER_FLAGS:STRING= //Flags used by the linker during the creation of modules during // DEBUG builds. CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= //Flags used by the linker during the creation of modules during // MINSIZEREL builds. CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= //Flags used by the linker during the creation of modules during // RELEASE builds. CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during the creation of modules during // RELWITHDEBINFO builds. CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= //No help, variable specified on the command line. CMAKE_MODULE_PATH:UNINITIALIZED=/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/share/aws-c-common //Path to a program. CMAKE_NM:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm //Path to a program. CMAKE_OBJCOPY:FILEPATH=CMAKE_OBJCOPY-NOTFOUND //Path to a program. CMAKE_OBJDUMP:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/objdump //Build architectures for OSX CMAKE_OSX_ARCHITECTURES:STRING=arm64 //Minimum OS X version to target for deployment (at runtime); newer // APIs weak linked. Set to empty string for default value. CMAKE_OSX_DEPLOYMENT_TARGET:STRING= //The product will be built against the headers and libraries located // inside the indicated SDK. CMAKE_OSX_SYSROOT:PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk //Value Computed by CMake CMAKE_PROJECT_DESCRIPTION:STATIC= //Value Computed by CMake CMAKE_PROJECT_HOMEPAGE_URL:STATIC= //Value Computed by CMake CMAKE_PROJECT_NAME:STATIC=aws-cpp-sdk-all //Value Computed by CMake CMAKE_PROJECT_VERSION:STATIC=1.11.255 //Value Computed by CMake CMAKE_PROJECT_VERSION_MAJOR:STATIC=1 //Value Computed by CMake CMAKE_PROJECT_VERSION_MINOR:STATIC=11 //Value Computed by CMake CMAKE_PROJECT_VERSION_PATCH:STATIC=255 //Value Computed by CMake CMAKE_PROJECT_VERSION_TWEAK:STATIC= //Path to a program. CMAKE_RANLIB:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib //Path to a program. CMAKE_READELF:FILEPATH=CMAKE_READELF-NOTFOUND //Flags used by the linker during the creation of shared libraries // during all build types. CMAKE_SHARED_LINKER_FLAGS:STRING= //Flags used by the linker during the creation of shared libraries // during DEBUG builds. CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= //Flags used by the linker during the creation of shared libraries // during MINSIZEREL builds. CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= //Flags used by the linker during the creation of shared libraries // during RELEASE builds. CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during the creation of shared libraries // during RELWITHDEBINFO builds. CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= //If set, runtime paths are not added when installing shared libraries, // but are added when building. CMAKE_SKIP_INSTALL_RPATH:BOOL=NO //If set, runtime paths are not added when using shared libraries. CMAKE_SKIP_RPATH:BOOL=NO //Flags used by the linker during the creation of static libraries // during all build types. CMAKE_STATIC_LINKER_FLAGS:STRING= //Flags used by the linker during the creation of static libraries // during DEBUG builds. CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= //Flags used by the linker during the creation of static libraries // during MINSIZEREL builds. CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= //Flags used by the linker during the creation of static libraries // during RELEASE builds. CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during the creation of static libraries // during RELWITHDEBINFO builds. CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= //Path to a program. CMAKE_STRIP:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip CMAKE_SYSTEM_NAME:STRING=Darwin CMAKE_SYSTEM_PROCESSOR:STRING=arm64 CMAKE_SYSTEM_VERSION:STRING=23.2.0 //Path to a program. CMAKE_TAPI:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/tapi //The CMake toolchain file CMAKE_TOOLCHAIN_FILE:FILEPATH=/Users/sharadh/Desktop/test/vcpkg/scripts/buildsystems/vcpkg.cmake //If this value is on, makefiles will be generated without the // .SILENT directive, and all commands will be echoed to the console // during the make. This is useful for debugging only. With Visual // Studio IDE projects all commands are done without /nologo. CMAKE_VERBOSE_MAKEFILE:BOOL=ON //Flag to upgrade the C++ standard used. The default is 11. The // minimum is 11. CPP_STANDARD:STRING=11 //The directory containing a CMake configuration file for CURL. CURL_DIR:PATH=/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/share/curl //If set to ON, generates the sdk project files with custom memory // management enabled, otherwise disables it CUSTOM_MEMORY_MANAGEMENT:BOOL=OFF //Disables IMDSv1 internal client calls DISABLE_INTERNAL_IMDSV1_CALLS:BOOL=OFF //Flags to enable/disable Address Sanitizer for gcc or clang ENABLE_ADDRESS_SANITIZER:BOOL=OFF //If enabled, Curl's internal log will be piped to SDK's logger ENABLE_CURL_LOGGING:BOOL=ON //If enabled, corresponding http client test suites will be built // and run ENABLE_HTTP_CLIENT_TESTING:BOOL=OFF //Flag to enable/disable rtti within the library ENABLE_RTTI:BOOL=ON //Flag to enable/disable building unit and integration tests ENABLE_TESTING:BOOL=OFF //If enabled, the SDK will be built using a single unified .cpp // file for each service library. Reduces the size of static library // binaries on Windows and Linux ENABLE_UNITY_BUILD:BOOL=ON //This option usually works with REGENERATE_CLIENTS. // If enabled when doing code generation, // operation related functions in service clients will be marked // as virtual. If disabled when // doing code generation, virtual will not be added to operation // functions and service client class will be marked as final. // If disabled, SDK will add compiler // flags '-ffunction-sections -fdata-sections' for gcc and clang // when compiling. You can utilize // this feature to work with your linker to reduce binary size // of your application on Unix platforms when doing static linking // in Release mode. ENABLE_VIRTUAL_OPERATIONS:BOOL=ON //For services that support it, request content will be compressed. // On by default if dependency available ENABLE_ZLIB_REQUEST_COMPRESSION:BOOL=ON //No help, variable specified on the command line. FETCHCONTENT_FULLY_DISCONNECTED:UNINITIALIZED=ON //Forces usage of the Curl client rather than the default OS-specific // api FORCE_CURL:BOOL=OFF //If enabled, will unconditionally link the standard libraries // in dynamically, otherwise the standard library will be linked // in based on the BUILD_SHARED_LIBS setting FORCE_SHARED_CRT:BOOL=1 //If the CRT libs are being built from your source tree (add_subdirectory), // set this to ON IN_SOURCE_BUILD:BOOL=OFF //If enabled, the SDK will use 1.11.0 version of CMake files to // build LEGACY_BUILD:BOOL=ON //If enabled, the SDK will be built via a unity aggregation process // that results in smaller static libraries; additionally, release // binaries will favor size optimizations over speed MINIMIZE_SIZE:BOOL=OFF //If enabled, no platform-default encryption will be included in // the library. For the library to be used you will need to provide // your own platform-specific implementations NO_ENCRYPTION:BOOL=OFF //If enabled, no platform-default http client will be included // in the library. For the library to be used you will need to // provide your own platform-specific implementation NO_HTTP_CLIENT:BOOL=OFF //Path to a program. PYTHON_EXECUTABLE:FILEPATH=/opt/homebrew/bin/python3.12 //If set to ON, all clients being built on this run will be regenerated // from the api definitions, this option involves some setup of // python, java 8+, and maven REGENERATE_CLIENTS:BOOL=OFF //If set to ON, defaults mode configuration will be regenerated // from the JSON definitions, this option involves some setup of // python, java 8+, and maven REGENERATE_DEFAULTS:BOOL=OFF //If enabled, removes all the additional indirection (platform/cpu/config) // in the bin and lib directories on the install step SIMPLE_INSTALL:BOOL=ON //If enabled, the common runtime HTTP client will be used, and // the legacy systems such as WinHttp and libcurl will not be built // or included USE_CRT_HTTP_CLIENT:BOOL=OFF //If enabled on windows, the com object IXmlHttpRequest2 will be // used for the http stack USE_IXML_HTTP_REQUEST_2:BOOL=OFF //Set this if you want to use your system's OpenSSL 1.0.2/1.1.1 // compatible libcrypto USE_OPENSSL:BOOL=ON //Set http client to enforce TLS 1.2 USE_TLS_V1_2:BOOL=ON //Set http client to enforce TLS 1.3 USE_TLS_V1_3:BOOL=OFF //Automatically copy dependencies into the output directory for // executables. VCPKG_APPLOCAL_DEPS:BOOL=OFF //No help, variable specified on the command line. VCPKG_CHAINLOAD_TOOLCHAIN_FILE:UNINITIALIZED=/Users/sharadh/Desktop/test/vcpkg/scripts/toolchains/osx.cmake //No help, variable specified on the command line. VCPKG_CRT_LINKAGE:UNINITIALIZED=dynamic //No help, variable specified on the command line. VCPKG_CXX_FLAGS:UNINITIALIZED= //No help, variable specified on the command line. VCPKG_CXX_FLAGS_DEBUG:UNINITIALIZED= //No help, variable specified on the command line. VCPKG_CXX_FLAGS_RELEASE:UNINITIALIZED= //No help, variable specified on the command line. VCPKG_C_FLAGS:UNINITIALIZED= //No help, variable specified on the command line. VCPKG_C_FLAGS_DEBUG:UNINITIALIZED= //No help, variable specified on the command line. VCPKG_C_FLAGS_RELEASE:UNINITIALIZED= //The directory which contains the installed libraries for each // triplet VCPKG_INSTALLED_DIR:PATH=/Users/sharadh/Desktop/test/vcpkg_installed //No help, variable specified on the command line. VCPKG_LINKER_FLAGS:UNINITIALIZED= //No help, variable specified on the command line. VCPKG_LINKER_FLAGS_DEBUG:UNINITIALIZED= //No help, variable specified on the command line. VCPKG_LINKER_FLAGS_RELEASE:UNINITIALIZED= //The path to the vcpkg manifest directory. VCPKG_MANIFEST_DIR:PATH= //Use manifest mode, as opposed to classic mode. VCPKG_MANIFEST_MODE:BOOL=OFF //No help, variable specified on the command line. VCPKG_PLATFORM_TOOLSET:UNINITIALIZED=external //Appends the vcpkg paths to CMAKE_PREFIX_PATH, CMAKE_LIBRARY_PATH // and CMAKE_FIND_ROOT_PATH so that vcpkg libraries/packages are // found after toolchain/system libraries/packages. VCPKG_PREFER_SYSTEM_LIBS:BOOL=OFF //Enable the setup of CMAKE_PROGRAM_PATH to vcpkg paths VCPKG_SETUP_CMAKE_PROGRAM_PATH:BOOL=ON //No help, variable specified on the command line. VCPKG_SET_CHARSET_FLAG:UNINITIALIZED=ON //No help, variable specified on the command line. VCPKG_TARGET_ARCHITECTURE:UNINITIALIZED=arm64 //Vcpkg target triplet (ex. x86-windows) VCPKG_TARGET_TRIPLET:STRING=arm64-osx //Trace calls to find_package() VCPKG_TRACE_FIND_PACKAGE:BOOL=OFF //Enables messages from the VCPKG toolchain for debugging purposes. VCPKG_VERBOSE:BOOL=OFF //(experimental) Automatically copy dependencies into the install // target directory for executables. Requires CMake 3.14. X_VCPKG_APPLOCAL_DEPS_INSTALL:BOOL=OFF //(experimental) Add USES_TERMINAL to VCPKG_APPLOCAL_DEPS to force // serialization. X_VCPKG_APPLOCAL_DEPS_SERIALIZED:BOOL=OFF //Path to a file. ZLIB_INCLUDE_DIR:PATH=/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/include //Path to a library. ZLIB_LIBRARY_DEBUG:FILEPATH=/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/debug/lib/libz.a //Path to a library. ZLIB_LIBRARY_RELEASE:FILEPATH=/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/lib/libz.a //The directory which contains the installed libraries for each // triplet _VCPKG_INSTALLED_DIR:PATH=/Users/sharadh/Desktop/test/vcpkg_installed //No help, variable specified on the command line. _VCPKG_ROOT_DIR:UNINITIALIZED=/Users/sharadh/Desktop/test/vcpkg //The directory containing a CMake configuration file for aws-c-common. aws-c-common_DIR:PATH=/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/share/aws-c-common //The directory containing a CMake configuration file for aws-c-http. aws-c-http_DIR:PATH=/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/share/aws-c-http //The directory containing a CMake configuration file for aws-c-io. aws-c-io_DIR:PATH=/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/share/aws-c-io //Value Computed by CMake aws-cpp-sdk-all_BINARY_DIR:STATIC=/Users/sharadh/Desktop/test/vcpkg/buildtrees/aws-sdk-cpp/arm64-osx-dbg //Value Computed by CMake aws-cpp-sdk-all_IS_TOP_LEVEL:STATIC=ON //Value Computed by CMake aws-cpp-sdk-all_SOURCE_DIR:STATIC=/Users/sharadh/Desktop/test/vcpkg/buildtrees/aws-sdk-cpp/src/1.11.255-06a0085763.clean //Value Computed by CMake aws-cpp-sdk-core_BINARY_DIR:STATIC=/Users/sharadh/Desktop/test/vcpkg/buildtrees/aws-sdk-cpp/arm64-osx-dbg/src/aws-cpp-sdk-core //Value Computed by CMake aws-cpp-sdk-core_IS_TOP_LEVEL:STATIC=OFF //Value Computed by CMake aws-cpp-sdk-core_SOURCE_DIR:STATIC=/Users/sharadh/Desktop/test/vcpkg/buildtrees/aws-sdk-cpp/src/1.11.255-06a0085763.clean/src/aws-cpp-sdk-core //The directory containing a CMake configuration file for aws-crt-cpp. aws-crt-cpp_DIR:PATH=/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/share/aws-crt-cpp //The directory containing a CMake configuration file for c-ares. c-ares_DIR:PATH=/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/share/c-ares ######################## # INTERNAL cache entries ######################## //ADVANCED property for variable: CMAKE_ADDR2LINE CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_AR CMAKE_AR-ADVANCED:INTERNAL=1 //This is the directory where this CMakeCache.txt was created CMAKE_CACHEFILE_DIR:INTERNAL=/Users/sharadh/Desktop/test/vcpkg/buildtrees/aws-sdk-cpp/arm64-osx-dbg //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=28 //Patch version of cmake used to create the current loaded cache CMAKE_CACHE_PATCH_VERSION:INTERNAL=2 //Path to CMake executable. CMAKE_COMMAND:INTERNAL=/opt/homebrew/Cellar/cmake/3.28.2/bin/cmake //Path to cpack program executable. CMAKE_CPACK_COMMAND:INTERNAL=/opt/homebrew/Cellar/cmake/3.28.2/bin/cpack //Path to ctest program executable. CMAKE_CTEST_COMMAND:INTERNAL=/opt/homebrew/Cellar/cmake/3.28.2/bin/ctest //ADVANCED property for variable: CMAKE_CXX_COMPILER CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_COMPILER CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_DLLTOOL CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 //Path to cache edit program executable. CMAKE_EDIT_COMMAND:INTERNAL=/opt/homebrew/Cellar/cmake/3.28.2/bin/ccmake //Executable file format CMAKE_EXECUTABLE_FORMAT:INTERNAL=MACHO //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 //Name of external makefile project generator. CMAKE_EXTRA_GENERATOR:INTERNAL= //Name of generator. CMAKE_GENERATOR:INTERNAL=Ninja //Generator instance identifier. CMAKE_GENERATOR_INSTANCE:INTERNAL= //Name of generator platform. CMAKE_GENERATOR_PLATFORM:INTERNAL= //Name of generator toolset. CMAKE_GENERATOR_TOOLSET:INTERNAL= //Result of TRY_COMPILE CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=FALSE //Source directory with the top level CMakeLists.txt file for this // project CMAKE_HOME_DIRECTORY:INTERNAL=/Users/sharadh/Desktop/test/vcpkg/buildtrees/aws-sdk-cpp/src/1.11.255-06a0085763.clean //ADVANCED property for variable: CMAKE_INSTALL_NAME_TOOL CMAKE_INSTALL_NAME_TOOL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_LINKER CMAKE_LINKER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_NM CMAKE_NM-ADVANCED:INTERNAL=1 //number of local generators CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=2 //ADVANCED property for variable: CMAKE_OBJCOPY CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_OBJDUMP CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 //Platform information initialized CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 //ADVANCED property for variable: CMAKE_RANLIB CMAKE_RANLIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_READELF CMAKE_READELF-ADVANCED:INTERNAL=1 //Path to CMake installation. CMAKE_ROOT:INTERNAL=/opt/homebrew/Cellar/cmake/3.28.2/share/cmake //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SKIP_RPATH CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STRIP CMAKE_STRIP-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_TAPI CMAKE_TAPI-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_TOOLCHAIN_FILE CMAKE_TOOLCHAIN_FILE-ADVANCED:INTERNAL=1 //uname command CMAKE_UNAME:INTERNAL=/usr/bin/uname //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CURL_DIR CURL_DIR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CURL_LIBRARY_DEBUG CURL_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 //vcpkg CURL_LIBRARY_DEBUG:INTERNAL=/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/debug/lib/libcurl-d.a //ADVANCED property for variable: CURL_LIBRARY_RELEASE CURL_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 //vcpkg CURL_LIBRARY_RELEASE:INTERNAL=/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/lib/libcurl.a //Details about finding CURL FIND_PACKAGE_MESSAGE_DETAILS_CURL:INTERNAL=[/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/share/curl/CURLConfig.cmake][c ][v8.5.0-DEV()] //Details about finding PythonInterp FIND_PACKAGE_MESSAGE_DETAILS_PythonInterp:INTERNAL=[/opt/homebrew/bin/python3.12][v3.12.1()] //Details about finding ZLIB FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[optimized;/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/lib/libz.a;debug;/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/debug/lib/libz.a][/Users/sharadh/Desktop/test/vcpkg_installed/arm64-osx/include][c ][v1.3.1()] //Have symbol pathconf HAS_PATHCONF:INTERNAL=1 //Have symbol umask HAS_UMASK:INTERNAL=1 //ADVANCED property for variable: PYTHON_EXECUTABLE PYTHON_EXECUTABLE-ADVANCED:INTERNAL=1 //Install the dependencies listed in your manifest: //\n If this is off, you will have to manually install your dependencies. //\n See https://github.com/microsoft/vcpkg/tree/master/docs/specifications/manifests.md // for more info. //\n VCPKG_MANIFEST_INSTALL:INTERNAL=OFF //ADVANCED property for variable: VCPKG_VERBOSE VCPKG_VERBOSE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ZLIB_INCLUDE_DIR ZLIB_INCLUDE_DIR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ZLIB_LIBRARY_DEBUG ZLIB_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ZLIB_LIBRARY_RELEASE ZLIB_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 //Making sure VCPKG_MANIFEST_MODE doesn't change Z_VCPKG_CHECK_MANIFEST_MODE:INTERNAL=OFF //Vcpkg root directory Z_VCPKG_ROOT_DIR:INTERNAL=/Users/sharadh/Desktop/test/vcpkg ```Additional context
vcpkg.json
``` { "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "dependencies": [ { "name": "aws-sdk-cpp", "default-features": false, "features": [ "s3", "transfer" ] }, { "name": "curl", "default-features": false, "features": [ "c-ares", "ssl" ] } ] } ```