From dd26c3c74475433a8a59f1e7ec8d91f3831b241b Mon Sep 17 00:00:00 2001 From: Ruei Yang Huang Date: Wed, 13 Sep 2023 03:41:14 +0000 Subject: [PATCH] Release of version 2.0.0.9 --- CHANGELOG.md | 8 + src/odbc/rsodbc/Release/objects.mk | 4 +- src/odbc/rsodbc/Release/subdir.mk | 9 + src/odbc/rsodbc/iam/RsIamClient.cpp | 113 ++- src/odbc/rsodbc/iam/RsIamClient.h | 8 +- src/odbc/rsodbc/iam/RsIamEntry.cpp | 12 +- src/odbc/rsodbc/iam/RsIamHelper.cpp | 777 +++++++++--------- src/odbc/rsodbc/iam/RsIamHelper.h | 8 + src/odbc/rsodbc/iam/RsSettings.h | 10 +- src/odbc/rsodbc/iam/core/IAMConfiguration.cpp | 78 ++ src/odbc/rsodbc/iam/core/IAMConfiguration.h | 50 ++ src/odbc/rsodbc/iam/core/IAMUtils.cpp | 97 ++- src/odbc/rsodbc/iam/core/IAMUtils.h | 17 +- .../iam/plugins/BrowserIdcAuthPlugin.cpp | 412 ++++++++++ .../rsodbc/iam/plugins/BrowserIdcAuthPlugin.h | 114 +++ .../rsodbc/iam/plugins/IAMPluginFactory.cpp | 32 + .../rsodbc/iam/plugins/IAMPluginFactory.h | 28 + .../rsodbc/iam/plugins/IdpTokenAuthPlugin.cpp | 58 ++ .../rsodbc/iam/plugins/IdpTokenAuthPlugin.h | 38 + .../NativePluginCredentialsProvider.cpp | 34 + .../plugins/NativePluginCredentialsProvider.h | 49 ++ src/odbc/rsodbc/iam/rs_iam_support.h | 9 + .../1.11.111/include/aws/common/config.h | 46 +- .../1.11.111/include/aws/crt/Config.h | 22 +- .../aws-c-auth/cmake/aws-c-auth-config.cmake | 52 +- .../static/aws-c-auth-targets-release.cmake | 38 +- .../cmake/static/aws-c-auth-targets.cmake | 248 +++--- .../aws-c-cal/cmake/aws-c-cal-config.cmake | 74 +- .../static/aws-c-cal-targets-release.cmake | 38 +- .../cmake/static/aws-c-cal-targets.cmake | 248 +++--- .../cmake/aws-c-common-config.cmake | 48 +- .../static/aws-c-common-targets-release.cmake | 38 +- .../cmake/static/aws-c-common-targets.cmake | 216 ++--- .../cmake/aws-c-compression-config.cmake | 44 +- .../aws-c-compression-targets-release.cmake | 38 +- .../static/aws-c-compression-targets.cmake | 248 +++--- .../cmake/aws-c-event-stream-config.cmake | 44 +- .../aws-c-event-stream-targets-release.cmake | 38 +- .../static/aws-c-event-stream-targets.cmake | 248 +++--- .../aws-c-http/cmake/aws-c-http-config.cmake | 46 +- .../static/aws-c-http-targets-release.cmake | 38 +- .../cmake/static/aws-c-http-targets.cmake | 248 +++--- .../lib/aws-c-io/cmake/aws-c-io-config.cmake | 54 +- .../static/aws-c-io-targets-release.cmake | 38 +- .../cmake/static/aws-c-io-targets.cmake | 250 +++--- .../aws-c-mqtt/cmake/aws-c-mqtt-config.cmake | 52 +- .../static/aws-c-mqtt-targets-release.cmake | 38 +- .../cmake/static/aws-c-mqtt-targets.cmake | 250 +++--- .../lib/aws-c-s3/cmake/aws-c-s3-config.cmake | 48 +- .../static/aws-c-s3-targets-release.cmake | 38 +- .../cmake/static/aws-c-s3-targets.cmake | 248 +++--- .../cmake/aws-c-sdkutils-config.cmake | 44 +- .../aws-c-sdkutils-targets-release.cmake | 38 +- .../cmake/static/aws-c-sdkutils-targets.cmake | 248 +++--- .../cmake/aws-checksums-config.cmake | 36 +- .../aws-checksums-targets-release.cmake | 38 +- .../cmake/static/aws-checksums-targets.cmake | 248 +++--- .../cmake/aws-crt-cpp-config-version.cmake | 166 ++-- .../cmake/aws-crt-cpp-config.cmake | 54 +- .../static/aws-crt-cpp-targets-release.cmake | 38 +- .../cmake/static/aws-crt-cpp-targets.cmake | 248 +++--- .../cmake/AWSSDK/AWSSDKConfigVersion.cmake | 90 +- .../lib/cmake/AWSSDK/platformDeps.cmake | 42 +- .../aws-cpp-sdk-core-config-version.cmake | 86 +- .../aws-cpp-sdk-core-config.cmake | 38 +- .../aws-cpp-sdk-core-targets-release.cmake | 38 +- .../aws-cpp-sdk-core-targets.cmake | 248 +++--- ...k-redshift-serverless-config-version.cmake | 86 +- ...s-cpp-sdk-redshift-serverless-config.cmake | 2 +- ...-redshift-serverless-targets-release.cmake | 38 +- ...-cpp-sdk-redshift-serverless-targets.cmake | 246 +++--- .../aws-cpp-sdk-redshift-config-version.cmake | 86 +- .../aws-cpp-sdk-redshift-config.cmake | 2 +- ...aws-cpp-sdk-redshift-targets-release.cmake | 38 +- .../aws-cpp-sdk-redshift-targets.cmake | 246 +++--- .../aws-cpp-sdk-sso-oidc-config-version.cmake | 86 +- .../aws-cpp-sdk-sso-oidc-config.cmake | 2 +- ...aws-cpp-sdk-sso-oidc-targets-release.cmake | 38 +- .../aws-cpp-sdk-sso-oidc-targets.cmake | 246 +++--- .../aws-cpp-sdk-sts-config-version.cmake | 86 +- .../aws-cpp-sdk-sts-config.cmake | 2 +- .../aws-cpp-sdk-sts-targets-release.cmake | 38 +- .../aws-cpp-sdk-sts-targets.cmake | 246 +++--- .../rsodbc/iam/windows/cares/include/ares.h | 764 +++++++++++++++++ .../iam/windows/cares/include/ares_build.h | 43 + .../iam/windows/cares/include/ares_dns.h | 112 +++ .../iam/windows/cares/include/ares_nameser.h | 484 +++++++++++ .../iam/windows/cares/include/ares_rules.h | 125 +++ .../iam/windows/cares/include/ares_version.h | 24 + .../iam/windows/cares/lib/Debug/cares.exp | Bin 0 -> 8442 bytes .../iam/windows/cares/lib/Debug/cares.lib | 3 + .../windows/cares/lib/Debug/cares_static.lib | 3 + .../iam/windows/cares/lib/Release/cares.exp | Bin 0 -> 8444 bytes .../cares/lib/Release/cares_static.lib | 3 + src/odbc/rsodbc/package64.sh | 8 + src/odbc/rsodbc/rscatalog.cpp | 6 +- src/odbc/rsodbc/rsconnect.cpp | 128 ++- src/odbc/rsodbc/rsiam.h | 8 + src/odbc/rsodbc/rslibpq.c | 33 +- src/odbc/rsodbc/rsodbc.h | 57 +- src/odbc/rsodbc/rsodbc.vcxproj | 18 +- src/odbc/rsodbc/rsodbc.vcxproj.filters | 18 + src/odbc/rsodbc/rsodbc_setup/resource.h | 14 + src/odbc/rsodbc/rsodbc_setup/rsodbcsetup.rc | 14 + src/odbc/rsodbc/rsodbc_setup/setup.c | 157 +++- src/odbc/rsodbc/rsodbc_setup/version.h | 2 +- .../src/interfaces/libpq/fe-connect.c | 22 + .../src/interfaces/libpq/fe-protocol3.c | 7 + src/pgclient/src/interfaces/libpq/libpq-int.h | 4 + 109 files changed, 6661 insertions(+), 3625 deletions(-) create mode 100644 src/odbc/rsodbc/iam/plugins/BrowserIdcAuthPlugin.cpp create mode 100644 src/odbc/rsodbc/iam/plugins/BrowserIdcAuthPlugin.h create mode 100644 src/odbc/rsodbc/iam/plugins/IdpTokenAuthPlugin.cpp create mode 100644 src/odbc/rsodbc/iam/plugins/IdpTokenAuthPlugin.h create mode 100644 src/odbc/rsodbc/iam/plugins/NativePluginCredentialsProvider.cpp create mode 100644 src/odbc/rsodbc/iam/plugins/NativePluginCredentialsProvider.h create mode 100644 src/odbc/rsodbc/iam/windows/cares/include/ares.h create mode 100644 src/odbc/rsodbc/iam/windows/cares/include/ares_build.h create mode 100644 src/odbc/rsodbc/iam/windows/cares/include/ares_dns.h create mode 100644 src/odbc/rsodbc/iam/windows/cares/include/ares_nameser.h create mode 100644 src/odbc/rsodbc/iam/windows/cares/include/ares_rules.h create mode 100644 src/odbc/rsodbc/iam/windows/cares/include/ares_version.h create mode 100644 src/odbc/rsodbc/iam/windows/cares/lib/Debug/cares.exp create mode 100644 src/odbc/rsodbc/iam/windows/cares/lib/Debug/cares.lib create mode 100644 src/odbc/rsodbc/iam/windows/cares/lib/Debug/cares_static.lib create mode 100644 src/odbc/rsodbc/iam/windows/cares/lib/Release/cares.exp create mode 100644 src/odbc/rsodbc/iam/windows/cares/lib/Release/cares_static.lib diff --git a/CHANGELOG.md b/CHANGELOG.md index 433f47c9..6a103986 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ Changelog ========= +v2.0.0.9 (2023-09-11) +================== + +1. Added Identity Center authentication support with new plugins. +2. Fixed IAM Authentication to support longer temporary passwords from 129 to 32767 characters. +3. Added automatic region detection for Custom Cluster Naming (CNAME) feature. + + v2.0.0.8 (2023-08-15) --------------------- - Fixed regular expressions used for parsing HTML Tag value responses received form for Ping IdP.[Ruei-Yang Huang] diff --git a/src/odbc/rsodbc/Release/objects.mk b/src/odbc/rsodbc/Release/objects.mk index f418f234..e7ccfc5b 100644 --- a/src/odbc/rsodbc/Release/objects.mk +++ b/src/odbc/rsodbc/Release/objects.mk @@ -4,10 +4,10 @@ USER_OBJS := -THIRD_PARTY_LIBS := $(AWS_SDK_LIB_DIR)/libaws-cpp-sdk-redshift.a $(AWS_SDK_LIB_DIR)/libaws-cpp-sdk-redshift-serverless.a $(AWS_SDK_LIB_DIR)/libaws-cpp-sdk-sts.a $(AWS_SDK_LIB_DIR)/libaws-cpp-sdk-core.a $(AWS_SDK_LIB_DIR)/libaws-crt-cpp.a $(AWS_SDK_LIB_DIR)/libaws-c-s3.a $(AWS_SDK_LIB_DIR)/libaws-c-auth.a $(AWS_SDK_LIB_DIR)/libaws-c-event-stream.a $(AWS_SDK_LIB_DIR)/libaws-c-http.a $(AWS_SDK_LIB_DIR)/libaws-c-mqtt.a $(AWS_SDK_LIB_DIR)/libaws-c-io.a $(AWS_SDK_LIB_DIR)/libaws-c-cal.a $(AWS_SDK_LIB_DIR)/libaws-checksums.a $(AWS_SDK_LIB_DIR)/libaws-c-compression.a $(AWS_SDK_LIB_DIR)/libaws-c-common.a $(AWS_SDK_LIB_DIR)/libs2n.a $(AWS_SDK_LIB_DIR)/libaws-c-sdkutils.a $(CURL_LIB_DIR)/libcurl.a $(OPENSSL_LIB_DIR)/libssl.a $(OPENSSL_LIB_DIR)/libcrypto.a +THIRD_PARTY_LIBS := $(AWS_SDK_LIB_DIR)/libaws-cpp-sdk-redshift.a $(AWS_SDK_LIB_DIR)/libaws-cpp-sdk-sso-oidc.a $(AWS_SDK_LIB_DIR)/libaws-cpp-sdk-redshift-serverless.a $(AWS_SDK_LIB_DIR)/libaws-cpp-sdk-sts.a $(AWS_SDK_LIB_DIR)/libaws-cpp-sdk-core.a $(AWS_SDK_LIB_DIR)/libaws-crt-cpp.a $(AWS_SDK_LIB_DIR)/libaws-c-s3.a $(AWS_SDK_LIB_DIR)/libaws-c-auth.a $(AWS_SDK_LIB_DIR)/libaws-c-event-stream.a $(AWS_SDK_LIB_DIR)/libaws-c-http.a $(AWS_SDK_LIB_DIR)/libaws-c-mqtt.a $(AWS_SDK_LIB_DIR)/libaws-c-io.a $(AWS_SDK_LIB_DIR)/libaws-c-cal.a $(AWS_SDK_LIB_DIR)/libaws-checksums.a $(AWS_SDK_LIB_DIR)/libaws-c-compression.a $(AWS_SDK_LIB_DIR)/libaws-c-common.a $(AWS_SDK_LIB_DIR)/libs2n.a $(AWS_SDK_LIB_DIR)/libaws-c-sdkutils.a $(CURL_LIB_DIR)/libcurl.a $(OPENSSL_LIB_DIR)/libssl.a $(OPENSSL_LIB_DIR)/libcrypto.a ifdef DEPENDENCY_DIR THIRD_PARTY_LIBS += $(DEPENDENCY_DIR)/lib/libnghttp2.a $(DEPENDENCY_DIR)/lib/libcares.a $(DEPENDENCY_DIR)/lib/libkeyutils.a $(DEPENDENCY_DIR)/lib/libz.a endif -LIBS := $(THIRD_PARTY_LIBS) -lpq -lpgport -lpthread -lkrb5 -lgssapi_krb5 -lz -ldl -lrt +LIBS := $(THIRD_PARTY_LIBS) -lpq -lpgport -lpthread -lkrb5 -lgssapi_krb5 -lz -ldl -lrt -lresolv diff --git a/src/odbc/rsodbc/Release/subdir.mk b/src/odbc/rsodbc/Release/subdir.mk index 9c4cc502..35e7054a 100644 --- a/src/odbc/rsodbc/Release/subdir.mk +++ b/src/odbc/rsodbc/Release/subdir.mk @@ -58,6 +58,9 @@ CPP_SRCS += \ ../iam/plugins/IAMJwtPluginCredentialsProvider.cpp \ ../iam/plugins/IAMJwtBasicCredentialsProvider.cpp \ ../iam/plugins/JwtIamAuthPlugin.cpp \ +../iam/plugins/IdpTokenAuthPlugin.cpp \ +../iam/plugins/BrowserIdcAuthPlugin.cpp \ +../iam/plugins/NativePluginCredentialsProvider.cpp \ ../iam/plugins/IAMExternalCredentialsProvider.cpp \ ../iam/plugins/IAMPluginFactory.cpp @@ -113,6 +116,9 @@ OBJS += \ ./IAMJwtPluginCredentialsProvider.o \ ./IAMJwtBasicCredentialsProvider.o \ ./JwtIamAuthPlugin.o \ +./IdpTokenAuthPlugin.o \ +./BrowserIdcAuthPlugin.o \ +./NativePluginCredentialsProvider.o \ ./IAMExternalCredentialsProvider.o \ ./IAMPluginFactory.o @@ -169,8 +175,11 @@ C_DEPS += \ ./IAMBrowserAzureCredentialsProvider.d \ ./IAMBrowserAzureOAuth2CredentialsProvider.d \ ./IAMJwtPluginCredentialsProvider.d \ + ./NativePluginCredentialsProvider.d \ ./IAMJwtBasicCredentialsProvider.d \ ./JwtIamAuthPlugin.d \ + ./IdpTokenAuthPlugin.d \ + ./BrowserIdcAuthPlugin.d \ ./IAMExternalCredentialsProvider.d \ ./IAMPluginFactory.d diff --git a/src/odbc/rsodbc/iam/RsIamClient.cpp b/src/odbc/rsodbc/iam/RsIamClient.cpp index 659b8825..5b79636a 100644 --- a/src/odbc/rsodbc/iam/RsIamClient.cpp +++ b/src/odbc/rsodbc/iam/RsIamClient.cpp @@ -7,6 +7,13 @@ #include "IAMUtils.h" #include "RsSettings.h" +#include +#include +#if defined LINUX +#include +#include // Include netdb.h for the complete struct hostent definition +#endif + #include #include #include @@ -42,6 +49,8 @@ namespace /************************************************************************/ static const rs_string PGO_IAM_ERROR_SSL_DISABLED( "IAM Authentication requires SSL connection."); + static const rs_string PGO_FEDERATED_NON_IAM_ERROR_SSL_DISABLED( + "Authentication must use an SSL connection."); } // Static ========================================================================================== @@ -73,14 +82,37 @@ m_log(in_logger) rsUnlockMutex(s_criticalSection); } +bool static isIdcOrNativeIdpPlugin(const rs_string &pluginName) { + return IAMUtils::isEqual(IAMUtils::convertStringToWstring(pluginName), + IAMUtils::convertCharStringToWstring(IAM_PLUGIN_BROWSER_AZURE_OAUTH2), false) || + IAMUtils::isEqual(IAMUtils::convertStringToWstring(pluginName), + IAMUtils::convertCharStringToWstring(PLUGIN_IDP_TOKEN_AUTH), false) || + IAMUtils::isEqual(IAMUtils::convertStringToWstring(pluginName), + IAMUtils::convertCharStringToWstring(PLUGIN_BROWSER_IDC_AUTH), false); +} + +bool static isIdcPlugin(const rs_string &pluginName) { + return IAMUtils::isEqual(IAMUtils::convertStringToWstring(pluginName), + IAMUtils::convertCharStringToWstring(PLUGIN_IDP_TOKEN_AUTH), false) || + IAMUtils::isEqual(IAMUtils::convertStringToWstring(pluginName), + IAMUtils::convertCharStringToWstring(PLUGIN_BROWSER_IDC_AUTH), false); +} + +rs_string RsIamClient::GetPluginName() { + rs_wstring pluginName = m_settings.m_pluginName; + IAMUtils::trim(pluginName); + pluginName = IAMUtils::toLower(pluginName); + return IAMUtils::convertToUTF8(pluginName); +} + //////////////////////////////////////////////////////////////////////////////////////////////////// void RsIamClient::Connect() { RS_LOG(m_log)("RsIamClient::Connect"); bool isNativeAuth = false; - ValidateConnectionAttributes(); const rs_string authType = InferCredentialsProvider(); + ValidateConnectionAttributes(authType); RS_LOG(m_log)("RsIamClient::Connect IAM AuthType: %s", ((authType.empty()) ? (char *)"Default" : (char *)authType.c_str())); @@ -90,17 +122,22 @@ void RsIamClient::Connect() if (authType == IAM_AUTH_TYPE_PLUGIN) { + if (isIdcPlugin(config.GetPluginName()) && m_settings.m_iamAuth) { + IAMUtils::ThrowConnectionExceptionWithInfo( + "You can not use this authentication plugin with IAM enabled."); + } + credentialsProvider = IAMFactory::CreatePluginCredentialsProvider(m_log, config); if (credentialsProvider) { - if (IAMUtils::isEqual(IAMUtils::convertStringToWstring(config.GetPluginName()), IAMUtils::convertCharStringToWstring(IAM_PLUGIN_BROWSER_AZURE_OAUTH2), false)) - isNativeAuth = true; - - if (!isNativeAuth) - { - static_cast(*credentialsProvider) - .GetConnectionSettings(m_credentials); - } + if (isIdcOrNativeIdpPlugin(config.GetPluginName())) { + isNativeAuth = true; + } + + if (!isNativeAuth) { + static_cast(*credentialsProvider) + .GetConnectionSettings(m_credentials); + } } } else if (authType == IAM_AUTH_TYPE_PROFILE) @@ -149,14 +186,22 @@ void RsIamClient::Connect() GetClusterCredentials(credentialsProvider); } } - else - { - /* Validate that all required arguments for plugin are provided */ - static_cast(*credentialsProvider).ValidateArgumentsMap(); - rs_string idp_token = static_cast(*credentialsProvider).GetJwtAssertion(); - m_credentials.SetIdpToken(idp_token); - m_credentials.SetFixExpirationTime(); - } + else + { + if (isIdcPlugin(config.GetPluginName())) { + rs_string auth_token = + static_cast(*credentialsProvider).GetAuthToken(); + m_credentials.SetIdpToken(auth_token); + } else { // native idp AzureAD plugin + /* Validate that all required arguments for plugin are provided */ + static_cast(*credentialsProvider) + .ValidateArgumentsMap(); + rs_string idp_token = + static_cast(*credentialsProvider).GetJwtAssertion(); + m_credentials.SetIdpToken(idp_token); + } + m_credentials.SetFixExpirationTime(); + } } //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -278,8 +323,14 @@ Model::GetClusterCredentialsOutcome RsIamClient::SendClusterCredentialsRequest( inferredAwsRegion = hostnameTokens[2]; } + if(m_settings.m_isCname && inferredAwsRegion.empty() ){ + config.region = IAMUtils().GetAwsRegionFromCname(m_settings.m_host); + } + else + { config.region = m_settings.m_awsRegion.empty() ? inferredAwsRegion : m_settings.m_awsRegion; config.endpointOverride = IAMUtils::convertToUTF8(m_settings.m_endpointUrl); + } if (m_settings.m_stsConnectionTimeout > 0) { @@ -411,7 +462,9 @@ Model::GetClusterCredentialsOutcome RsIamClient::SendClusterCredentialsRequest( request.SetClusterIdentifier(m_settings.m_clusterIdentifer.empty() ? inferredClusterId.c_str() : m_settings.m_clusterIdentifer.c_str()); // Set the cluster identifier instead } } -#endif + +#endif + /* if host is empty describe cluster using cluster id */ if (m_settings.m_host.empty() || m_settings.m_port == 0) { if (m_settings.m_clusterIdentifer.empty() && tempClusterIdentifier.empty()) { @@ -463,8 +516,14 @@ Model::GetClusterCredentialsWithIAMOutcome RsIamClient::SendClusterCredentialsWi inferredAwsRegion = hostnameTokens[2]; } + if(m_settings.m_isCname && inferredAwsRegion.empty()){ + config.region = IAMUtils().GetAwsRegionFromCname(m_settings.m_host); + } + else + { config.region = m_settings.m_awsRegion.empty() ? inferredAwsRegion : m_settings.m_awsRegion; config.endpointOverride = IAMUtils::convertToUTF8(m_settings.m_endpointUrl); + } if (m_settings.m_stsConnectionTimeout > 0) { @@ -797,7 +856,7 @@ void RsIamClient::GetServerlessCredentials( //////////////////////////////////////////////////////////////////////////////////////////////////// -void RsIamClient::ValidateConnectionAttributes() +void RsIamClient::ValidateConnectionAttributes(const rs_string &in_authType) { RS_LOG(m_log)("RsIamClient::ValidateConnectionAttributes"); @@ -812,6 +871,9 @@ void RsIamClient::ValidateConnectionAttributes() if (!isSSLModeEnabled) { + if(in_authType == IAM_AUTH_TYPE_PLUGIN && isIdcOrNativeIdpPlugin(GetPluginName())) { + IAMUtils::ThrowConnectionExceptionWithInfo(PGO_FEDERATED_NON_IAM_ERROR_SSL_DISABLED); + } IAMUtils::ThrowConnectionExceptionWithInfo(PGO_IAM_ERROR_SSL_DISABLED); } } @@ -908,10 +970,7 @@ IAMConfiguration RsIamClient::CreateIAMConfiguration(const rs_string& in_authTyp if (in_authType == IAM_AUTH_TYPE_PLUGIN) { /* Plugin AuthType specific connection attributes */ - rs_wstring pluginName = m_settings.m_pluginName; - IAMUtils::trim(pluginName); - pluginName = IAMUtils::toLower(pluginName); - config.SetPluginName(IAMUtils::convertToUTF8(pluginName)); + config.SetPluginName(GetPluginName()); config.SetIdpHost(IAMUtils::convertToUTF8(m_settings.m_idpHost)); config.SetIdpPort(m_settings.m_idpPort); @@ -933,7 +992,13 @@ IAMConfiguration RsIamClient::CreateIAMConfiguration(const rs_string& in_authTyp config.SetWebIdentityToken(m_settings.m_web_identity_token); config.SetDuration(m_settings.m_duration); config.SetRoleSessionName(m_settings.m_role_session_name); + config.SetIdpAuthToken(m_settings.m_idpAuthToken); + config.SetIdpAuthTokenType(m_settings.m_idpAuthTokenType); config.SetRegion(m_settings.m_awsRegion); + config.SetStartUrl(m_settings.m_startUrl); + config.SetIdcRegion(m_settings.m_idcRegion); + config.SetIdcResponseTimeout(m_settings.m_idcResponseTimeout); + config.SetIdcClientDisplayName(m_settings.m_idcClientDisplayName); } else if (in_authType == IAM_AUTH_TYPE_PROFILE) { @@ -1030,4 +1095,4 @@ rs_string RsIamClient::ReadAuthProfile(rs_string auth_profile_name, const Aws::Redshift::Model::AuthenticationProfile& authProfile = profilesList[0]; return authProfile.GetAuthenticationProfileContent(); -} +} \ No newline at end of file diff --git a/src/odbc/rsodbc/iam/RsIamClient.h b/src/odbc/rsodbc/iam/RsIamClient.h index db73810b..54f686d5 100755 --- a/src/odbc/rsodbc/iam/RsIamClient.h +++ b/src/odbc/rsodbc/iam/RsIamClient.h @@ -44,14 +44,11 @@ namespace RedshiftODBC rs_string host, rs_string region); - // count the number of PGOIamClient be initialized, used to InitAPI and ShutdownAPI static int s_iamClientCount; // The critical section used for Aws InitAPI LOCK static MUTEX_HANDLE s_criticalSection; - - /// @brief Destructor. ~RsIamClient(); private: @@ -163,7 +160,7 @@ namespace RedshiftODBC /// @brief Validate the connection attributes in PGOSettings /// /// @exception ErrorException when any attribute in PGOSettings is not valid. - void ValidateConnectionAttributes(); + void ValidateConnectionAttributes(const rs_string& in_authType); /// @brief Infer the credentials provider to used given the connection attribute rs_string InferCredentialsProvider(); @@ -176,6 +173,9 @@ namespace RedshiftODBC Redshift::IamSupport::IAMConfiguration CreateIAMConfiguration( const rs_string& in_authType = rs_string()); + /// @brief Get the plugin name + rs_string GetPluginName(); + /// @brief Disabled assignment operator to avoid warning. /// /// @param in_pgoIamClient The PGOIamClient to assign to the current PGOIamClient. diff --git a/src/odbc/rsodbc/iam/RsIamEntry.cpp b/src/odbc/rsodbc/iam/RsIamEntry.cpp index d809ceab..9ae95e84 100644 --- a/src/odbc/rsodbc/iam/RsIamEntry.cpp +++ b/src/odbc/rsodbc/iam/RsIamEntry.cpp @@ -14,13 +14,13 @@ void RsIamEntry::IamAuthentication( /*================================================================================================*/ void RsIamEntry::NativePluginAuthentication( - bool isIAMAuth, - RS_IAM_CONN_PROPS_INFO *pIamProps, - RS_PROXY_CONN_PROPS_INFO *pHttpsProps, - RsSettings& settings, - RsLogger *logger) + bool isIAMAuth, + RS_IAM_CONN_PROPS_INFO *pIamProps, + RS_PROXY_CONN_PROPS_INFO *pHttpsProps, + RsSettings& settings, + RsLogger *logger) { - RsIamHelper::NativePluginAuthentication(isIAMAuth, pIamProps, pHttpsProps, settings, logger); + RsIamHelper::NativePluginAuthentication(isIAMAuth, pIamProps, pHttpsProps, settings, logger); } /*================================================================================================*/ diff --git a/src/odbc/rsodbc/iam/RsIamHelper.cpp b/src/odbc/rsodbc/iam/RsIamHelper.cpp index 1c70c636..f1f5a7fa 100644 --- a/src/odbc/rsodbc/iam/RsIamHelper.cpp +++ b/src/odbc/rsodbc/iam/RsIamHelper.cpp @@ -5,6 +5,7 @@ #include "RsLogger.h" #include +#include #include #ifdef WIN32 #include @@ -52,8 +53,8 @@ void RsIamHelper::IamAuthentication( { RsIamClient iamClient(settings, logger); - // Connect to retrieve dbUser and dbPassword using AWS credentials - iamClient.Connect(); + // Connect to retrieve dbUser and dbPassword using AWS credentials + iamClient.Connect(); credentials = iamClient.GetCredentials(); SetIamCachedSettings(credentials, settings, logger); } @@ -65,37 +66,36 @@ void RsIamHelper::IamAuthentication( //////////////////////////////////////////////////////////////////////////////////////////////////// void RsIamHelper::NativePluginAuthentication( - bool isIAMAuth, - RS_IAM_CONN_PROPS_INFO *pIamProps, - RS_PROXY_CONN_PROPS_INFO *pHttpsProps, - RsSettings& settings, - RsLogger *logger) + bool isIAMAuth, + RS_IAM_CONN_PROPS_INFO *pIamProps, + RS_PROXY_CONN_PROPS_INFO *pHttpsProps, + RsSettings& settings, + RsLogger *logger) { - RsCredentials credentials; - - // Set connection props from RS_CONN_INFO to settings - SetIamSettings(isIAMAuth, pIamProps, pHttpsProps, settings, logger); + RsCredentials credentials; - if (!GetIamCachedSettings(credentials, settings, logger, true)) - { - RsIamClient iamClient(settings, logger); + // Set connection props from RS_CONN_INFO to settings + SetIamSettings(isIAMAuth, pIamProps, pHttpsProps, settings, logger); - RS_LOG(logger)("RsIamHelper::NativePluginAuthentication not from cache\n"); + if (!GetIamCachedSettings(credentials, settings, logger, true)) + { + RsIamClient iamClient(settings, logger); + RS_LOG(logger)("RsIamHelper::NativePluginAuthentication not from cache"); - // Connect to retrieve idp token credentials - iamClient.Connect(); - credentials = iamClient.GetCredentials(); - SetIamCachedSettings(credentials, settings, logger); - } - else - { - RS_LOG(logger)("RsIamHelper::NativePluginAuthentication from cache\n"); - } + // Connect to retrieve idp token credentials + iamClient.Connect(); + credentials = iamClient.GetCredentials(); + SetIamCachedSettings(credentials, settings, logger); + } + else + { + RS_LOG(logger)("RsIamHelper::NativePluginAuthentication from cache\n"); + } - /* update the corresponding connection attributes using - the new setting retrieved from IAM authentication */ - UpdateConnectionSettingsWithCredentials(credentials, settings, true); + /* update the corresponding connection attributes using + the new setting retrieved from IAM authentication */ + UpdateConnectionSettingsWithCredentials(credentials, settings, true); } @@ -103,8 +103,8 @@ void RsIamHelper::NativePluginAuthentication( bool RsIamHelper::GetIamCachedSettings( RsCredentials& out_iamCredentials, const RsSettings& in_settings, - RsLogger *logger, - bool isNativeAuth) + RsLogger *logger, + bool isNativeAuth) { bool rc; @@ -116,10 +116,10 @@ bool RsIamHelper::GetIamCachedSettings( } else { - rs_string cacheKey = GetCacheKey(in_settings, logger); - out_iamCredentials = s_iamCredentialsCache[cacheKey]; + rs_string cacheKey = GetCacheKey(in_settings, logger); + out_iamCredentials = s_iamCredentialsCache[cacheKey]; - rc = true; + rc = true; } rsUnlockMutex(s_iam_helper_criticalSection); @@ -143,97 +143,97 @@ bool RsIamHelper::IsValidIamCachedSettings(const RsSettings& in_settings, RsLogg { rc = false; } - else - { - rs_string cacheKey = GetCacheKey(in_settings, logger); - std::unordered_map::iterator credentialItr = s_iamCredentialsCache.find(cacheKey); - if (credentialItr == s_iamCredentialsCache.end()) - { - rc = false; - } - else - { - RsCredentials cachedCredentials = credentialItr->second; - - if (!isNativeAuth - && - (cachedCredentials.GetDbUser().empty() || - cachedCredentials.GetDbPassword().empty() || - cachedCredentials.GetExpirationTime() == 0 || - currentTime > cachedCredentials.GetExpirationTime())) - { - // remove invalid cached credentials - s_iamCredentialsCache.erase(credentialItr); - - rc = false; - } - else - if (isNativeAuth - && - (cachedCredentials.GetIdpToken().empty() || - cachedCredentials.GetExpirationTime() == 0 || - currentTime > cachedCredentials.GetExpirationTime())) - { - RS_LOG(logger)("RsIamHelper::IsValidIamCachedSettings not from cache: currentTime:%ld GetExpirationTime():%ld no token:%d", - currentTime, cachedCredentials.GetExpirationTime(), cachedCredentials.GetIdpToken().empty()); - - // remove invalid cached credentials - s_iamCredentialsCache.erase(credentialItr); - - rc = false; - } - else - { - /* Update this function every time when an IAM related connection attribute is added */ - rc = - s_rsSettings.m_host == in_settings.m_host && - s_rsSettings.m_username == in_settings.m_username && - s_rsSettings.m_password == in_settings.m_password && - s_rsSettings.m_database == in_settings.m_database && - s_rsSettings.m_sslMode == in_settings.m_sslMode && - s_rsSettings.m_disableCache == in_settings.m_disableCache && - - s_rsSettings.m_authType == in_settings.m_authType && - s_rsSettings.m_dbUser == in_settings.m_dbUser && - s_rsSettings.m_accessKeyID == in_settings.m_accessKeyID && - s_rsSettings.m_secretAccessKey == in_settings.m_secretAccessKey && - s_rsSettings.m_sessionToken == in_settings.m_sessionToken && - s_rsSettings.m_awsRegion == in_settings.m_awsRegion && - s_rsSettings.m_clusterIdentifer == in_settings.m_clusterIdentifer && - s_rsSettings.m_dbGroups == in_settings.m_dbGroups && - s_rsSettings.m_forceLowercase == in_settings.m_forceLowercase && - s_rsSettings.m_userAutoCreate == in_settings.m_userAutoCreate && - s_rsSettings.m_endpointUrl == in_settings.m_endpointUrl && - s_rsSettings.m_stsEndpointUrl == in_settings.m_stsEndpointUrl && - s_rsSettings.m_authProfile == in_settings.m_authProfile && - s_rsSettings.m_stsConnectionTimeout == in_settings.m_stsConnectionTimeout && - - s_rsSettings.m_accessDuration == in_settings.m_accessDuration && - s_rsSettings.m_pluginName == in_settings.m_pluginName && - s_rsSettings.m_idpHost == in_settings.m_idpHost && - s_rsSettings.m_idpPort == in_settings.m_idpPort && - s_rsSettings.m_idpTenant == in_settings.m_idpTenant && - s_rsSettings.m_clientSecret == in_settings.m_clientSecret && - s_rsSettings.m_clientId == in_settings.m_clientId && - s_rsSettings.m_scope == in_settings.m_scope && - s_rsSettings.m_idp_response_timeout == in_settings.m_idp_response_timeout && - s_rsSettings.m_login_url == in_settings.m_login_url && - s_rsSettings.m_role_arn == in_settings.m_role_arn && - s_rsSettings.m_web_identity_token == in_settings.m_web_identity_token && - s_rsSettings.m_duration == in_settings.m_duration && - s_rsSettings.m_role_session_name == in_settings.m_role_session_name && - s_rsSettings.m_dbGroupsFilter == in_settings.m_dbGroupsFilter && - s_rsSettings.m_listen_port == in_settings.m_listen_port && - s_rsSettings.m_appId == in_settings.m_appId && - s_rsSettings.m_oktaAppName == in_settings.m_oktaAppName && - s_rsSettings.m_partnerSpid == in_settings.m_partnerSpid && - s_rsSettings.m_loginToRp == in_settings.m_loginToRp && - s_rsSettings.m_preferredRole == in_settings.m_preferredRole && - s_rsSettings.m_sslInsecure == in_settings.m_sslInsecure && - s_rsSettings.m_groupFederation == in_settings.m_groupFederation; - } - } - } + else + { + rs_string cacheKey = GetCacheKey(in_settings, logger); + std::unordered_map::iterator credentialItr = s_iamCredentialsCache.find(cacheKey); + if (credentialItr == s_iamCredentialsCache.end()) + { + rc = false; + } + else + { + RsCredentials cachedCredentials = credentialItr->second; + + if (!isNativeAuth + && + (cachedCredentials.GetDbUser().empty() || + cachedCredentials.GetDbPassword().empty() || + cachedCredentials.GetExpirationTime() == 0 || + currentTime > cachedCredentials.GetExpirationTime())) + { + // remove invalid cached credentials + s_iamCredentialsCache.erase(credentialItr); + + rc = false; + } + else + if (isNativeAuth + && + (cachedCredentials.GetIdpToken().empty() || + cachedCredentials.GetExpirationTime() == 0 || + currentTime > cachedCredentials.GetExpirationTime())) + { + RS_LOG(logger)("RsIamHelper::IsValidIamCachedSettings not from cache: currentTime:%ld GetExpirationTime():%ld no token:%d", + currentTime, cachedCredentials.GetExpirationTime(), cachedCredentials.GetIdpToken().empty()); + + // remove invalid cached credentials + s_iamCredentialsCache.erase(credentialItr); + + rc = false; + } + else + { + /* Update this function every time when an IAM related connection attribute is added */ + rc = + s_rsSettings.m_host == in_settings.m_host && + s_rsSettings.m_username == in_settings.m_username && + s_rsSettings.m_password == in_settings.m_password && + s_rsSettings.m_database == in_settings.m_database && + s_rsSettings.m_sslMode == in_settings.m_sslMode && + s_rsSettings.m_disableCache == in_settings.m_disableCache && + + s_rsSettings.m_authType == in_settings.m_authType && + s_rsSettings.m_dbUser == in_settings.m_dbUser && + s_rsSettings.m_accessKeyID == in_settings.m_accessKeyID && + s_rsSettings.m_secretAccessKey == in_settings.m_secretAccessKey && + s_rsSettings.m_sessionToken == in_settings.m_sessionToken && + s_rsSettings.m_awsRegion == in_settings.m_awsRegion && + s_rsSettings.m_clusterIdentifer == in_settings.m_clusterIdentifer && + s_rsSettings.m_dbGroups == in_settings.m_dbGroups && + s_rsSettings.m_forceLowercase == in_settings.m_forceLowercase && + s_rsSettings.m_userAutoCreate == in_settings.m_userAutoCreate && + s_rsSettings.m_endpointUrl == in_settings.m_endpointUrl && + s_rsSettings.m_stsEndpointUrl == in_settings.m_stsEndpointUrl && + s_rsSettings.m_authProfile == in_settings.m_authProfile && + s_rsSettings.m_stsConnectionTimeout == in_settings.m_stsConnectionTimeout && + + s_rsSettings.m_accessDuration == in_settings.m_accessDuration && + s_rsSettings.m_pluginName == in_settings.m_pluginName && + s_rsSettings.m_idpHost == in_settings.m_idpHost && + s_rsSettings.m_idpPort == in_settings.m_idpPort && + s_rsSettings.m_idpTenant == in_settings.m_idpTenant && + s_rsSettings.m_clientSecret == in_settings.m_clientSecret && + s_rsSettings.m_clientId == in_settings.m_clientId && + s_rsSettings.m_scope == in_settings.m_scope && + s_rsSettings.m_idp_response_timeout == in_settings.m_idp_response_timeout && + s_rsSettings.m_login_url == in_settings.m_login_url && + s_rsSettings.m_role_arn == in_settings.m_role_arn && + s_rsSettings.m_web_identity_token == in_settings.m_web_identity_token && + s_rsSettings.m_duration == in_settings.m_duration && + s_rsSettings.m_role_session_name == in_settings.m_role_session_name && + s_rsSettings.m_dbGroupsFilter == in_settings.m_dbGroupsFilter && + s_rsSettings.m_listen_port == in_settings.m_listen_port && + s_rsSettings.m_appId == in_settings.m_appId && + s_rsSettings.m_oktaAppName == in_settings.m_oktaAppName && + s_rsSettings.m_partnerSpid == in_settings.m_partnerSpid && + s_rsSettings.m_loginToRp == in_settings.m_loginToRp && + s_rsSettings.m_preferredRole == in_settings.m_preferredRole && + s_rsSettings.m_sslInsecure == in_settings.m_sslInsecure && + s_rsSettings.m_groupFederation == in_settings.m_groupFederation; + } + } + } // paUnlockMutex(s_iam_helper_criticalSection); @@ -244,300 +244,313 @@ bool RsIamHelper::IsValidIamCachedSettings(const RsSettings& in_settings, RsLogg void RsIamHelper::SetIamCachedSettings( const RsCredentials& in_iamCredentials, const RsSettings& in_settings, - RsLogger *logger) + RsLogger *logger) { - rsLockMutex(s_iam_helper_criticalSection); + if(!in_settings.m_disableCache) { + rsLockMutex(s_iam_helper_criticalSection); - rs_string cacheKey = GetCacheKey(in_settings, logger); - s_iamCredentialsCache[cacheKey] = in_iamCredentials; + rs_string cacheKey = GetCacheKey(in_settings, logger); + s_iamCredentialsCache[cacheKey] = in_iamCredentials; - s_rsSettings = in_settings; + s_rsSettings = in_settings; - rsUnlockMutex(s_iam_helper_criticalSection); + rsUnlockMutex(s_iam_helper_criticalSection); + } } //////////////////////////////////////////////////////////////////////////////////////////////////// void RsIamHelper::UpdateConnectionSettingsWithCredentials( const RsCredentials& in_credentials, RsSettings& settings, - bool isNativeAuth) + bool isNativeAuth) { - if (!isNativeAuth) - { - settings.m_username = in_credentials.GetDbUser(); - settings.m_password = in_credentials.GetDbPassword(); - - const rs_string& host = in_credentials.GetHost(); - short port = in_credentials.GetPort(); - - if (!host.empty()) - { - settings.m_host = host; - } - - if (port != 0) - { - settings.m_port = port; - } - } - else - { - settings.m_web_identity_token = in_credentials.GetIdpToken(); - } + if (!isNativeAuth) + { + settings.m_username = in_credentials.GetDbUser(); + settings.m_password = in_credentials.GetDbPassword(); + + const rs_string& host = in_credentials.GetHost(); + short port = in_credentials.GetPort(); + + if (!host.empty()) + { + settings.m_host = host; + } + + if (port != 0) + { + settings.m_port = port; + } + } + else + { + settings.m_web_identity_token = in_credentials.GetIdpToken(); + } } //////////////////////////////////////////////////////////////////////////////////////////////////// void RsIamHelper::SetIamSettings( - bool isIAMAuth, - RS_IAM_CONN_PROPS_INFO *pIamProps, - RS_PROXY_CONN_PROPS_INFO *pHttpsProps, - RsSettings& settings, - RsLogger *logger) + bool isIAMAuth, + RS_IAM_CONN_PROPS_INFO *pIamProps, + RS_PROXY_CONN_PROPS_INFO *pHttpsProps, + RsSettings& settings, + RsLogger *logger) { - RS_LOG(logger)("RsIamHelper::SetIamSettings"); - rs_string temp; - - settings.m_iamAuth = isIAMAuth; - - if (settings.m_iamAuth == false) - { - /* IAM Authentication disabled, return */ - return; - } - - settings.m_username = pIamProps->szUser; - settings.m_password = pIamProps->szPassword; - settings.m_sslMode = pIamProps->szSslMode; - settings.m_host = pIamProps->szHost; - settings.m_port = (pIamProps->szPort[0] != '\0') ? atoi((const char *)pIamProps->szPort) : 0; - settings.m_database = pIamProps->szDatabase; - - std::vector hostnameTokens = IAMUtils::TokenizeSetting(settings.m_host, "."); - rs_string workGroup; - rs_string acctId; - rs_string requiredClusterId; - rs_string requiredAwsRegion; - if (hostnameTokens.size() >= 6 && (hostnameTokens[3].find("serverless") != rs_string::npos)) - { - /*Serverless_cluster's host examples: - e.g., default.518627716765.us-east-1.redshift-serverless.amazonaws.com - */ - workGroup = hostnameTokens[0]; - acctId = hostnameTokens[1]; - settings.m_isServerless = true; + RS_LOG(logger)("RsIamHelper::SetIamSettings"); + rs_string temp; + + settings.m_iamAuth = isIAMAuth; + + if(settings.m_iamAuth == true) { + SetCommonFederatedAuthSettings(pIamProps, settings); + settings.m_username = pIamProps->szUser; + settings.m_password = pIamProps->szPassword; + + std::vector hostnameTokens = IAMUtils::TokenizeSetting(settings.m_host, "."); + rs_string workGroup; + rs_string acctId; + rs_string requiredClusterId; + rs_string requiredAwsRegion; + if (hostnameTokens.size() >= 6 && (hostnameTokens[3].find("serverless") != rs_string::npos)) + { + /*Serverless_cluster's host examples: + e.g., default.518627716765.us-east-1.redshift-serverless.amazonaws.com + */ + workGroup = hostnameTokens[0]; + acctId = hostnameTokens[1]; + settings.m_isServerless = true; + } + else if (hostnameTokens.size() >= 6) + { + /*provisioned_cluster_host examples: + e.g., redshiftj-iam-test.c2mf5zd3u3sv.us-west-2.redshift.amazonaws.com + e.g., redshiftj-iam-test.c2mf5zd3u3sv.us-west-2.redshift.amazonaws.com.cn + */ + requiredClusterId = hostnameTokens[0]; + requiredAwsRegion = hostnameTokens[2]; + } + + std::smatch mProvisioned; + std::smatch mServerless; + + bool provisionedMatches = std::regex_match(settings.m_host, mProvisioned, hostPattern); + bool serverlessMatches = std::regex_match(settings.m_host, mServerless, serverlessWorkgroupHostPattern); + rs_string clusterId; + rs_string userInputClusterId = pIamProps->szClusterId; + + if(provisionedMatches){ + RS_LOG(logger)("Code flow for regular provisioned cluster"); + clusterId = requiredClusterId; + } + else if(serverlessMatches){ + // serverless vanilla + // do nothing, regular serverless logic flow + RS_LOG(logger)("Code flow for regular serverless cluster"); + } + else if(settings.m_isServerless){ + // hostname doesn't match serverless regex but serverless set to true explicitly by user + // when ready for implementation, remove setting of the isServerless property automatically in parseUrl(), + // set it here instead + // currently do nothing as server does not support cname for serverless + if(!(workGroup.empty())){ + // workgroup specified by user - serverless nlb call + // check for serverlessAcctId to enter serverless NLB logic flow, for when we implement this for serverless after server side is ready + // currently do nothing as regular code flow is sufficient + RS_LOG(logger)("Code flow for nlb serverless cluster"); + } + else{ + // attempt serverless cname call - currently not supported by server + // currently sets isCname to true which will be asserted on later, as cname for serverless is not supported yet + RS_LOG(logger)("Code flow for cname serverless cluster"); + settings.m_isCname = true; + } + } + else { + // clusterID specified by user - provisioned nlb call + // regular logic flow, no change needed + RS_LOG(logger)("Code flow for nlb/cname provisioned cluster"); + clusterId = pIamProps->szClusterId; + // attempt provisioned cname call + // cluster id will be fetched upon describing custom domain name + settings.m_isCname = true; + } + + settings.m_accessKeyID = pIamProps->szAccessKeyID; + settings.m_secretAccessKey = pIamProps->szSecretAccessKey; + settings.m_sessionToken = pIamProps->szSessionToken; + settings.m_accessDuration = pIamProps->lIAMDuration; + if (settings.m_accessDuration > 3600) + settings.m_accessDuration = 3600; + else + if (settings.m_accessDuration < 900) + settings.m_accessDuration = 900; + + settings.m_clusterIdentifer = clusterId; + RS_LOG(logger)("Cluster Identifier:%s", settings.m_clusterIdentifer ); + //settings.m_clusterIdentifer = pIamProps->szClusterId; + + + if(!settings.m_isServerless && !settings.m_isCname && (settings.m_clusterIdentifer.empty())){ + RS_LOG(logger)( "Invalid connection property setting. cluster_identifier must be provided when IAM is enabled"); + } + + settings.m_dbUser = pIamProps->szDbUser; + temp = pIamProps->szDbGroups; + settings.m_dbGroups = IAMUtils::convertStringToWstring(temp); + settings.m_awsProfile = pIamProps->szProfile; + temp = pIamProps->szStsEndpointUrl; + settings.m_stsEndpointUrl = IAMUtils::convertStringToWstring(temp); + + settings.m_oktaAppName = pIamProps->szAppName; + settings.m_partnerSpid = pIamProps->szPartnerSpid; + settings.m_loginToRp = pIamProps->szLoginToRp; + temp = pIamProps->szIdpHost; + settings.m_idpHost = IAMUtils::convertStringToWstring(temp); + settings.m_idpPort = pIamProps->iIdpPort; + + settings.m_idpTenant = pIamProps->szIdpTenant; + settings.m_clientSecret = pIamProps->szClientSecret; + settings.m_clientId = pIamProps->szClientId; + settings.m_scope = pIamProps->szScope; + settings.m_idp_response_timeout = pIamProps->lIdpResponseTimeout; + settings.m_login_url = pIamProps->szLoginUrl; + settings.m_role_arn = pIamProps->szRoleArn; + //Added the autoCreate keyword from the user input connection string + settings.m_userAutoCreate = pIamProps->isAutoCreate; + + settings.m_duration = pIamProps->lDuration; + settings.m_role_session_name = pIamProps->szRoleSessionName; + settings.m_dbGroupsFilter = pIamProps->szDbGroupsFilter; + settings.m_listen_port = pIamProps->lListenPort; + temp = pIamProps->szAppId; + settings.m_appId = IAMUtils::convertStringToWstring(temp); + temp = pIamProps->szPreferredRole; + settings.m_preferredRole = IAMUtils::convertStringToWstring(temp); + + settings.m_useInstanceProfile = pIamProps->isInstanceProfile; + settings.m_authProfile = pIamProps->szAuthProfile; + settings.m_disableCache = pIamProps->isDisableCache; + settings.m_stsConnectionTimeout = pIamProps->iStsConnectionTimeout; + + if(pHttpsProps) { + settings.m_httpsProxyHost = pHttpsProps->szHttpsHost; + settings.m_httpsProxyPort = pHttpsProps->iHttpsPort; + settings.m_httpsProxyUsername = pHttpsProps->szHttpsUser; + settings.m_httpsProxyPassword = pHttpsProps->szHttpsPassword; + settings.m_useProxyForIdpAuth = pHttpsProps->isUseProxyForIdp; + } + + settings.m_groupFederation = pIamProps->isGroupFederation; + } else { // non-IAM + settings.m_clusterIdentifer = pIamProps->szClusterId; + if (pIamProps->szPluginName[0] != '\0' && (_stricmp(pIamProps->szPluginName, PLUGIN_IDP_TOKEN_AUTH) == 0 || + _stricmp(pIamProps->szPluginName, PLUGIN_BROWSER_IDC_AUTH) == 0)) { + SetCommonFederatedAuthSettings(pIamProps, settings); + settings.m_idpAuthToken = pIamProps->szBasicAuthToken; + settings.m_idpAuthTokenType = pIamProps->szTokenType; + settings.m_startUrl = pIamProps->szStartUrl; + settings.m_idcRegion = pIamProps->szIdcRegion; + settings.m_disableCache = true; // explicitly disable caching for idc plugins + settings.m_idcResponseTimeout = pIamProps->lIdcResponseTimeout; + settings.m_idcClientDisplayName = pIamProps->szIdcClientDisplayName; + } + } +} + +void RsIamHelper::SetCommonFederatedAuthSettings(RS_IAM_CONN_PROPS_INFO *pIamProps, RsSettings &settings) { + settings.m_sslMode = pIamProps->szSslMode; + settings.m_host = pIamProps->szHost; + settings.m_port = (pIamProps->szPort[0] != '\0') ? std::stoi(pIamProps->szPort) : 0; + settings.m_database = pIamProps->szDatabase; + settings.m_awsRegion = pIamProps->szRegion; + settings.m_endpointUrl = IAMUtils::convertStringToWstring(pIamProps->szEndpointUrl); + settings.m_pluginName = IAMUtils::convertStringToWstring(pIamProps->szPluginName); + + if (pIamProps->pszJwt) { + settings.m_web_identity_token = pIamProps->pszJwt; } - else if (hostnameTokens.size() >= 6) - { - /*provisioned_cluster_host examples: - e.g., redshiftj-iam-test.c2mf5zd3u3sv.us-west-2.redshift.amazonaws.com - e.g., redshiftj-iam-test.c2mf5zd3u3sv.us-west-2.redshift.amazonaws.com.cn - */ - requiredClusterId = hostnameTokens[0]; - requiredAwsRegion = hostnameTokens[2]; - } - - std::smatch mProvisioned; - std::smatch mServerless; - - bool provisionedMatches = std::regex_match(settings.m_host, mProvisioned, hostPattern); - bool serverlessMatches = std::regex_match(settings.m_host, mServerless, serverlessWorkgroupHostPattern); - rs_string clusterId; - rs_string userInputClusterId = pIamProps->szClusterId; - - if(provisionedMatches){ - RS_LOG(logger)("Code flow for regular provisioned cluster"); - clusterId = requiredClusterId; - } - else if(serverlessMatches){ - // serverless vanilla - // do nothing, regular serverless logic flow - RS_LOG(logger)("Code flow for regular serverless cluster"); - } - else if(settings.m_isServerless){ - // hostname doesn't match serverless regex but serverless set to true explicitly by user - // when ready for implementation, remove setting of the isServerless property automatically in parseUrl(), - // set it here instead - // currently do nothing as server does not support cname for serverless - if(!(workGroup.empty())){ - // workgroup specified by user - serverless nlb call - // check for serverlessAcctId to enter serverless NLB logic flow, for when we implement this for serverless after server side is ready - // currently do nothing as regular code flow is sufficient - RS_LOG(logger)("Code flow for nlb serverless cluster"); - } - else{ - // attempt serverless cname call - currently not supported by server - // currently sets isCname to true which will be asserted on later, as cname for serverless is not supported yet - RS_LOG(logger)("Code flow for cname serverless cluster"); - settings.m_isCname = true; - } - } - else { - // clusterID specified by user - provisioned nlb call - // regular logic flow, no change needed - RS_LOG(logger)("Code flow for nlb/cname provisioned cluster"); - clusterId = pIamProps->szClusterId; - // attempt provisioned cname call - // cluster id will be fetched upon describing custom domain name - settings.m_isCname = true; - } - - settings.m_accessKeyID = pIamProps->szAccessKeyID; - settings.m_secretAccessKey = pIamProps->szSecretAccessKey; - settings.m_sessionToken = pIamProps->szSessionToken; - settings.m_awsRegion = pIamProps->szRegion; - settings.m_accessDuration = pIamProps->lIAMDuration; - if (settings.m_accessDuration > 3600) - settings.m_accessDuration = 3600; - else - if (settings.m_accessDuration < 900) - settings.m_accessDuration = 900; - - settings.m_clusterIdentifer = clusterId; - RS_LOG(logger)("Cluster Identifier:%s", settings.m_clusterIdentifer ); -//settings.m_clusterIdentifer = pIamProps->szClusterId; - - - if(!settings.m_isServerless && !settings.m_isCname && (settings.m_clusterIdentifer.empty())){ - RS_LOG(logger)( "Invalid connection property setting. cluster_identifier must be provided when IAM is enabled"); - } - - settings.m_dbUser = pIamProps->szDbUser; - temp = pIamProps->szDbGroups; - settings.m_dbGroups = IAMUtils::convertStringToWstring(temp); - settings.m_awsProfile = pIamProps->szProfile; - temp = pIamProps->szEndpointUrl; - settings.m_endpointUrl = IAMUtils::convertStringToWstring(temp); - temp = pIamProps->szStsEndpointUrl; - settings.m_stsEndpointUrl = IAMUtils::convertStringToWstring(temp); - - settings.m_authType = pIamProps->szAuthType; - - settings.m_caPath = pIamProps->szCaPath; - settings.m_caFile = pIamProps->szCaFile; - - settings.m_oktaAppName = pIamProps->szAppName; - settings.m_partnerSpid = pIamProps->szPartnerSpid; - settings.m_loginToRp = pIamProps->szLoginToRp; - temp = pIamProps->szPluginName; - settings.m_pluginName = IAMUtils::convertStringToWstring(temp); - temp = pIamProps->szIdpHost; - settings.m_idpHost = IAMUtils::convertStringToWstring(temp); - settings.m_idpPort = pIamProps->iIdpPort; - - settings.m_idpTenant = pIamProps->szIdpTenant; - settings.m_clientSecret = pIamProps->szClientSecret; - settings.m_clientId = pIamProps->szClientId; - settings.m_scope = pIamProps->szScope; - settings.m_idp_response_timeout = pIamProps->lIdpResponseTimeout; - settings.m_login_url = pIamProps->szLoginUrl; - settings.m_role_arn = pIamProps->szRoleArn; - //Added the autoCreate keyword from the user input connection string - settings.m_userAutoCreate = pIamProps->isAutoCreate; - - if (pIamProps->pszJwt) - settings.m_web_identity_token = pIamProps->pszJwt; - - settings.m_duration = pIamProps->lDuration; - settings.m_role_session_name = pIamProps->szRoleSessionName; - settings.m_dbGroupsFilter = pIamProps->szDbGroupsFilter; - settings.m_listen_port = pIamProps->lListenPort; - temp = pIamProps->szAppId; - settings.m_appId = IAMUtils::convertStringToWstring(temp); - temp = pIamProps->szPreferredRole; - settings.m_preferredRole = IAMUtils::convertStringToWstring(temp); - - settings.m_sslInsecure = pIamProps->isSslInsecure; - settings.m_useInstanceProfile = pIamProps->isInstanceProfile; - settings.m_authProfile = pIamProps->szAuthProfile; - settings.m_disableCache = pIamProps->isDisableCache; - settings.m_stsConnectionTimeout = pIamProps->iStsConnectionTimeout; - - if(pHttpsProps) { - settings.m_httpsProxyHost = pHttpsProps->szHttpsHost; - settings.m_httpsProxyPort = pHttpsProps->iHttpsPort; - settings.m_httpsProxyUsername = pHttpsProps->szHttpsUser; - settings.m_httpsProxyPassword = pHttpsProps->szHttpsPassword; - settings.m_useProxyForIdpAuth = pHttpsProps->isUseProxyForIdp; - } - - settings.m_groupFederation = pIamProps->isGroupFederation; + settings.m_sslInsecure = pIamProps->isSslInsecure; + settings.m_authType = pIamProps->szAuthType; + + settings.m_caPath = pIamProps->szCaPath; + settings.m_caFile = pIamProps->szCaFile; } //////////////////////////////////////////////////////////////////////////////////////////////////// rs_string RsIamHelper::GetCacheKey(const RsSettings& in_settings, RsLogger *logger) { - rs_string cacheKey(""); + rs_string cacheKey(""); #if defined(WIN32) || defined(_WIN64) - char uname[UNLEN + 1]; - DWORD unameLength = UNLEN + 1; - if (GetUserNameA(uname, &unameLength) == 0) - { - rs_string errMsg = "Failed to retrieve Windows username, error: " + std::to_string(GetLastError()); - RS_LOG(logger)( "RsIamHelper::GetCacheKey %s", errMsg.c_str()); - } - else - { - cacheKey = rs_string(uname); - } + char uname[UNLEN + 1]; + DWORD unameLength = UNLEN + 1; + if (GetUserNameA(uname, &unameLength) == 0) + { + rs_string errMsg = "Failed to retrieve Windows username, error: " + std::to_string(GetLastError()); + RS_LOG(logger)( "RsIamHelper::GetCacheKey %s", errMsg.c_str()); + } + else + { + cacheKey = rs_string(uname); + } #endif - cacheKey += in_settings.m_username + in_settings.m_password + IAMUtils::convertToUTF8(in_settings.m_pluginName) - + IAMUtils::convertToUTF8(in_settings.m_idpHost) + std::to_string(in_settings.m_idpPort) - + IAMUtils::convertToUTF8(in_settings.m_preferredRole); + cacheKey += in_settings.m_username + in_settings.m_password + IAMUtils::convertToUTF8(in_settings.m_pluginName) + + IAMUtils::convertToUTF8(in_settings.m_idpHost) + std::to_string(in_settings.m_idpPort) + + IAMUtils::convertToUTF8(in_settings.m_preferredRole); - return cacheKey; + return cacheKey; } /*======================================================================================*/ char * RsIamHelper::ReadAuthProfile( - bool isIAMAuth, - RS_IAM_CONN_PROPS_INFO *pIamProps, - RS_PROXY_CONN_PROPS_INFO *pHttpsProps, - RsLogger *logger) + bool isIAMAuth, + RS_IAM_CONN_PROPS_INFO *pIamProps, + RS_PROXY_CONN_PROPS_INFO *pHttpsProps, + RsLogger *logger) { - // The contents of the Auth Profile as JSON object - Aws::Utils::Json::JsonValue profileValue; - rs_string auth_profile_name = pIamProps->szAuthProfile; - rs_string accessKey = pIamProps->szAccessKeyID; - rs_string secretKey = pIamProps->szSecretAccessKey; - rs_string host = pIamProps->szHost; - rs_string region = pIamProps->szRegion; - - if(pIamProps->szAccessKeyID[0] == '\0' - || pIamProps->szSecretAccessKey[0] == '\0') - { - rs_string errorMsg = "Missing AccessKeyID or SecretAccessKey for AuthProfile."; - IAMUtils::ThrowConnectionExceptionWithInfo(errorMsg); - } - - RsSettings settings; - RsIamClient iamClient(settings, logger); - - profileValue = Aws::Utils::Json::JsonValue(iamClient.ReadAuthProfile(auth_profile_name, accessKey, secretKey, host, region)); - - Aws::Utils::Json::JsonView profileView = profileValue.View(); - if (!profileView.IsNull()) - { - // Read values - rs_string connect_string = ""; - - Aws::Map attributesJsonMap = profileView.GetAllObjects(); - for (auto& attributesItem : attributesJsonMap) - { - rs_string key = attributesItem.first; - rs_string val = attributesItem.second.AsString(); - - connect_string += key + "=" + val + ";"; - } - - return strdup(connect_string.c_str()); - } - - return NULL; + // The contents of the Auth Profile as JSON object + Aws::Utils::Json::JsonValue profileValue; + rs_string auth_profile_name = pIamProps->szAuthProfile; + rs_string accessKey = pIamProps->szAccessKeyID; + rs_string secretKey = pIamProps->szSecretAccessKey; + rs_string host = pIamProps->szHost; + rs_string region = pIamProps->szRegion; + + if(pIamProps->szAccessKeyID[0] == '\0' + || pIamProps->szSecretAccessKey[0] == '\0') + { + rs_string errorMsg = "Missing AccessKeyID or SecretAccessKey for AuthProfile."; + IAMUtils::ThrowConnectionExceptionWithInfo(errorMsg); + } + + RsSettings settings; + RsIamClient iamClient(settings, logger); + + profileValue = Aws::Utils::Json::JsonValue(iamClient.ReadAuthProfile(auth_profile_name, accessKey, secretKey, host, region)); + + Aws::Utils::Json::JsonView profileView = profileValue.View(); + if (!profileView.IsNull()) + { + // Read values + rs_string connect_string = ""; + + Aws::Map attributesJsonMap = profileView.GetAllObjects(); + for (auto& attributesItem : attributesJsonMap) + { + rs_string key = attributesItem.first; + rs_string val = attributesItem.second.AsString(); + + connect_string += key + "=" + val + ";"; + } + + return strdup(connect_string.c_str()); + } + + return NULL; } diff --git a/src/odbc/rsodbc/iam/RsIamHelper.h b/src/odbc/rsodbc/iam/RsIamHelper.h index 4c963e03..562cd093 100644 --- a/src/odbc/rsodbc/iam/RsIamHelper.h +++ b/src/odbc/rsodbc/iam/RsIamHelper.h @@ -130,6 +130,14 @@ class RsIamHelper { RsSettings& settings, RsLogger *logger); + /// @brief Set the federated connection's common settings on PGOSettings + /// + /// @param pIamProps Iam properties + /// @param settings Connection settings + static void SetCommonFederatedAuthSettings( + RS_IAM_CONN_PROPS_INFO *pIamProps, + RsSettings& settings); + /// @brief Get the users's key used to cache IAM credentials /// /// @param in_settings Connection Settings diff --git a/src/odbc/rsodbc/iam/RsSettings.h b/src/odbc/rsodbc/iam/RsSettings.h index dd27873a..5088d737 100644 --- a/src/odbc/rsodbc/iam/RsSettings.h +++ b/src/odbc/rsodbc/iam/RsSettings.h @@ -120,8 +120,14 @@ struct RsSettings rs_string m_web_identity_token; rs_string m_role_session_name; short m_duration; - rs_string m_authProfile; - int m_stsConnectionTimeout; + rs_string m_authProfile; + int m_stsConnectionTimeout; + rs_string m_idpAuthToken; // auth token used in IdC Token Auth plugin + rs_string m_idpAuthTokenType; // token type used in IdC Token Auth plugin + rs_string m_startUrl; // start url of IdC portal - used in IdC Browser plugin + rs_string m_idcRegion; // IdC region - used in IdC Browser plugin + short m_idcResponseTimeout; // Browser auth response timeout - used in IdC Browser plugin + rs_string m_idcClientDisplayName; // display name of the client using the IdC browser auth plugin bool m_iamAuth; bool m_forceLowercase; diff --git a/src/odbc/rsodbc/iam/core/IAMConfiguration.cpp b/src/odbc/rsodbc/iam/core/IAMConfiguration.cpp index ed4641fd..c6034e7a 100755 --- a/src/odbc/rsodbc/iam/core/IAMConfiguration.cpp +++ b/src/odbc/rsodbc/iam/core/IAMConfiguration.cpp @@ -614,6 +614,84 @@ void IAMConfiguration::SetStsConnectionTimeout(int in_stsConnectionTimeout) } } +//////////////////////////////////////////////////////////////////////////////////////////////////// +rs_string IAMConfiguration::GetIdpAuthToken() const +{ + return GetSetting(KEY_IDP_AUTH_TOKEN); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +void IAMConfiguration::SetIdpAuthToken(const rs_string& in_idpAuthToken) +{ + SetSetting(KEY_IDP_AUTH_TOKEN, in_idpAuthToken); +} + + //////////////////////////////////////////////////////////////////////////////////////////////////// +rs_string IAMConfiguration::GetIdpAuthTokenType() const +{ + return GetSetting(KEY_IDP_AUTH_TOKEN_TYPE); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +void IAMConfiguration::SetIdpAuthTokenType(const rs_string& in_idpAuthTokenType) +{ + SetSetting(KEY_IDP_AUTH_TOKEN_TYPE, in_idpAuthTokenType); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +rs_string IAMConfiguration::GetStartUrl() const +{ + return GetSetting(KEY_IDC_START_URL); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +void IAMConfiguration::SetStartUrl(const rs_string& in_startUrl) +{ + SetSetting(KEY_IDC_START_URL, in_startUrl); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +rs_string IAMConfiguration::GetIdcRegion() const +{ + return GetSetting(KEY_IDC_REGION); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +void IAMConfiguration::SetIdcRegion(const rs_string& in_idcRegion) +{ + SetSetting(KEY_IDC_REGION, in_idcRegion); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +rs_string IAMConfiguration::GetIdcClientDisplayName() const +{ + return GetSetting(KEY_IDC_CLIENT_DISPLAY_NAME); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +void IAMConfiguration::SetIdcClientDisplayName(const rs_string& in_idcClientDisplayName) +{ + SetSetting(KEY_IDC_CLIENT_DISPLAY_NAME, in_idcClientDisplayName); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +short IAMConfiguration::GetIdcResponseTimeout() const +{ + try + { + return to_short(GetSetting(KEY_IDC_RESPONSE_TIMEOUT)); + } + catch (...) + { + return 0; + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +void IAMConfiguration::SetIdcResponseTimeout(short in_idc_response_timeout) +{ + SetSetting(KEY_IDC_RESPONSE_TIMEOUT, to_rs_string(in_idc_response_timeout)); +} //////////////////////////////////////////////////////////////////////////////////////////////////// IAMConfiguration::~IAMConfiguration() diff --git a/src/odbc/rsodbc/iam/core/IAMConfiguration.h b/src/odbc/rsodbc/iam/core/IAMConfiguration.h index fa94a2f2..ece00891 100755 --- a/src/odbc/rsodbc/iam/core/IAMConfiguration.h +++ b/src/odbc/rsodbc/iam/core/IAMConfiguration.h @@ -441,6 +441,56 @@ namespace IamSupport /// @param in_useProxy Value of the whether a HTTPS proxy is used void SetUsingHTTPSProxy(bool in_useProxy); + /// @brief Returns the IdP auth token used in IdP Auth Token plugin + rs_string GetIdpAuthToken() const; + + /// @brief Sets the IdP auth token + /// + /// @param in_idpAuthToken Auth token used in IdP Auth Token plugin + void SetIdpAuthToken(const rs_string& in_idpAuthToken); + + /// @brief Returns the token type used in IdP Auth Token plugin + rs_string GetIdpAuthTokenType() const; + + /// @brief Sets the IdP auth token type + /// + /// @param in_idpAuthTokenType token type used in IdP Auth Token plugin + void SetIdpAuthTokenType(const rs_string& in_idpAuthTokenType); + + /// @brief Returns the start url used in Browser IdC plugin + rs_string GetStartUrl() const; + + /// @brief Sets the startUrl + /// + /// @param in_startUrl Start url used in Browser IdC plugin + void SetStartUrl(const rs_string& in_startUrl); + + /// @brief Returns the IdC region used in Browser IdC plugin + rs_string GetIdcRegion() const; + + /// @brief Sets the idcRegion + /// + /// @param in_idcRegion IdC region used in Browser IdC plugin + void SetIdcRegion(const rs_string& in_idcRegion); + + /// @brief Returns the display name of the client that is using the IdC browser auth plugin + rs_string GetIdcClientDisplayName() const; + + /// @brief Sets the display name of the client that is using the IdC browser auth plugin + /// + /// @param in_idcClientDisplayName Client display name + void SetIdcClientDisplayName(const rs_string& in_idcClientDisplayName); + + /// @brief Returns the IdC browser auth response timeout (in seconds) of the IAMConfiguration + /// + /// @return Timeout of the IdC browser auth + short GetIdcResponseTimeout() const; + + /// @brief Sets the IdC browser auth response timeout (in seconds) of the IAMConfiguration + /// + /// @param in_idc_response_timeout in_idc_response_timeout of the IAMConfiguration + void SetIdcResponseTimeout(short in_idc_response_timeout); + /// @brief Gets the in_key setting of the IAMConfiguration /// /// @param in_key Key setting of the IAMConfiguration diff --git a/src/odbc/rsodbc/iam/core/IAMUtils.cpp b/src/odbc/rsodbc/iam/core/IAMUtils.cpp index b53c42c1..a8b4a129 100644 --- a/src/odbc/rsodbc/iam/core/IAMUtils.cpp +++ b/src/odbc/rsodbc/iam/core/IAMUtils.cpp @@ -13,6 +13,19 @@ #include #include +#include "rslock.h" +#include "RsIamClient.h" +#include "IAMUtils.h" +#include "RsSettings.h" +#include "../RsLogger.h" + +#include +#include +#if defined LINUX +#include +#include // Include netdb.h for the complete struct hostent definition +#endif + using namespace Redshift::IamSupport; extern "C" { @@ -285,7 +298,89 @@ rs_wstring IAMUtils::convertCharStringToWstring(char *str) { rs_string temp = str; return convertStringToWstring(temp); } - +/////////////////////////////////////////////////////////////////////////////////////////////////////////// +//this struct is use to create a callbackContext object which member variables will be used to store our aws-region +struct cares_async_context { + rs_string error; + rs_string aws_region; + int status; +}; +/////////////////////////////////////////////////////////////////////////////////////////////////////// +void IAMUtils::AresCallBack(void* arg, int status, int timeouts, struct hostent* hostent_result, RsLogger* m_log) { + cares_async_context* callbackContext = static_cast(arg); + try { + if (status == ARES_SUCCESS && hostent_result) { + RS_LOG(m_log) ("ares_call successful!"); + rs_string fqdn = hostent_result->h_name; + std::vector fqdnTokens = IAMUtils::TokenizeSetting(fqdn, "."); + if (fqdnTokens.size() >= 6) { + callbackContext->aws_region = fqdnTokens[2]; + } + } + else { + callbackContext->error = rs_string(ares_strerror(status)); + RS_LOG(m_log)("ares_call failed! Error: %s", ares_strerror(status)); + } + } + catch (const Aws::Client::AWSError& ex) { + RS_LOG(m_log)("Exception thrown during AresCallBack execution. Exception: %s", ex); + throw ex; + } +} +//////////////////////////////////////////////////////////////////////////////////////////////////// +rs_string IAMUtils::GetAwsRegionFromCname(const std::string& cnameEndpoint) { + try { + ares_channel channel; + int status; + // Initialize c-ares library + status = ares_library_init(ARES_LIB_INIT_ALL); + if (status != ARES_SUCCESS) { + RS_LOG(m_log)("ares_library_init failed:, %s ", ares_strerror(status)); + return ""; + } + // Create the c-ares channel + status = ares_init(&channel); + if (status != ARES_SUCCESS) { + RS_LOG(m_log)("ares_init failed: %s", ares_strerror(status)); + ares_library_cleanup(); + return ""; + } + // Create the cares_async_context instance + cares_async_context callbackContext = {"",""}; + // Perform the asynchronous DNS query + ares_gethostbyname(channel, cnameEndpoint.c_str(), AF_UNSPEC, reinterpret_cast(AresCallBack), &callbackContext); + // Run the c-ares event loop until the DNS query completes + int nfds; + struct timeval tv; + int counter = 0; + while (++counter < 200) { + fd_set read_fds, write_fds; + FD_ZERO(&read_fds); + FD_ZERO(&write_fds); + nfds = ares_fds(channel, &read_fds, &write_fds); + if (nfds == 0) break; + tv.tv_sec = 0; + tv.tv_usec = 10000; // 10ms timeout + select(nfds, &read_fds, &write_fds, NULL, &tv); + ares_process(channel, &read_fds, &write_fds); + } + // Clean up + ares_destroy(channel); + ares_library_cleanup(); + // Extract the region from the context after completion + if (callbackContext.error.empty() && !callbackContext.aws_region.empty()) { + return callbackContext.aws_region; + } + else{ + RS_LOG(m_log)("Cannot fetch the aws region. Exception: %s", callbackContext.error.c_str()); + } + } catch (const Aws::Client::AWSError& ex) { + RS_LOG(m_log)("Cannot fetch the aws region. Exception: %s", ex); + throw ex; + } + return ""; +} +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #ifdef WIN32 //Returns the last Win32 error, in string format. Returns an empty string if there is no error. std::wstring IAMUtils::GetLastErrorText() diff --git a/src/odbc/rsodbc/iam/core/IAMUtils.h b/src/odbc/rsodbc/iam/core/IAMUtils.h index a38097fb..5f76223a 100644 --- a/src/odbc/rsodbc/iam/core/IAMUtils.h +++ b/src/odbc/rsodbc/iam/core/IAMUtils.h @@ -4,7 +4,12 @@ #include #include "../rs_iam_support.h" - +#include "../RsLogger.h" +#include +#include +#if defined LINUX +#include +#endif namespace Redshift { namespace IamSupport @@ -112,6 +117,16 @@ namespace IamSupport static rs_wstring convertStringToWstring(rs_string str); static rs_wstring convertCharStringToWstring(char *str); + /// @brief Get the Fully Qualified Domain Name (FQDN) from cname endpoint; + /// + /// @param cnameEndpoint + rs_string GetAwsRegionFromCname(const std::string& cnameEndpoint); + rs_string m_awsRegion; + /// @brief Destructor. + + static void AresCallBack(void* arg, int status, int timeouts, struct hostent* hostent_result, RsLogger* m_log); + RsLogger* m_log; + #ifdef WIN32 static std::wstring GetLastErrorText(); #endif // WIN32 diff --git a/src/odbc/rsodbc/iam/plugins/BrowserIdcAuthPlugin.cpp b/src/odbc/rsodbc/iam/plugins/BrowserIdcAuthPlugin.cpp new file mode 100644 index 00000000..b6a16b3c --- /dev/null +++ b/src/odbc/rsodbc/iam/plugins/BrowserIdcAuthPlugin.cpp @@ -0,0 +1,412 @@ +#include "BrowserIdcAuthPlugin.h" + +#include +#include +#include +#include +#include + +#if (defined(_WIN32) || defined(_WIN64)) +#include +#include +#ifdef GetMessage +#undef GetMessage +#endif +#elif (defined(__APPLE__) || defined(__MACH__) || defined(PLATFORM_DARWIN)) +#include +#include +#endif + +using namespace Redshift::IamSupport; +using namespace Aws::SSOOIDC; +using namespace Aws::SSOOIDC::Model; +using namespace std::chrono; + +namespace { + static const std::string DEFAULT_IDC_CLIENT_DISPLAY_NAME = + "Amazon Redshift ODBC driver"; + static const std::string CLIENT_TYPE = "public"; + static const std::string GRANT_TYPE = + "urn:ietf:params:oauth:grant-type:device_code"; + + static const std::string IDC_SCOPE = "redshift:connect"; + + /** + * The default value of browser authentication timeout in seconds + * It is used if user doesn't provide any value for {@code idc_response_timeout} option. + */ + static const int DEFAULT_BROWSER_AUTH_VERIFY_TIMEOUT = 120; + /** + * The default time in seconds for which the client must wait between attempts + * when polling for a session It is used if auth server doesn't provide any + * value for {@code interval} in start device authorization response + */ + static const int REQUEST_CREATE_TOKEN_DEFAULT_INTERVAL = 1; + + static std::unordered_map m_registerClientCache; + std::string m_registerClientCacheKey; + + std::string m_idcClientDisplayName; +} + +BrowserIdcAuthPlugin::BrowserIdcAuthPlugin( + RsLogger *in_log, const IAMConfiguration &in_config, + const std::map &in_argsMap) + : NativePluginCredentialsProvider(in_log, in_config, in_argsMap) { + RS_LOG(m_log)("BrowserIdcAuthPlugin::BrowserIdcAuthPlugin"); + RS_LOG(m_log)("Current UTC time:%ld", system_clock::to_time_t(system_clock::now())); + InitArgumentsMap(); +} + +BrowserIdcAuthPlugin::~BrowserIdcAuthPlugin() { + RS_LOG(m_log)("BrowserIdcAuthPlugin::~BrowserIdcAuthPlugin"); +} + +rs_string BrowserIdcAuthPlugin::GetAuthToken() { + RS_LOG(m_log)("BrowserIdcAuthPlugin::GetAuthToken"); + return GetIdcToken(); +} + +void BrowserIdcAuthPlugin::InitArgumentsMap() { + RS_LOG(m_log)("BrowserIdcAuthPlugin::InitArgumentsMap"); + + const rs_string startUrl = m_config.GetStartUrl(); + const rs_string idcRegion = m_config.GetIdcRegion(); + const short idcResponseTimeout = m_config.GetIdcResponseTimeout(); + + if (!IAMUtils::rs_trim(startUrl).empty()) { + m_argsMap[KEY_IDC_START_URL] = startUrl; + RS_LOG(m_log)("Setting start_url=%s", startUrl.c_str()); + } + if (!IAMUtils::rs_trim(idcRegion).empty()) { + m_argsMap[KEY_IDC_REGION] = idcRegion; + RS_LOG(m_log)("Setting idc_region=%s", idcRegion.c_str()); + } + + if (idcResponseTimeout >= 10) { // minimum allowed timeout value is 10 secs + m_argsMap[KEY_IDC_RESPONSE_TIMEOUT] = std::to_string(idcResponseTimeout); + RS_LOG(m_log)("Setting idc_response_timeout=%s", m_argsMap[KEY_IDC_RESPONSE_TIMEOUT].c_str()); + } else { + m_argsMap[KEY_IDC_RESPONSE_TIMEOUT] = std::to_string(DEFAULT_BROWSER_AUTH_VERIFY_TIMEOUT); + RS_LOG(m_log)("Setting idc_response_timeout=%s; provided value=%d", + m_argsMap[KEY_IDC_RESPONSE_TIMEOUT].c_str(), idcResponseTimeout); + } + + + + // Set values for other runtime variables + // If client provides an application name, we use that, else use driver as default name + m_idcClientDisplayName = m_config.GetIdcClientDisplayName().empty() + ? DEFAULT_IDC_CLIENT_DISPLAY_NAME + : m_config.GetIdcClientDisplayName(); + RS_LOG(m_log)("Setting display application name=%s", m_idcClientDisplayName.c_str()); + + m_registerClientCacheKey = + m_idcClientDisplayName + ":" + idcRegion; +} + +rs_string BrowserIdcAuthPlugin::GetIdcToken() { + RS_LOG(m_log)("BrowserIdcAuthPlugin::GetIdcToken"); + ValidateArgumentsMap(); + + SSOOIDCClient idc_client = + InitializeIdcClient(m_argsMap[KEY_IDC_REGION]); + + RegisterClientResult registerClientResult = + BrowserIdcAuthPlugin::RegisterClient( + idc_client, m_registerClientCacheKey, m_idcClientDisplayName, + CLIENT_TYPE, IDC_SCOPE); + + StartDeviceAuthorizationResult startDeviceAuthorizationResult = + BrowserIdcAuthPlugin::StartDeviceAuthorization( + idc_client, registerClientResult.GetClientId(), + registerClientResult.GetClientSecret(), + m_argsMap[KEY_IDC_START_URL]); + + LaunchBrowser(startDeviceAuthorizationResult.GetVerificationUriComplete()); + + return PollForAccessToken(idc_client, registerClientResult, + startDeviceAuthorizationResult, GRANT_TYPE); +} + +void BrowserIdcAuthPlugin::ValidateArgumentsMap() { + RS_LOG(m_log)("BrowserIdcAuthPlugin::ValidateArgumentsMap"); + + // Validate the parameters passed in and make sure we have the required fields. + if (!m_argsMap.count(KEY_IDC_START_URL)) { + RS_LOG(m_log) + ("IdC authentication failed: start_url needs to be provided in " + "connection params"); + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed: The start URL must be included in the " + "connection parameters."); + } else if (!m_argsMap.count(KEY_IDC_REGION)) { + RS_LOG(m_log) + ("IdC authentication failed: idc_region needs to be provided in " + "connection params"); + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed: The IdC region must be included in the " + "connection parameters."); + } +} + +SSOOIDCClient BrowserIdcAuthPlugin::InitializeIdcClient( + const std::string &in_idcRegion) { + RS_LOG(m_log)("BrowserIdcAuthPlugin::InitializeIdcClient"); + Aws::Client::ClientConfiguration client_config; + client_config.region = in_idcRegion; + SSOOIDCClient client(client_config); + return client; +} + +template +void BrowserIdcAuthPlugin::LogFailureResponse( + const Aws::Utils::Outcome &outcome, const std::string &operation) { + int responseCode = static_cast(outcome.GetError().GetResponseCode()); + std::string exceptionName = outcome.GetError().GetExceptionName(); + std::string errorMessage = (outcome.GetError()).GetMessage(); + RS_LOG(m_log)("%s - Response code:%d; Exception name:%s; Error message:%s", + operation.c_str(), responseCode, exceptionName.c_str(), errorMessage.c_str()); +} + +RegisterClientResult BrowserIdcAuthPlugin::RegisterClient( + SSOOIDCClient &idc_client, const std::string &in_registerClientCacheKey, + const std::string &in_idcClientDisplayName, + const std::string &in_clientType, const std::string &in_scope) { + RS_LOG(m_log)("BrowserIdcAuthPlugin::RegisterClient"); + + // Check if a RegisterClientResult exists in the cache and if it is not expired + if (m_registerClientCache.count(in_registerClientCacheKey) > 0) { + // check if RegisterClientResult found from cache is expired + if (m_registerClientCache[in_registerClientCacheKey].GetClientSecretExpiresAt() > + system_clock::to_time_t(system_clock::now())) { + RS_LOG(m_log)("Valid RegisterClientResult found from cache"); + return m_registerClientCache[in_registerClientCacheKey]; + } else { + RS_LOG(m_log)("RegisterClientResult found from cache is expired"); + m_registerClientCache.erase(in_registerClientCacheKey); + } + } + + /** + * If the cached RegisterClientResult is not found or has expired, call IdC + * and register new client + */ + RegisterClientRequest request; + request.SetClientName(in_idcClientDisplayName); + request.SetClientType(in_clientType); + Aws::Vector idcScopes(1, in_scope); + request.SetScopes(idcScopes); + + auto outcome = idc_client.RegisterClient(request); + + if(!outcome.IsSuccess()) { + RS_LOG(m_log)("Failed to register client with IdC"); + HandleRegisterClientError(outcome); + } + + // Cache the result and return it + m_registerClientCache[in_registerClientCacheKey] = outcome.GetResult(); + return outcome.GetResult(); +} + +template +void BrowserIdcAuthPlugin::HandleRegisterClientError( + const Aws::Utils::Outcome &outcome) { + int errorType = static_cast(outcome.GetError().GetErrorType()); + std::string errorMessage = (outcome.GetError()).GetMessage(); + switch (errorType) { + case static_cast(Aws::SSOOIDC::SSOOIDCErrors::INTERNAL_SERVER): + LogFailureResponse( + outcome, "Error: Unexpected server error while registering client"); + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed : An error occurred during the " + "request."); + break; + default: + LogFailureResponse(outcome, "Error: Unexpected register client error"); + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed : There was an error during " + "authentication."); + } +} + +StartDeviceAuthorizationResult BrowserIdcAuthPlugin::StartDeviceAuthorization( + SSOOIDCClient &idc_client, const std::string &in_clientId, + const std::string &in_clientSecret, const std::string &in_startUrl) { + RS_LOG(m_log)("BrowserIdcAuthPlugin::StartDeviceAuthorization"); + + StartDeviceAuthorizationRequest request; + request.SetClientId(in_clientId); + request.SetClientSecret(in_clientSecret); + request.SetStartUrl(in_startUrl); + + auto outcome = idc_client.StartDeviceAuthorization(request); + + if(!outcome.IsSuccess()) { + RS_LOG(m_log)("Failed to start device authorization with IdC"); + HandleStartDeviceAuthorizationError(outcome); + } + + return outcome.GetResult(); +} + + +template +void BrowserIdcAuthPlugin::HandleStartDeviceAuthorizationError( + const Aws::Utils::Outcome &outcome) { + int errorType = static_cast(outcome.GetError().GetErrorType()); + std::string errorMessage = (outcome.GetError()).GetMessage(); + switch (errorType) { + case static_cast(Aws::SSOOIDC::SSOOIDCErrors::SLOW_DOWN): + LogFailureResponse(outcome, + "Error: Too frequent requests made by client"); + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed : Requests to the IdC service are too " + "frequent."); + break; + case static_cast(Aws::SSOOIDC::SSOOIDCErrors::INTERNAL_SERVER): + LogFailureResponse(outcome, + "Error: Server error in start device authorization"); + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed : An error occurred during the " + "request."); + break; + default: + LogFailureResponse( + outcome, "Error: Unexpected error in start device authorization"); + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed : There was an error during " + "authentication."); + } +} + +void BrowserIdcAuthPlugin::LaunchBrowser(const std::string &uri) { + RS_LOG(m_log)("BrowserIdcAuthPlugin::LaunchBrowser"); + + ValidateURL(uri); + + // Avoid system calls where possible for LOGIN_URL to help avoid possible remote code execution +#if (defined(_WIN32) || defined(_WIN64)) + if (static_cast( + reinterpret_cast( + ShellExecute( + NULL, + NULL, + uri.c_str(), + NULL, + NULL, + SW_SHOWNORMAL))) <= 32) +#elif (defined(LINUX) || defined(__linux__)) + + rs_string open_uri = command_ + uri + subcommand_; + + if (system(open_uri.c_str()) == -1) +#elif (defined(__APPLE__) || defined(__MACH__) || defined(PLATFORM_DARWIN)) + CFURLRef url = CFURLCreateWithBytes( + NULL, // allocator + (UInt8*)uri.c_str(), // URLBytes + uri.length(), // length + kCFStringEncodingASCII, // encoding + NULL // baseURL + ); + if (url) + { + LSOpenCFURLRef(url, 0); + CFRelease(url); + } + else +#endif + { + RS_LOG(m_log)("Failed to open the URL in a web browser"); + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed : The URL can't be opened in a web browser."); + } +} + +std::string BrowserIdcAuthPlugin::PollForAccessToken( + SSOOIDCClient &idc_client, + const RegisterClientResult &in_registerClientResult, + const StartDeviceAuthorizationResult &in_startDeviceAuthorizationResult, + const std::string &in_grantType) { + RS_LOG(m_log)("BrowserIdcAuthPlugin::PollForAccessToken"); + + int browser_auth_timeout_in_sec = std::stoi(m_argsMap[KEY_IDC_RESPONSE_TIMEOUT]); + auto pollingEndTime = + system_clock::now() + seconds(browser_auth_timeout_in_sec); + + int pollingIntervalInSec = REQUEST_CREATE_TOKEN_DEFAULT_INTERVAL; + if (in_startDeviceAuthorizationResult.GetInterval()) { + pollingIntervalInSec = in_startDeviceAuthorizationResult.GetInterval(); + } + + CreateTokenRequest request; + request.WithClientId(in_registerClientResult.GetClientId()); + request.WithClientSecret(in_registerClientResult.GetClientSecret()); + request.WithDeviceCode(in_startDeviceAuthorizationResult.GetDeviceCode()); + request.WithGrantType(in_grantType); + + while (system_clock::now() < pollingEndTime) { + + auto createTokenOutcome = idc_client.CreateToken(request); + + if(createTokenOutcome.IsSuccess()) { + std::string access_token = + createTokenOutcome.GetResult().GetAccessToken(); + if (access_token.empty()) { + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed : The credential token couldn't " + "be created."); + } + RS_LOG(m_log)("Fetched an IdC token successfully"); + return access_token; + } else { + const auto errorType = createTokenOutcome.GetError().GetErrorType(); + if (errorType == Aws::SSOOIDC::SSOOIDCErrors::AUTHORIZATION_PENDING) { + RS_LOG(m_log)("Browser authorization pending from user"); + std::this_thread::sleep_for(seconds(pollingIntervalInSec)); + } else { + HandleCreateTokenError(createTokenOutcome); + } + } + } + + // Failed to get access token because of polling timeout + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed : The request timed out. Authentication " + "wasn't completed."); +} + +template +void BrowserIdcAuthPlugin::HandleCreateTokenError( + const Aws::Utils::Outcome &outcome) { + int errorType = static_cast(outcome.GetError().GetErrorType()); + std::string errorMessage = (outcome.GetError()).GetMessage(); + switch (errorType) { + case static_cast(Aws::SSOOIDC::SSOOIDCErrors::SLOW_DOWN): + LogFailureResponse( + outcome, "Error: Too frequent createToken requests made by client"); + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed : Requests to the IdC service are too " + "frequent."); + break; + case static_cast(Aws::SSOOIDC::SSOOIDCErrors::ACCESS_DENIED): + LogFailureResponse(outcome, "Error: Access denied, please ensure app " + "assignment is done for the user"); + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed : You don't have sufficient permission " + "to perform the action."); + break; + case static_cast(Aws::SSOOIDC::SSOOIDCErrors::INTERNAL_SERVER): + LogFailureResponse(outcome, "Error: Server error in creating token"); + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed : An error occurred during the " + "request."); + break; + default: + LogFailureResponse(outcome, "Error: Unexpected error in create token"); + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed : There was an error during " + "authentication."); + } +} diff --git a/src/odbc/rsodbc/iam/plugins/BrowserIdcAuthPlugin.h b/src/odbc/rsodbc/iam/plugins/BrowserIdcAuthPlugin.h new file mode 100644 index 00000000..9b7cbf64 --- /dev/null +++ b/src/odbc/rsodbc/iam/plugins/BrowserIdcAuthPlugin.h @@ -0,0 +1,114 @@ +#ifndef _BrowserIdcAuthPlugin_H_ +#define _BrowserIdcAuthPlugin_H_ + +#include "NativePluginCredentialsProvider.h" + +#include +#include +#include +#include +#include +#include +#include + +namespace Redshift +{ + namespace IamSupport + { + class BrowserIdcAuthPlugin : public NativePluginCredentialsProvider + { + public: + explicit BrowserIdcAuthPlugin( + RsLogger* in_log, + const IAMConfiguration& in_config = IAMConfiguration(), + const std::map& in_argsMap + = std::map()); + + // @brief Get the IdC token + rs_string GetAuthToken() override; + + // @brief Destructor + ~BrowserIdcAuthPlugin(); + + private: + + // @brief Initialize the arguments map + void InitArgumentsMap() override; + + // @brief Validate the arguments map + void ValidateArgumentsMap() override; + + /** + * @brief Get IdC token using browser based IdC auth + * @return An IdC token + */ + rs_string GetIdcToken(); + + // @brief Initialize the IdC client + Aws::SSOOIDC::SSOOIDCClient InitializeIdcClient(const std::string& in_idcRegion); + + // @brief Template function for logging error response + template + void LogFailureResponse(const Aws::Utils::Outcome &outcome, + const std::string &operation); + + // @brief Register the client with IdC + Aws::SSOOIDC::Model::RegisterClientResult RegisterClient( + Aws::SSOOIDC::SSOOIDCClient& idc_client, + const std::string& in_registerClientCacheKey, + const std::string& in_clientApplicationName, + const std::string& in_clientType, + const std::string& in_scope); + + // @brief Handle the register client API error + template + void HandleRegisterClientError( + const Aws::Utils::Outcome &outcome); + + // @brief Start the device authorization flow + Aws::SSOOIDC::Model::StartDeviceAuthorizationResult StartDeviceAuthorization( + Aws::SSOOIDC::SSOOIDCClient& idc_client, + const std::string& in_clientId, + const std::string& in_clientSecret, + const std::string& in_startUrl); + + // @brief Handle the start device authorization API error + template + void HandleStartDeviceAuthorizationError( + const Aws::Utils::Outcome &outcome); + + // @brief Launch the browser with the given URL + void LaunchBrowser(const std::string& in_url); + + // @brief Poll for the access token + std::string PollForAccessToken( + Aws::SSOOIDC::SSOOIDCClient& idc_client, + const Aws::SSOOIDC::Model::RegisterClientResult& in_registerClientResult, + const Aws::SSOOIDC::Model::StartDeviceAuthorizationResult& in_startDeviceAuthorizationResult, + const std::string& in_grantType); + + // @brief Handle the create access token API error + template + void HandleCreateTokenError( + const Aws::Utils::Outcome &outcome); + + // @brief Disabled assignment operator to avoid warning. + BrowserIdcAuthPlugin& operator=(const BrowserIdcAuthPlugin& in_browserProvider); + +#if (defined(_WIN32) || defined(_WIN64)) + const char* command_ = "start \"\" \""; + const char* subcommand_ = "\""; +#elif (defined(LINUX) || defined(__linux__)) + const char* command_ = "URL=\""; + // Trying so hard to open browser on Linux as some commands couldn't work. + const char* subcommand_ = "\"; xdg-open $URL || sensible-browser $URL || x-www-browser $URL || gnome-open $URL"; +#elif (defined(__APPLE__) || defined(__MACH__) || defined(PLATFORM_DARWIN)) + const char* command_ = "open \""; + const char* subcommand_ = "\""; +#endif + + }; + } +} + +#endif \ No newline at end of file diff --git a/src/odbc/rsodbc/iam/plugins/IAMPluginFactory.cpp b/src/odbc/rsodbc/iam/plugins/IAMPluginFactory.cpp index 49cc5d04..a1db13f9 100755 --- a/src/odbc/rsodbc/iam/plugins/IAMPluginFactory.cpp +++ b/src/odbc/rsodbc/iam/plugins/IAMPluginFactory.cpp @@ -50,6 +50,14 @@ std::unique_ptr IAMPluginFactory::CreatePlugin( { credProvider = CreateJwtIamAuthPlugin(in_log, in_config, in_argsMap); } + else if (IAMUtils::isEqual(in_pluginName, IAMUtils::convertCharStringToWstring(PLUGIN_IDP_TOKEN_AUTH), false)) + { + credProvider = CreateIdpTokenAuthPlugin(in_log, in_config, in_argsMap); + } + else if (IAMUtils::isEqual(in_pluginName, IAMUtils::convertCharStringToWstring(PLUGIN_BROWSER_IDC_AUTH), false)) + { + credProvider = CreateBrowserIdcAuthPlugin(in_log, in_config, in_argsMap); + } else { credProvider = CreateExternalPlugin(in_log, in_config, in_argsMap); // .Detach() @@ -166,6 +174,30 @@ std::unique_ptr IAMPluginFactory::CreateJwtIamAuthPlugin( new JwtIamAuthPlugin(in_log, in_config, in_argsMap)); } +//////////////////////////////////////////////////////////////////////////////////////////////////// +std::unique_ptr IAMPluginFactory::CreateIdpTokenAuthPlugin( + RsLogger* in_log, + const IAMConfiguration& in_config, + const std::map& in_argsMap) +{ + RS_LOG(in_log)("IAMPluginFactory::CreateBasicPlugin"); + + return std::unique_ptr( + new IdpTokenAuthPlugin(in_log, in_config, in_argsMap)); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +std::unique_ptr IAMPluginFactory::CreateBrowserIdcAuthPlugin( + RsLogger* in_log, + const IAMConfiguration& in_config, + const std::map& in_argsMap) +{ + RS_LOG(in_log)("IAMPluginFactory::CreateBrowserIdcAuthPlugin"); + + return std::unique_ptr( + new BrowserIdcAuthPlugin(in_log, in_config, in_argsMap)); +} + //////////////////////////////////////////////////////////////////////////////////////////////////// std::unique_ptr IAMPluginFactory::CreateExternalPlugin( RsLogger* in_log, diff --git a/src/odbc/rsodbc/iam/plugins/IAMPluginFactory.h b/src/odbc/rsodbc/iam/plugins/IAMPluginFactory.h index b3caca48..73ab3952 100755 --- a/src/odbc/rsodbc/iam/plugins/IAMPluginFactory.h +++ b/src/odbc/rsodbc/iam/plugins/IAMPluginFactory.h @@ -13,6 +13,8 @@ #include "IAMJwtBasicCredentialsProvider.h" #include "IAMBrowserAzureOAuth2CredentialsProvider.h" #include "JwtIamAuthPlugin.h" +#include "IdpTokenAuthPlugin.h" +#include "BrowserIdcAuthPlugin.h" #include #include @@ -159,6 +161,32 @@ namespace IamSupport const std::map& in_argsMap = std::map()); + /// @brief Constructor Construct IdP token auth plugin using argument map + /// + /// @param in_log The logger + /// @param in_config The IAM Connection Configuration + /// @param in_argsMap Optional arguments map passed to the credentials provider + /// + /// @return IdP token auth plugin wrapped using smart pointer + static std::unique_ptr CreateIdpTokenAuthPlugin( + RsLogger* in_log, + const IAMConfiguration& in_config = IAMConfiguration(), + const std::map& in_argsMap + = std::map()); + + /// @brief Constructor Construct IdC Browser credentials provider using argument map + /// + /// @param in_log The logger + /// @param in_config The IAM Connection Configuration + /// @param in_argsMap Optional arguments map passed to the credentials provider + /// + /// @return Browser IdC credentials provider wrapped using smart pointer + static std::unique_ptr CreateBrowserIdcAuthPlugin( + RsLogger* in_log, + const IAMConfiguration& in_config = IAMConfiguration(), + const std::map& in_argsMap + = std::map()); + /// @brief Constructor Construct credentials provider using argument map /// /// @param in_log The logger. (NOT OWN) diff --git a/src/odbc/rsodbc/iam/plugins/IdpTokenAuthPlugin.cpp b/src/odbc/rsodbc/iam/plugins/IdpTokenAuthPlugin.cpp new file mode 100644 index 00000000..8791edc9 --- /dev/null +++ b/src/odbc/rsodbc/iam/plugins/IdpTokenAuthPlugin.cpp @@ -0,0 +1,58 @@ +#include "IdpTokenAuthPlugin.h" + +using namespace Redshift::IamSupport; + +IdpTokenAuthPlugin::IdpTokenAuthPlugin( + RsLogger *in_log, const IAMConfiguration &in_config, + const std::map &in_argsMap) + : NativePluginCredentialsProvider(in_log, in_config, in_argsMap) { + RS_LOG(m_log)("IdpTokenAuthPlugin::IdpTokenAuthPlugin"); + InitArgumentsMap(); +} + +IdpTokenAuthPlugin::~IdpTokenAuthPlugin() { + RS_LOG(m_log)("IdpTokenAuthPlugin::~IdpTokenAuthPlugin"); +} + +rs_string IdpTokenAuthPlugin::GetAuthToken() { + RS_LOG(m_log)("IdpTokenAuthPlugin::GetAuthToken"); + ValidateArgumentsMap(); + return m_argsMap[KEY_IDP_AUTH_TOKEN]; +} + +void IdpTokenAuthPlugin::InitArgumentsMap() { + RS_LOG(m_log)("IdpTokenAuthPlugin::InitArgumentsMap"); + + const rs_string authToken = m_config.GetIdpAuthToken(); + const rs_string tokenType = m_config.GetIdpAuthTokenType(); + if (!IAMUtils::rs_trim(authToken).empty()) { + m_argsMap[KEY_IDP_AUTH_TOKEN] = authToken; + } + if (!IAMUtils::rs_trim(tokenType).empty()) { + m_argsMap[KEY_IDP_AUTH_TOKEN_TYPE] = tokenType; + RS_LOG(m_log)("Setting token_type=%s", tokenType.c_str()); + } +} + +void IdpTokenAuthPlugin::ValidateArgumentsMap() { + RS_LOG(m_log)("IdpTokenAuthPlugin::ValidateArgumentsMap"); + + // Validate the parameters passed in and make sure we have the required auth + // token and token type + if (!m_argsMap.count(KEY_IDP_AUTH_TOKEN)) { + RS_LOG(m_log) + ("IdC authentication failed: token needs to be provided in connection " + "params"); + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed: The token must be included in the " + "connection parameters."); + } + if (!m_argsMap.count(KEY_IDP_AUTH_TOKEN_TYPE)) { + RS_LOG(m_log) + ("IdC authentication failed: token type needs to be provided in " + "connection params"); + IAMUtils::ThrowConnectionExceptionWithInfo( + "IdC authentication failed: The token type must be included in the " + "connection parameters."); + } +} \ No newline at end of file diff --git a/src/odbc/rsodbc/iam/plugins/IdpTokenAuthPlugin.h b/src/odbc/rsodbc/iam/plugins/IdpTokenAuthPlugin.h new file mode 100644 index 00000000..083e10b1 --- /dev/null +++ b/src/odbc/rsodbc/iam/plugins/IdpTokenAuthPlugin.h @@ -0,0 +1,38 @@ +#ifndef _IdpTokenAuthPlugin_H_ +#define _IdpTokenAuthPlugin_H_ + +#include "NativePluginCredentialsProvider.h" + +namespace Redshift +{ + namespace IamSupport + { + class IdpTokenAuthPlugin : public NativePluginCredentialsProvider + { + public: + explicit IdpTokenAuthPlugin( + RsLogger *in_log, + const IAMConfiguration &in_config = IAMConfiguration(), + const std::map &in_argsMap = + std::map()); + + // @brief Get the auth token + rs_string GetAuthToken() override; + + // @brief Destructor + ~IdpTokenAuthPlugin(); + + private: + // @brief Initialize the arguments map + void InitArgumentsMap() override; + + // @brief Validate the arguments map + void ValidateArgumentsMap() override; + + // @brief Disabled assignment operator to avoid warning. + IdpTokenAuthPlugin& operator=(const IdpTokenAuthPlugin& in_basicProvider); + }; + } +} + +#endif \ No newline at end of file diff --git a/src/odbc/rsodbc/iam/plugins/NativePluginCredentialsProvider.cpp b/src/odbc/rsodbc/iam/plugins/NativePluginCredentialsProvider.cpp new file mode 100644 index 00000000..fbdebbd8 --- /dev/null +++ b/src/odbc/rsodbc/iam/plugins/NativePluginCredentialsProvider.cpp @@ -0,0 +1,34 @@ +#include "NativePluginCredentialsProvider.h" + +using namespace Redshift::IamSupport; +using namespace Aws::Auth; + +namespace +{ + static const char* LOG_TAG = "NativePluginCredentialsProvider"; +} + +NativePluginCredentialsProvider::NativePluginCredentialsProvider( + RsLogger* in_log, + const IAMConfiguration& in_config, + const std::map& in_argsMap) : + IAMPluginCredentialsProvider(in_log, in_config, in_argsMap) +{ + RS_LOG(m_log)("NativePluginCredentialsProvider::NativePluginCredentialsProvider"); +} + +AWSCredentials NativePluginCredentialsProvider::GetAWSCredentials() +{ + RS_LOG(m_log)("NativePluginCredentialsProvider::GetAWSCredentials"); + return AWSCredentials(); +} + +void NativePluginCredentialsProvider::ValidateArgumentsMap() +{ + RS_LOG(m_log)("NativePluginCredentialsProvider::ValidateArgumentsMap"); +} + +NativePluginCredentialsProvider::~NativePluginCredentialsProvider() +{ + RS_LOG(m_log)("NativePluginCredentialsProvider::~NativePluginCredentialsProvider"); +} \ No newline at end of file diff --git a/src/odbc/rsodbc/iam/plugins/NativePluginCredentialsProvider.h b/src/odbc/rsodbc/iam/plugins/NativePluginCredentialsProvider.h new file mode 100644 index 00000000..f0593d12 --- /dev/null +++ b/src/odbc/rsodbc/iam/plugins/NativePluginCredentialsProvider.h @@ -0,0 +1,49 @@ +#ifndef _NATIVEPLUGINCREDENTIALSPROVIDER_H_ +#define _NATIVEPLUGINCREDENTIALSPROVIDER_H_ + +#include +#include "../rs_iam_support.h" +#include "IAMUtils.h" +#include "IAMPluginCredentialsProvider.h" + +namespace Redshift +{ + namespace IamSupport + { + class NativePluginCredentialsProvider : public IAMPluginCredentialsProvider + { + public: + explicit NativePluginCredentialsProvider( + RsLogger* in_log, + const IAMConfiguration& in_config = IAMConfiguration(), + const std::map& in_argsMap + = std::map()); + + /** + * @brief Get AWS credentials for the given credentials provider + * @return AwsCredentials from the credentials provider + */ + virtual Aws::Auth::AWSCredentials GetAWSCredentials() override; + + // @brief Validate the arguments map for the credential provider + virtual void ValidateArgumentsMap() override; + + /** + * @brief Get auth token from the plugin + * + * @return auth token + */ + virtual rs_string GetAuthToken() = 0; + + /// @brief Destructor + virtual ~NativePluginCredentialsProvider(); + + protected: + // @brief Disabled assignment operator to avoid warning. + NativePluginCredentialsProvider& operator=(const NativePluginCredentialsProvider& in_credProvider); + + }; + } +} + +#endif \ No newline at end of file diff --git a/src/odbc/rsodbc/iam/rs_iam_support.h b/src/odbc/rsodbc/iam/rs_iam_support.h index cdc3493f..a283f6fd 100755 --- a/src/odbc/rsodbc/iam/rs_iam_support.h +++ b/src/odbc/rsodbc/iam/rs_iam_support.h @@ -98,6 +98,13 @@ namespace IamSupport #define IAM_KEY_STS_CONNECTION_TIMEOUT "StsConnectionTimeout" #define IAM_KEY_SCOPE "scope" // "api://" + client_id + "/User.Read" + #define KEY_IDP_AUTH_TOKEN "token" + #define KEY_IDP_AUTH_TOKEN_TYPE "token_type" + #define KEY_IDC_START_URL "start_url" + #define KEY_IDC_REGION "idc_region" + #define KEY_IDC_RESPONSE_TIMEOUT "idc_response_timeout" + #define KEY_IDC_CLIENT_DISPLAY_NAME "idc_client_display_name" + /* SAML pattern used to extract SAML assertion from the HTML response page */ @@ -114,6 +121,8 @@ namespace IamSupport #define IAM_PLUGIN_JWT "JWT" // used for federated native IdP auth #define IAM_PLUGIN_BROWSER_AZURE_OAUTH2 "BrowserAzureADOAuth2" // used for federated native IdP auth #define JWT_IAM_AUTH_PLUGIN "JwtIamAuthPlugin" // used for federated Jwt IAM auth + #define PLUGIN_IDP_TOKEN_AUTH "IdpTokenAuthPlugin" + #define PLUGIN_BROWSER_IDC_AUTH "BrowserIdcAuthPlugin" /** * The CA path used to look up CA files diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/include/aws/common/config.h b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/include/aws/common/config.h index 4f5a342a..0af1a2de 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/include/aws/common/config.h +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/include/aws/common/config.h @@ -1,23 +1,23 @@ -#ifndef AWS_COMMON_CONFIG_H -#define AWS_COMMON_CONFIG_H - -/** - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0. - */ - -/* - * This header exposes compiler feature test results determined during cmake - * configure time to inline function implementations. The macros defined here - * should be considered to be an implementation detail, and can change at any - * time. - */ -/* #undef AWS_HAVE_GCC_OVERFLOW_MATH_EXTENSIONS */ -/* #undef AWS_HAVE_GCC_INLINE_ASM */ -#define AWS_HAVE_MSVC_INTRINSICS_X64 -/* #undef AWS_HAVE_POSIX_LARGE_FILE_SUPPORT */ -/* #undef AWS_HAVE_EXECINFO */ -#define AWS_HAVE_WINAPI_DESKTOP -/* #undef AWS_HAVE_LINUX_IF_LINK_H */ - -#endif +#ifndef AWS_COMMON_CONFIG_H +#define AWS_COMMON_CONFIG_H + +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +/* + * This header exposes compiler feature test results determined during cmake + * configure time to inline function implementations. The macros defined here + * should be considered to be an implementation detail, and can change at any + * time. + */ +/* #undef AWS_HAVE_GCC_OVERFLOW_MATH_EXTENSIONS */ +/* #undef AWS_HAVE_GCC_INLINE_ASM */ +#define AWS_HAVE_MSVC_INTRINSICS_X64 +/* #undef AWS_HAVE_POSIX_LARGE_FILE_SUPPORT */ +/* #undef AWS_HAVE_EXECINFO */ +#define AWS_HAVE_WINAPI_DESKTOP +/* #undef AWS_HAVE_LINUX_IF_LINK_H */ + +#endif diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/include/aws/crt/Config.h b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/include/aws/crt/Config.h index 6daace1a..5c88f377 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/include/aws/crt/Config.h +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/include/aws/crt/Config.h @@ -1,11 +1,11 @@ -#pragma once -/** - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0. - */ - -#define AWS_CRT_CPP_VERSION "0.19.8-dev+cb474dae" -#define AWS_CRT_CPP_VERSION_MAJOR 0 -#define AWS_CRT_CPP_VERSION_MINOR 19 -#define AWS_CRT_CPP_VERSION_PATCH 8 -#define AWS_CRT_CPP_GIT_HASH "cb474daeeaf5c025bd3408103adf61b97b74e600" +#pragma once +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#define AWS_CRT_CPP_VERSION "0.19.8-dev+cb474dae" +#define AWS_CRT_CPP_VERSION_MAJOR 0 +#define AWS_CRT_CPP_VERSION_MINOR 19 +#define AWS_CRT_CPP_VERSION_PATCH 8 +#define AWS_CRT_CPP_GIT_HASH "cb474daeeaf5c025bd3408103adf61b97b74e600" diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-auth/cmake/aws-c-auth-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-auth/cmake/aws-c-auth-config.cmake index 15e47cce..23cbf860 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-auth/cmake/aws-c-auth-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-auth/cmake/aws-c-auth-config.cmake @@ -1,26 +1,26 @@ -include(CMakeFindDependencyMacro) - -find_dependency(aws-c-common) -find_dependency(aws-c-cal) -find_dependency(aws-c-io) -find_dependency(aws-c-http) -find_dependency(aws-c-sdkutils) - -macro(aws_load_targets type) - include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-auth-targets.cmake) -endmacro() - -# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. -if (BUILD_SHARED_LIBS) - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") - aws_load_targets(shared) - else() - aws_load_targets(static) - endif() -else() - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") - aws_load_targets(static) - else() - aws_load_targets(shared) - endif() -endif() +include(CMakeFindDependencyMacro) + +find_dependency(aws-c-common) +find_dependency(aws-c-cal) +find_dependency(aws-c-io) +find_dependency(aws-c-http) +find_dependency(aws-c-sdkutils) + +macro(aws_load_targets type) + include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-auth-targets.cmake) +endmacro() + +# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. +if (BUILD_SHARED_LIBS) + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") + aws_load_targets(shared) + else() + aws_load_targets(static) + endif() +else() + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") + aws_load_targets(static) + else() + aws_load_targets(shared) + endif() +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-auth/cmake/static/aws-c-auth-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-auth/cmake/static/aws-c-auth-targets-release.cmake index 8b50a2ca..85a5a980 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-auth/cmake/static/aws-c-auth-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-auth/cmake/static/aws-c-auth-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "AWS::aws-c-auth" for configuration "Release" -set_property(TARGET AWS::aws-c-auth APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(AWS::aws-c-auth PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-auth.lib" - ) - -list(APPEND _cmake_import_check_targets AWS::aws-c-auth ) -list(APPEND _cmake_import_check_files_for_AWS::aws-c-auth "${_IMPORT_PREFIX}/lib/aws-c-auth.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "AWS::aws-c-auth" for configuration "Release" +set_property(TARGET AWS::aws-c-auth APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(AWS::aws-c-auth PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-auth.lib" + ) + +list(APPEND _cmake_import_check_targets AWS::aws-c-auth ) +list(APPEND _cmake_import_check_files_for_AWS::aws-c-auth "${_IMPORT_PREFIX}/lib/aws-c-auth.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-auth/cmake/static/aws-c-auth-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-auth/cmake/static/aws-c-auth-targets.cmake index 80632ade..58ba08c7 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-auth/cmake/static/aws-c-auth-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-auth/cmake/static/aws-c-auth-targets.cmake @@ -1,124 +1,124 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS AWS::aws-c-auth) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target AWS::aws-c-auth -add_library(AWS::aws-c-auth STATIC IMPORTED) - -set_target_properties(AWS::aws-c-auth PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "AWS::aws-c-sdkutils;AWS::aws-c-cal;AWS::aws-c-http" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-auth-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "AWS::aws-c-sdkutils" "AWS::aws-c-cal" "AWS::aws-c-http" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS AWS::aws-c-auth) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target AWS::aws-c-auth +add_library(AWS::aws-c-auth STATIC IMPORTED) + +set_target_properties(AWS::aws-c-auth PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "AWS::aws-c-sdkutils;AWS::aws-c-cal;AWS::aws-c-http" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-auth-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "AWS::aws-c-sdkutils" "AWS::aws-c-cal" "AWS::aws-c-http" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-cal/cmake/aws-c-cal-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-cal/cmake/aws-c-cal-config.cmake index ff93d55f..87d60a8f 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-cal/cmake/aws-c-cal-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-cal/cmake/aws-c-cal-config.cmake @@ -1,37 +1,37 @@ -include(CMakeFindDependencyMacro) - -find_dependency(aws-c-common) - -macro(aws_load_targets type) - include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-cal-targets.cmake) -endmacro() - -# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. -if (BUILD_SHARED_LIBS) - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") - aws_load_targets(shared) - else() - aws_load_targets(static) - endif() -else() - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") - aws_load_targets(static) - else() - aws_load_targets(shared) - endif() -endif() - -if (NOT BYO_CRYPTO AND NOT WIN32 AND NOT APPLE) - get_target_property(AWS_C_CAL_DEPS AWS::aws-c-cal INTERFACE_LINK_LIBRARIES) - # pre-cmake 3.3 IN_LIST search approach - list (FIND AWS_C_CAL_DEPS "OpenSSL::Crypto" _index) - if (${_index} GREATER -1) # if USE_OPENSSL AND NOT ANDROID - # aws-c-cal has been built with a dependency on OpenSSL::Crypto, - # therefore consumers of this library have a dependency on OpenSSL and must have it found - find_dependency(OpenSSL REQUIRED) - find_dependency(Threads REQUIRED) - else() - list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/modules") - find_dependency(crypto) - endif() -endif() +include(CMakeFindDependencyMacro) + +find_dependency(aws-c-common) + +macro(aws_load_targets type) + include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-cal-targets.cmake) +endmacro() + +# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. +if (BUILD_SHARED_LIBS) + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") + aws_load_targets(shared) + else() + aws_load_targets(static) + endif() +else() + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") + aws_load_targets(static) + else() + aws_load_targets(shared) + endif() +endif() + +if (NOT BYO_CRYPTO AND NOT WIN32 AND NOT APPLE) + get_target_property(AWS_C_CAL_DEPS AWS::aws-c-cal INTERFACE_LINK_LIBRARIES) + # pre-cmake 3.3 IN_LIST search approach + list (FIND AWS_C_CAL_DEPS "OpenSSL::Crypto" _index) + if (${_index} GREATER -1) # if USE_OPENSSL AND NOT ANDROID + # aws-c-cal has been built with a dependency on OpenSSL::Crypto, + # therefore consumers of this library have a dependency on OpenSSL and must have it found + find_dependency(OpenSSL REQUIRED) + find_dependency(Threads REQUIRED) + else() + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/modules") + find_dependency(crypto) + endif() +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-cal/cmake/static/aws-c-cal-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-cal/cmake/static/aws-c-cal-targets-release.cmake index c43edb0c..f9b876c0 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-cal/cmake/static/aws-c-cal-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-cal/cmake/static/aws-c-cal-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "AWS::aws-c-cal" for configuration "Release" -set_property(TARGET AWS::aws-c-cal APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(AWS::aws-c-cal PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-cal.lib" - ) - -list(APPEND _cmake_import_check_targets AWS::aws-c-cal ) -list(APPEND _cmake_import_check_files_for_AWS::aws-c-cal "${_IMPORT_PREFIX}/lib/aws-c-cal.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "AWS::aws-c-cal" for configuration "Release" +set_property(TARGET AWS::aws-c-cal APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(AWS::aws-c-cal PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-cal.lib" + ) + +list(APPEND _cmake_import_check_targets AWS::aws-c-cal ) +list(APPEND _cmake_import_check_files_for_AWS::aws-c-cal "${_IMPORT_PREFIX}/lib/aws-c-cal.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-cal/cmake/static/aws-c-cal-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-cal/cmake/static/aws-c-cal-targets.cmake index f8b9becd..50208912 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-cal/cmake/static/aws-c-cal-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-cal/cmake/static/aws-c-cal-targets.cmake @@ -1,124 +1,124 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS AWS::aws-c-cal) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target AWS::aws-c-cal -add_library(AWS::aws-c-cal STATIC IMPORTED) - -set_target_properties(AWS::aws-c-cal PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "AWS::aws-c-common;NCrypt" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-cal-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "AWS::aws-c-common" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS AWS::aws-c-cal) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target AWS::aws-c-cal +add_library(AWS::aws-c-cal STATIC IMPORTED) + +set_target_properties(AWS::aws-c-cal PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "AWS::aws-c-common;NCrypt" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-cal-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "AWS::aws-c-common" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-common/cmake/aws-c-common-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-common/cmake/aws-c-common-config.cmake index a041a538..8f0d89a7 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-common/cmake/aws-c-common-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-common/cmake/aws-c-common-config.cmake @@ -1,24 +1,24 @@ -set(THREADS_PREFER_PTHREAD_FLAG ON) - -if(WIN32 OR UNIX OR APPLE) - find_package(Threads REQUIRED) -endif() - -macro(aws_load_targets type) - include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-common-targets.cmake) -endmacro() - -# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. -if (BUILD_SHARED_LIBS) - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") - aws_load_targets(shared) - else() - aws_load_targets(static) - endif() -else() - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") - aws_load_targets(static) - else() - aws_load_targets(shared) - endif() -endif() +set(THREADS_PREFER_PTHREAD_FLAG ON) + +if(WIN32 OR UNIX OR APPLE) + find_package(Threads REQUIRED) +endif() + +macro(aws_load_targets type) + include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-common-targets.cmake) +endmacro() + +# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. +if (BUILD_SHARED_LIBS) + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") + aws_load_targets(shared) + else() + aws_load_targets(static) + endif() +else() + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") + aws_load_targets(static) + else() + aws_load_targets(shared) + endif() +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-common/cmake/static/aws-c-common-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-common/cmake/static/aws-c-common-targets-release.cmake index 187ea869..b77ddc86 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-common/cmake/static/aws-c-common-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-common/cmake/static/aws-c-common-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "AWS::aws-c-common" for configuration "Release" -set_property(TARGET AWS::aws-c-common APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(AWS::aws-c-common PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-common.lib" - ) - -list(APPEND _cmake_import_check_targets AWS::aws-c-common ) -list(APPEND _cmake_import_check_files_for_AWS::aws-c-common "${_IMPORT_PREFIX}/lib/aws-c-common.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "AWS::aws-c-common" for configuration "Release" +set_property(TARGET AWS::aws-c-common APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(AWS::aws-c-common PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-common.lib" + ) + +list(APPEND _cmake_import_check_targets AWS::aws-c-common ) +list(APPEND _cmake_import_check_files_for_AWS::aws-c-common "${_IMPORT_PREFIX}/lib/aws-c-common.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-common/cmake/static/aws-c-common-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-common/cmake/static/aws-c-common-targets.cmake index a572150c..c5398c62 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-common/cmake/static/aws-c-common-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-common/cmake/static/aws-c-common-targets.cmake @@ -1,108 +1,108 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS AWS::aws-c-common) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target AWS::aws-c-common -add_library(AWS::aws-c-common STATIC IMPORTED) - -set_target_properties(AWS::aws-c-common PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "BCrypt;Kernel32;Ws2_32;Shlwapi" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-common-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# This file does not depend on other imported targets which have -# been exported from the same project but in a separate export set. - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS AWS::aws-c-common) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target AWS::aws-c-common +add_library(AWS::aws-c-common STATIC IMPORTED) + +set_target_properties(AWS::aws-c-common PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "BCrypt;Kernel32;Ws2_32;Shlwapi" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-common-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-compression/cmake/aws-c-compression-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-compression/cmake/aws-c-compression-config.cmake index 7122013b..c64f35c1 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-compression/cmake/aws-c-compression-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-compression/cmake/aws-c-compression-config.cmake @@ -1,22 +1,22 @@ -include(CMakeFindDependencyMacro) - -find_dependency(aws-c-common) - -macro(aws_load_targets type) - include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-compression-targets.cmake) -endmacro() - -# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. -if (BUILD_SHARED_LIBS) - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") - aws_load_targets(shared) - else() - aws_load_targets(static) - endif() -else() - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") - aws_load_targets(static) - else() - aws_load_targets(shared) - endif() -endif() +include(CMakeFindDependencyMacro) + +find_dependency(aws-c-common) + +macro(aws_load_targets type) + include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-compression-targets.cmake) +endmacro() + +# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. +if (BUILD_SHARED_LIBS) + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") + aws_load_targets(shared) + else() + aws_load_targets(static) + endif() +else() + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") + aws_load_targets(static) + else() + aws_load_targets(shared) + endif() +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-compression/cmake/static/aws-c-compression-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-compression/cmake/static/aws-c-compression-targets-release.cmake index 9d8b8dec..8bae86cf 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-compression/cmake/static/aws-c-compression-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-compression/cmake/static/aws-c-compression-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "AWS::aws-c-compression" for configuration "Release" -set_property(TARGET AWS::aws-c-compression APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(AWS::aws-c-compression PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-compression.lib" - ) - -list(APPEND _cmake_import_check_targets AWS::aws-c-compression ) -list(APPEND _cmake_import_check_files_for_AWS::aws-c-compression "${_IMPORT_PREFIX}/lib/aws-c-compression.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "AWS::aws-c-compression" for configuration "Release" +set_property(TARGET AWS::aws-c-compression APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(AWS::aws-c-compression PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-compression.lib" + ) + +list(APPEND _cmake_import_check_targets AWS::aws-c-compression ) +list(APPEND _cmake_import_check_files_for_AWS::aws-c-compression "${_IMPORT_PREFIX}/lib/aws-c-compression.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-compression/cmake/static/aws-c-compression-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-compression/cmake/static/aws-c-compression-targets.cmake index bd52a4e2..bfb9c13f 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-compression/cmake/static/aws-c-compression-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-compression/cmake/static/aws-c-compression-targets.cmake @@ -1,124 +1,124 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS AWS::aws-c-compression) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target AWS::aws-c-compression -add_library(AWS::aws-c-compression STATIC IMPORTED) - -set_target_properties(AWS::aws-c-compression PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "AWS::aws-c-common" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-compression-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "AWS::aws-c-common" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS AWS::aws-c-compression) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target AWS::aws-c-compression +add_library(AWS::aws-c-compression STATIC IMPORTED) + +set_target_properties(AWS::aws-c-compression PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "AWS::aws-c-common" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-compression-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "AWS::aws-c-common" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-event-stream/cmake/aws-c-event-stream-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-event-stream/cmake/aws-c-event-stream-config.cmake index 1c45697e..2b61ad8e 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-event-stream/cmake/aws-c-event-stream-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-event-stream/cmake/aws-c-event-stream-config.cmake @@ -1,22 +1,22 @@ -include(CMakeFindDependencyMacro) -find_dependency(aws-c-io) -find_dependency(aws-checksums) - -macro(aws_load_targets type) - include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-event-stream-targets.cmake) -endmacro() - -# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. -if (BUILD_SHARED_LIBS) - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") - aws_load_targets(shared) - else() - aws_load_targets(static) - endif() -else() - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") - aws_load_targets(static) - else() - aws_load_targets(shared) - endif() -endif() +include(CMakeFindDependencyMacro) +find_dependency(aws-c-io) +find_dependency(aws-checksums) + +macro(aws_load_targets type) + include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-event-stream-targets.cmake) +endmacro() + +# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. +if (BUILD_SHARED_LIBS) + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") + aws_load_targets(shared) + else() + aws_load_targets(static) + endif() +else() + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") + aws_load_targets(static) + else() + aws_load_targets(shared) + endif() +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-event-stream/cmake/static/aws-c-event-stream-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-event-stream/cmake/static/aws-c-event-stream-targets-release.cmake index e5d60642..e8ea2680 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-event-stream/cmake/static/aws-c-event-stream-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-event-stream/cmake/static/aws-c-event-stream-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "AWS::aws-c-event-stream" for configuration "Release" -set_property(TARGET AWS::aws-c-event-stream APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(AWS::aws-c-event-stream PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-event-stream.lib" - ) - -list(APPEND _cmake_import_check_targets AWS::aws-c-event-stream ) -list(APPEND _cmake_import_check_files_for_AWS::aws-c-event-stream "${_IMPORT_PREFIX}/lib/aws-c-event-stream.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "AWS::aws-c-event-stream" for configuration "Release" +set_property(TARGET AWS::aws-c-event-stream APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(AWS::aws-c-event-stream PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-event-stream.lib" + ) + +list(APPEND _cmake_import_check_targets AWS::aws-c-event-stream ) +list(APPEND _cmake_import_check_files_for_AWS::aws-c-event-stream "${_IMPORT_PREFIX}/lib/aws-c-event-stream.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-event-stream/cmake/static/aws-c-event-stream-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-event-stream/cmake/static/aws-c-event-stream-targets.cmake index 143b98c5..fef64196 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-event-stream/cmake/static/aws-c-event-stream-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-event-stream/cmake/static/aws-c-event-stream-targets.cmake @@ -1,124 +1,124 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS AWS::aws-c-event-stream) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target AWS::aws-c-event-stream -add_library(AWS::aws-c-event-stream STATIC IMPORTED) - -set_target_properties(AWS::aws-c-event-stream PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "AWS::aws-c-io;AWS::aws-c-common;AWS::aws-checksums" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-event-stream-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "AWS::aws-c-io" "AWS::aws-c-common" "AWS::aws-checksums" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS AWS::aws-c-event-stream) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target AWS::aws-c-event-stream +add_library(AWS::aws-c-event-stream STATIC IMPORTED) + +set_target_properties(AWS::aws-c-event-stream PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "AWS::aws-c-io;AWS::aws-c-common;AWS::aws-checksums" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-event-stream-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "AWS::aws-c-io" "AWS::aws-c-common" "AWS::aws-checksums" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-http/cmake/aws-c-http-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-http/cmake/aws-c-http-config.cmake index 00903679..d017c166 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-http/cmake/aws-c-http-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-http/cmake/aws-c-http-config.cmake @@ -1,23 +1,23 @@ -include(CMakeFindDependencyMacro) - -find_dependency(aws-c-io) -find_dependency(aws-c-compression) - -macro(aws_load_targets type) - include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-http-targets.cmake) -endmacro() - -# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. -if (BUILD_SHARED_LIBS) - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") - aws_load_targets(shared) - else() - aws_load_targets(static) - endif() -else() - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") - aws_load_targets(static) - else() - aws_load_targets(shared) - endif() -endif() +include(CMakeFindDependencyMacro) + +find_dependency(aws-c-io) +find_dependency(aws-c-compression) + +macro(aws_load_targets type) + include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-http-targets.cmake) +endmacro() + +# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. +if (BUILD_SHARED_LIBS) + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") + aws_load_targets(shared) + else() + aws_load_targets(static) + endif() +else() + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") + aws_load_targets(static) + else() + aws_load_targets(shared) + endif() +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-http/cmake/static/aws-c-http-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-http/cmake/static/aws-c-http-targets-release.cmake index 9ada50c8..4824f1bd 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-http/cmake/static/aws-c-http-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-http/cmake/static/aws-c-http-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "AWS::aws-c-http" for configuration "Release" -set_property(TARGET AWS::aws-c-http APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(AWS::aws-c-http PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-http.lib" - ) - -list(APPEND _cmake_import_check_targets AWS::aws-c-http ) -list(APPEND _cmake_import_check_files_for_AWS::aws-c-http "${_IMPORT_PREFIX}/lib/aws-c-http.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "AWS::aws-c-http" for configuration "Release" +set_property(TARGET AWS::aws-c-http APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(AWS::aws-c-http PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-http.lib" + ) + +list(APPEND _cmake_import_check_targets AWS::aws-c-http ) +list(APPEND _cmake_import_check_files_for_AWS::aws-c-http "${_IMPORT_PREFIX}/lib/aws-c-http.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-http/cmake/static/aws-c-http-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-http/cmake/static/aws-c-http-targets.cmake index 5ef05e8d..12ba378f 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-http/cmake/static/aws-c-http-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-http/cmake/static/aws-c-http-targets.cmake @@ -1,124 +1,124 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS AWS::aws-c-http) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target AWS::aws-c-http -add_library(AWS::aws-c-http STATIC IMPORTED) - -set_target_properties(AWS::aws-c-http PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "AWS::aws-c-io;AWS::aws-c-compression" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-http-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "AWS::aws-c-io" "AWS::aws-c-compression" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS AWS::aws-c-http) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target AWS::aws-c-http +add_library(AWS::aws-c-http STATIC IMPORTED) + +set_target_properties(AWS::aws-c-http PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "AWS::aws-c-io;AWS::aws-c-compression" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-http-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "AWS::aws-c-io" "AWS::aws-c-compression" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-io/cmake/aws-c-io-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-io/cmake/aws-c-io-config.cmake index 18a3d0b2..b35575ae 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-io/cmake/aws-c-io-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-io/cmake/aws-c-io-config.cmake @@ -1,27 +1,27 @@ -include(CMakeFindDependencyMacro) - -if (UNIX AND NOT APPLE AND NOT BYO_CRYPTO) - find_dependency(s2n) -endif() - -find_dependency(aws-c-common) -find_dependency(aws-c-cal) - -macro(aws_load_targets type) - include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-io-targets.cmake) -endmacro() - -# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. -if (BUILD_SHARED_LIBS) - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") - aws_load_targets(shared) - else() - aws_load_targets(static) - endif() -else() - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") - aws_load_targets(static) - else() - aws_load_targets(shared) - endif() -endif() +include(CMakeFindDependencyMacro) + +if (UNIX AND NOT APPLE AND NOT BYO_CRYPTO) + find_dependency(s2n) +endif() + +find_dependency(aws-c-common) +find_dependency(aws-c-cal) + +macro(aws_load_targets type) + include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-io-targets.cmake) +endmacro() + +# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. +if (BUILD_SHARED_LIBS) + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") + aws_load_targets(shared) + else() + aws_load_targets(static) + endif() +else() + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") + aws_load_targets(static) + else() + aws_load_targets(shared) + endif() +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-io/cmake/static/aws-c-io-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-io/cmake/static/aws-c-io-targets-release.cmake index 3bab60b8..b957d834 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-io/cmake/static/aws-c-io-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-io/cmake/static/aws-c-io-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "AWS::aws-c-io" for configuration "Release" -set_property(TARGET AWS::aws-c-io APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(AWS::aws-c-io PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-io.lib" - ) - -list(APPEND _cmake_import_check_targets AWS::aws-c-io ) -list(APPEND _cmake_import_check_files_for_AWS::aws-c-io "${_IMPORT_PREFIX}/lib/aws-c-io.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "AWS::aws-c-io" for configuration "Release" +set_property(TARGET AWS::aws-c-io APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(AWS::aws-c-io PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-io.lib" + ) + +list(APPEND _cmake_import_check_targets AWS::aws-c-io ) +list(APPEND _cmake_import_check_files_for_AWS::aws-c-io "${_IMPORT_PREFIX}/lib/aws-c-io.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-io/cmake/static/aws-c-io-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-io/cmake/static/aws-c-io-targets.cmake index 4680aa94..350a397d 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-io/cmake/static/aws-c-io-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-io/cmake/static/aws-c-io-targets.cmake @@ -1,125 +1,125 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS AWS::aws-c-io) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target AWS::aws-c-io -add_library(AWS::aws-c-io STATIC IMPORTED) - -set_target_properties(AWS::aws-c-io PROPERTIES - INTERFACE_COMPILE_DEFINITIONS "AWS_USE_IO_COMPLETION_PORTS" - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "AWS::aws-c-common;AWS::aws-c-cal;\$;\$" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-io-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "AWS::aws-c-common" "AWS::aws-c-cal" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS AWS::aws-c-io) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target AWS::aws-c-io +add_library(AWS::aws-c-io STATIC IMPORTED) + +set_target_properties(AWS::aws-c-io PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "AWS_USE_IO_COMPLETION_PORTS" + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "AWS::aws-c-common;AWS::aws-c-cal;\$;\$" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-io-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "AWS::aws-c-common" "AWS::aws-c-cal" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-mqtt/cmake/aws-c-mqtt-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-mqtt/cmake/aws-c-mqtt-config.cmake index 8f444169..74742d20 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-mqtt/cmake/aws-c-mqtt-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-mqtt/cmake/aws-c-mqtt-config.cmake @@ -1,26 +1,26 @@ -include(CMakeFindDependencyMacro) - -find_dependency(aws-c-io) - -if (ON) - find_dependency(aws-c-http) -endif() - -macro(aws_load_targets type) - include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-mqtt-targets.cmake) -endmacro() - -# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. -if (BUILD_SHARED_LIBS) - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") - aws_load_targets(shared) - else() - aws_load_targets(static) - endif() -else() - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") - aws_load_targets(static) - else() - aws_load_targets(shared) - endif() -endif() +include(CMakeFindDependencyMacro) + +find_dependency(aws-c-io) + +if (ON) + find_dependency(aws-c-http) +endif() + +macro(aws_load_targets type) + include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-mqtt-targets.cmake) +endmacro() + +# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. +if (BUILD_SHARED_LIBS) + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") + aws_load_targets(shared) + else() + aws_load_targets(static) + endif() +else() + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") + aws_load_targets(static) + else() + aws_load_targets(shared) + endif() +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-mqtt/cmake/static/aws-c-mqtt-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-mqtt/cmake/static/aws-c-mqtt-targets-release.cmake index 25f277f9..add76200 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-mqtt/cmake/static/aws-c-mqtt-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-mqtt/cmake/static/aws-c-mqtt-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "AWS::aws-c-mqtt" for configuration "Release" -set_property(TARGET AWS::aws-c-mqtt APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(AWS::aws-c-mqtt PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-mqtt.lib" - ) - -list(APPEND _cmake_import_check_targets AWS::aws-c-mqtt ) -list(APPEND _cmake_import_check_files_for_AWS::aws-c-mqtt "${_IMPORT_PREFIX}/lib/aws-c-mqtt.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "AWS::aws-c-mqtt" for configuration "Release" +set_property(TARGET AWS::aws-c-mqtt APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(AWS::aws-c-mqtt PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-mqtt.lib" + ) + +list(APPEND _cmake_import_check_targets AWS::aws-c-mqtt ) +list(APPEND _cmake_import_check_files_for_AWS::aws-c-mqtt "${_IMPORT_PREFIX}/lib/aws-c-mqtt.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-mqtt/cmake/static/aws-c-mqtt-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-mqtt/cmake/static/aws-c-mqtt-targets.cmake index dc8e0b6f..1d6edd83 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-mqtt/cmake/static/aws-c-mqtt-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-mqtt/cmake/static/aws-c-mqtt-targets.cmake @@ -1,125 +1,125 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS AWS::aws-c-mqtt) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target AWS::aws-c-mqtt -add_library(AWS::aws-c-mqtt STATIC IMPORTED) - -set_target_properties(AWS::aws-c-mqtt PROPERTIES - INTERFACE_COMPILE_DEFINITIONS "AWS_MQTT_WITH_WEBSOCKETS" - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "AWS::aws-c-io;AWS::aws-c-http" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-mqtt-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "AWS::aws-c-io" "AWS::aws-c-http" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS AWS::aws-c-mqtt) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target AWS::aws-c-mqtt +add_library(AWS::aws-c-mqtt STATIC IMPORTED) + +set_target_properties(AWS::aws-c-mqtt PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "AWS_MQTT_WITH_WEBSOCKETS" + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "AWS::aws-c-io;AWS::aws-c-http" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-mqtt-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "AWS::aws-c-io" "AWS::aws-c-http" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-s3/cmake/aws-c-s3-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-s3/cmake/aws-c-s3-config.cmake index 6627c0fd..44ec4137 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-s3/cmake/aws-c-s3-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-s3/cmake/aws-c-s3-config.cmake @@ -1,24 +1,24 @@ -include(CMakeFindDependencyMacro) - -find_dependency(aws-c-auth) -find_dependency(aws-c-http) -find_dependency(aws-checksums) - -macro(aws_load_targets type) - include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-s3-targets.cmake) -endmacro() - -# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. -if (BUILD_SHARED_LIBS) - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") - aws_load_targets(shared) - else() - aws_load_targets(static) - endif() -else() - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") - aws_load_targets(static) - else() - aws_load_targets(shared) - endif() -endif() +include(CMakeFindDependencyMacro) + +find_dependency(aws-c-auth) +find_dependency(aws-c-http) +find_dependency(aws-checksums) + +macro(aws_load_targets type) + include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-s3-targets.cmake) +endmacro() + +# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. +if (BUILD_SHARED_LIBS) + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") + aws_load_targets(shared) + else() + aws_load_targets(static) + endif() +else() + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") + aws_load_targets(static) + else() + aws_load_targets(shared) + endif() +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-s3/cmake/static/aws-c-s3-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-s3/cmake/static/aws-c-s3-targets-release.cmake index 80c2a9e1..aa86a027 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-s3/cmake/static/aws-c-s3-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-s3/cmake/static/aws-c-s3-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "AWS::aws-c-s3" for configuration "Release" -set_property(TARGET AWS::aws-c-s3 APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(AWS::aws-c-s3 PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-s3.lib" - ) - -list(APPEND _cmake_import_check_targets AWS::aws-c-s3 ) -list(APPEND _cmake_import_check_files_for_AWS::aws-c-s3 "${_IMPORT_PREFIX}/lib/aws-c-s3.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "AWS::aws-c-s3" for configuration "Release" +set_property(TARGET AWS::aws-c-s3 APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(AWS::aws-c-s3 PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-s3.lib" + ) + +list(APPEND _cmake_import_check_targets AWS::aws-c-s3 ) +list(APPEND _cmake_import_check_files_for_AWS::aws-c-s3 "${_IMPORT_PREFIX}/lib/aws-c-s3.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-s3/cmake/static/aws-c-s3-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-s3/cmake/static/aws-c-s3-targets.cmake index 529a2e0f..daa56af8 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-s3/cmake/static/aws-c-s3-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-s3/cmake/static/aws-c-s3-targets.cmake @@ -1,124 +1,124 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS AWS::aws-c-s3) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target AWS::aws-c-s3 -add_library(AWS::aws-c-s3 STATIC IMPORTED) - -set_target_properties(AWS::aws-c-s3 PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "AWS::aws-c-auth;AWS::aws-checksums" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-s3-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "AWS::aws-c-auth" "AWS::aws-checksums" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS AWS::aws-c-s3) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target AWS::aws-c-s3 +add_library(AWS::aws-c-s3 STATIC IMPORTED) + +set_target_properties(AWS::aws-c-s3 PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "AWS::aws-c-auth;AWS::aws-checksums" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-s3-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "AWS::aws-c-auth" "AWS::aws-checksums" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-sdkutils/cmake/aws-c-sdkutils-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-sdkutils/cmake/aws-c-sdkutils-config.cmake index d806ae12..5b7e9d19 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-sdkutils/cmake/aws-c-sdkutils-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-sdkutils/cmake/aws-c-sdkutils-config.cmake @@ -1,22 +1,22 @@ -include(CMakeFindDependencyMacro) - -find_dependency(aws-c-common) - -macro(aws_load_targets type) - include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-sdkutils-targets.cmake) -endmacro() - -# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. -if (BUILD_SHARED_LIBS) - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") - aws_load_targets(shared) - else() - aws_load_targets(static) - endif() -else() - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") - aws_load_targets(static) - else() - aws_load_targets(shared) - endif() -endif() +include(CMakeFindDependencyMacro) + +find_dependency(aws-c-common) + +macro(aws_load_targets type) + include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-c-sdkutils-targets.cmake) +endmacro() + +# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. +if (BUILD_SHARED_LIBS) + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") + aws_load_targets(shared) + else() + aws_load_targets(static) + endif() +else() + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") + aws_load_targets(static) + else() + aws_load_targets(shared) + endif() +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-sdkutils/cmake/static/aws-c-sdkutils-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-sdkutils/cmake/static/aws-c-sdkutils-targets-release.cmake index 1a5f44a9..39e9bed5 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-sdkutils/cmake/static/aws-c-sdkutils-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-sdkutils/cmake/static/aws-c-sdkutils-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "AWS::aws-c-sdkutils" for configuration "Release" -set_property(TARGET AWS::aws-c-sdkutils APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(AWS::aws-c-sdkutils PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-sdkutils.lib" - ) - -list(APPEND _cmake_import_check_targets AWS::aws-c-sdkutils ) -list(APPEND _cmake_import_check_files_for_AWS::aws-c-sdkutils "${_IMPORT_PREFIX}/lib/aws-c-sdkutils.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "AWS::aws-c-sdkutils" for configuration "Release" +set_property(TARGET AWS::aws-c-sdkutils APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(AWS::aws-c-sdkutils PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-c-sdkutils.lib" + ) + +list(APPEND _cmake_import_check_targets AWS::aws-c-sdkutils ) +list(APPEND _cmake_import_check_files_for_AWS::aws-c-sdkutils "${_IMPORT_PREFIX}/lib/aws-c-sdkutils.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-sdkutils/cmake/static/aws-c-sdkutils-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-sdkutils/cmake/static/aws-c-sdkutils-targets.cmake index c3a8bfd3..80e8bd00 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-sdkutils/cmake/static/aws-c-sdkutils-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-c-sdkutils/cmake/static/aws-c-sdkutils-targets.cmake @@ -1,124 +1,124 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS AWS::aws-c-sdkutils) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target AWS::aws-c-sdkutils -add_library(AWS::aws-c-sdkutils STATIC IMPORTED) - -set_target_properties(AWS::aws-c-sdkutils PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "AWS::aws-c-common" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-sdkutils-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "AWS::aws-c-common" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS AWS::aws-c-sdkutils) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target AWS::aws-c-sdkutils +add_library(AWS::aws-c-sdkutils STATIC IMPORTED) + +set_target_properties(AWS::aws-c-sdkutils PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "AWS::aws-c-common" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-c-sdkutils-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "AWS::aws-c-common" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-checksums/cmake/aws-checksums-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-checksums/cmake/aws-checksums-config.cmake index 334e91fd..18f9b710 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-checksums/cmake/aws-checksums-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-checksums/cmake/aws-checksums-config.cmake @@ -1,18 +1,18 @@ -macro(aws_load_targets type) - include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-checksums-targets.cmake) -endmacro() - -# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. -if (BUILD_SHARED_LIBS) - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") - aws_load_targets(shared) - else() - aws_load_targets(static) - endif() -else() - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") - aws_load_targets(static) - else() - aws_load_targets(shared) - endif() -endif() +macro(aws_load_targets type) + include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-checksums-targets.cmake) +endmacro() + +# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. +if (BUILD_SHARED_LIBS) + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") + aws_load_targets(shared) + else() + aws_load_targets(static) + endif() +else() + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") + aws_load_targets(static) + else() + aws_load_targets(shared) + endif() +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-checksums/cmake/static/aws-checksums-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-checksums/cmake/static/aws-checksums-targets-release.cmake index e8743975..0de07308 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-checksums/cmake/static/aws-checksums-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-checksums/cmake/static/aws-checksums-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "AWS::aws-checksums" for configuration "Release" -set_property(TARGET AWS::aws-checksums APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(AWS::aws-checksums PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-checksums.lib" - ) - -list(APPEND _cmake_import_check_targets AWS::aws-checksums ) -list(APPEND _cmake_import_check_files_for_AWS::aws-checksums "${_IMPORT_PREFIX}/lib/aws-checksums.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "AWS::aws-checksums" for configuration "Release" +set_property(TARGET AWS::aws-checksums APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(AWS::aws-checksums PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-checksums.lib" + ) + +list(APPEND _cmake_import_check_targets AWS::aws-checksums ) +list(APPEND _cmake_import_check_files_for_AWS::aws-checksums "${_IMPORT_PREFIX}/lib/aws-checksums.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-checksums/cmake/static/aws-checksums-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-checksums/cmake/static/aws-checksums-targets.cmake index c0bedcbb..53a6f860 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-checksums/cmake/static/aws-checksums-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-checksums/cmake/static/aws-checksums-targets.cmake @@ -1,124 +1,124 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS AWS::aws-checksums) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target AWS::aws-checksums -add_library(AWS::aws-checksums STATIC IMPORTED) - -set_target_properties(AWS::aws-checksums PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "AWS::aws-c-common" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-checksums-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "AWS::aws-c-common" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS AWS::aws-checksums) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target AWS::aws-checksums +add_library(AWS::aws-checksums STATIC IMPORTED) + +set_target_properties(AWS::aws-checksums PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "AWS::aws-c-common" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-checksums-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "AWS::aws-c-common" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/aws-crt-cpp-config-version.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/aws-crt-cpp-config-version.cmake index b2523748..187c1d0f 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/aws-crt-cpp-config-version.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/aws-crt-cpp-config-version.cmake @@ -1,83 +1,83 @@ -# This is a basic version file for the Config-mode of find_package(). -# It is used by write_basic_package_version_file() as input file for configure_file() -# to create a version-file which can be installed along a config.cmake file. -# -# The created file sets PACKAGE_VERSION_EXACT if the current version string and -# the requested version string are exactly the same and it sets -# PACKAGE_VERSION_COMPATIBLE if the current version is equal to the requested version. -# The tweak version component is ignored. -# The variable CVF_VERSION must be set before calling configure_file(). - - -if (PACKAGE_FIND_VERSION_RANGE) - message(AUTHOR_WARNING - "`find_package()` specify a version range but the version strategy " - "(ExactVersion) of the module `${PACKAGE_FIND_NAME}` is incompatible " - "with this request. Only the lower endpoint of the range will be used.") -endif() - -set(PACKAGE_VERSION "0.19.8") - -if("0.19.8" MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)") # strip the tweak version - set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}") - set(CVF_VERSION_MINOR "${CMAKE_MATCH_2}") - set(CVF_VERSION_PATCH "${CMAKE_MATCH_3}") - - if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0) - string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}") - endif() - if(NOT CVF_VERSION_MINOR VERSION_EQUAL 0) - string(REGEX REPLACE "^0+" "" CVF_VERSION_MINOR "${CVF_VERSION_MINOR}") - endif() - if(NOT CVF_VERSION_PATCH VERSION_EQUAL 0) - string(REGEX REPLACE "^0+" "" CVF_VERSION_PATCH "${CVF_VERSION_PATCH}") - endif() - - set(CVF_VERSION_NO_TWEAK "${CVF_VERSION_MAJOR}.${CVF_VERSION_MINOR}.${CVF_VERSION_PATCH}") -else() - set(CVF_VERSION_NO_TWEAK "0.19.8") -endif() - -if(PACKAGE_FIND_VERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)") # strip the tweak version - set(REQUESTED_VERSION_MAJOR "${CMAKE_MATCH_1}") - set(REQUESTED_VERSION_MINOR "${CMAKE_MATCH_2}") - set(REQUESTED_VERSION_PATCH "${CMAKE_MATCH_3}") - - if(NOT REQUESTED_VERSION_MAJOR VERSION_EQUAL 0) - string(REGEX REPLACE "^0+" "" REQUESTED_VERSION_MAJOR "${REQUESTED_VERSION_MAJOR}") - endif() - if(NOT REQUESTED_VERSION_MINOR VERSION_EQUAL 0) - string(REGEX REPLACE "^0+" "" REQUESTED_VERSION_MINOR "${REQUESTED_VERSION_MINOR}") - endif() - if(NOT REQUESTED_VERSION_PATCH VERSION_EQUAL 0) - string(REGEX REPLACE "^0+" "" REQUESTED_VERSION_PATCH "${REQUESTED_VERSION_PATCH}") - endif() - - set(REQUESTED_VERSION_NO_TWEAK - "${REQUESTED_VERSION_MAJOR}.${REQUESTED_VERSION_MINOR}.${REQUESTED_VERSION_PATCH}") -else() - set(REQUESTED_VERSION_NO_TWEAK "${PACKAGE_FIND_VERSION}") -endif() - -if(REQUESTED_VERSION_NO_TWEAK STREQUAL CVF_VERSION_NO_TWEAK) - set(PACKAGE_VERSION_COMPATIBLE TRUE) -else() - set(PACKAGE_VERSION_COMPATIBLE FALSE) -endif() - -if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) - set(PACKAGE_VERSION_EXACT TRUE) -endif() - - -# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") - return() -endif() - -# check that the installed version has the same 32/64bit-ness as the one which is currently searching: -if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") - math(EXPR installedBits "8 * 8") - set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") - set(PACKAGE_VERSION_UNSUITABLE TRUE) -endif() +# This is a basic version file for the Config-mode of find_package(). +# It is used by write_basic_package_version_file() as input file for configure_file() +# to create a version-file which can be installed along a config.cmake file. +# +# The created file sets PACKAGE_VERSION_EXACT if the current version string and +# the requested version string are exactly the same and it sets +# PACKAGE_VERSION_COMPATIBLE if the current version is equal to the requested version. +# The tweak version component is ignored. +# The variable CVF_VERSION must be set before calling configure_file(). + + +if (PACKAGE_FIND_VERSION_RANGE) + message(AUTHOR_WARNING + "`find_package()` specify a version range but the version strategy " + "(ExactVersion) of the module `${PACKAGE_FIND_NAME}` is incompatible " + "with this request. Only the lower endpoint of the range will be used.") +endif() + +set(PACKAGE_VERSION "0.19.8") + +if("0.19.8" MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)") # strip the tweak version + set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}") + set(CVF_VERSION_MINOR "${CMAKE_MATCH_2}") + set(CVF_VERSION_PATCH "${CMAKE_MATCH_3}") + + if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0) + string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}") + endif() + if(NOT CVF_VERSION_MINOR VERSION_EQUAL 0) + string(REGEX REPLACE "^0+" "" CVF_VERSION_MINOR "${CVF_VERSION_MINOR}") + endif() + if(NOT CVF_VERSION_PATCH VERSION_EQUAL 0) + string(REGEX REPLACE "^0+" "" CVF_VERSION_PATCH "${CVF_VERSION_PATCH}") + endif() + + set(CVF_VERSION_NO_TWEAK "${CVF_VERSION_MAJOR}.${CVF_VERSION_MINOR}.${CVF_VERSION_PATCH}") +else() + set(CVF_VERSION_NO_TWEAK "0.19.8") +endif() + +if(PACKAGE_FIND_VERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)") # strip the tweak version + set(REQUESTED_VERSION_MAJOR "${CMAKE_MATCH_1}") + set(REQUESTED_VERSION_MINOR "${CMAKE_MATCH_2}") + set(REQUESTED_VERSION_PATCH "${CMAKE_MATCH_3}") + + if(NOT REQUESTED_VERSION_MAJOR VERSION_EQUAL 0) + string(REGEX REPLACE "^0+" "" REQUESTED_VERSION_MAJOR "${REQUESTED_VERSION_MAJOR}") + endif() + if(NOT REQUESTED_VERSION_MINOR VERSION_EQUAL 0) + string(REGEX REPLACE "^0+" "" REQUESTED_VERSION_MINOR "${REQUESTED_VERSION_MINOR}") + endif() + if(NOT REQUESTED_VERSION_PATCH VERSION_EQUAL 0) + string(REGEX REPLACE "^0+" "" REQUESTED_VERSION_PATCH "${REQUESTED_VERSION_PATCH}") + endif() + + set(REQUESTED_VERSION_NO_TWEAK + "${REQUESTED_VERSION_MAJOR}.${REQUESTED_VERSION_MINOR}.${REQUESTED_VERSION_PATCH}") +else() + set(REQUESTED_VERSION_NO_TWEAK "${PACKAGE_FIND_VERSION}") +endif() + +if(REQUESTED_VERSION_NO_TWEAK STREQUAL CVF_VERSION_NO_TWEAK) + set(PACKAGE_VERSION_COMPATIBLE TRUE) +else() + set(PACKAGE_VERSION_COMPATIBLE FALSE) +endif() + +if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) +endif() + + +# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") + return() +endif() + +# check that the installed version has the same 32/64bit-ness as the one which is currently searching: +if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") + math(EXPR installedBits "8 * 8") + set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") + set(PACKAGE_VERSION_UNSUITABLE TRUE) +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/aws-crt-cpp-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/aws-crt-cpp-config.cmake index 3cf2b2bb..f446db0d 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/aws-crt-cpp-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/aws-crt-cpp-config.cmake @@ -1,27 +1,27 @@ -include(CMakeFindDependencyMacro) - -find_dependency(aws-c-http) -find_dependency(aws-c-mqtt) -find_dependency(aws-c-cal) -find_dependency(aws-c-auth) -find_dependency(aws-c-event-stream) -find_dependency(aws-c-s3) - -macro(aws_load_targets type) - include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-crt-cpp-targets.cmake) -endmacro() - -# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. -if (BUILD_SHARED_LIBS) - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") - aws_load_targets(shared) - else() - aws_load_targets(static) - endif() -else() - if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") - aws_load_targets(static) - else() - aws_load_targets(shared) - endif() -endif() +include(CMakeFindDependencyMacro) + +find_dependency(aws-c-http) +find_dependency(aws-c-mqtt) +find_dependency(aws-c-cal) +find_dependency(aws-c-auth) +find_dependency(aws-c-event-stream) +find_dependency(aws-c-s3) + +macro(aws_load_targets type) + include(${CMAKE_CURRENT_LIST_DIR}/${type}/aws-crt-cpp-targets.cmake) +endmacro() + +# try to load the lib follow BUILD_SHARED_LIBS. Fall back if not exist. +if (BUILD_SHARED_LIBS) + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") + aws_load_targets(shared) + else() + aws_load_targets(static) + endif() +else() + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") + aws_load_targets(static) + else() + aws_load_targets(shared) + endif() +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/static/aws-crt-cpp-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/static/aws-crt-cpp-targets-release.cmake index f47ec4db..af119a8e 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/static/aws-crt-cpp-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/static/aws-crt-cpp-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "AWS::aws-crt-cpp" for configuration "Release" -set_property(TARGET AWS::aws-crt-cpp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(AWS::aws-crt-cpp PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-crt-cpp.lib" - ) - -list(APPEND _cmake_import_check_targets AWS::aws-crt-cpp ) -list(APPEND _cmake_import_check_files_for_AWS::aws-crt-cpp "${_IMPORT_PREFIX}/lib/aws-crt-cpp.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "AWS::aws-crt-cpp" for configuration "Release" +set_property(TARGET AWS::aws-crt-cpp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(AWS::aws-crt-cpp PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-crt-cpp.lib" + ) + +list(APPEND _cmake_import_check_targets AWS::aws-crt-cpp ) +list(APPEND _cmake_import_check_files_for_AWS::aws-crt-cpp "${_IMPORT_PREFIX}/lib/aws-crt-cpp.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/static/aws-crt-cpp-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/static/aws-crt-cpp-targets.cmake index f1b1fe9c..b706a1fb 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/static/aws-crt-cpp-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/aws-crt-cpp/cmake/static/aws-crt-cpp-targets.cmake @@ -1,124 +1,124 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS AWS::aws-crt-cpp) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target AWS::aws-crt-cpp -add_library(AWS::aws-crt-cpp STATIC IMPORTED) - -set_target_properties(AWS::aws-crt-cpp PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "AWS::aws-c-http;AWS::aws-c-mqtt;AWS::aws-c-cal;AWS::aws-c-auth;AWS::aws-c-common;AWS::aws-c-io;AWS::aws-checksums;AWS::aws-c-event-stream;AWS::aws-c-s3" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-crt-cpp-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "AWS::aws-c-http" "AWS::aws-c-mqtt" "AWS::aws-c-cal" "AWS::aws-c-auth" "AWS::aws-c-common" "AWS::aws-c-io" "AWS::aws-checksums" "AWS::aws-c-event-stream" "AWS::aws-c-s3" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS AWS::aws-crt-cpp) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target AWS::aws-crt-cpp +add_library(AWS::aws-crt-cpp STATIC IMPORTED) + +set_target_properties(AWS::aws-crt-cpp PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "AWS::aws-c-http;AWS::aws-c-mqtt;AWS::aws-c-cal;AWS::aws-c-auth;AWS::aws-c-common;AWS::aws-c-io;AWS::aws-checksums;AWS::aws-c-event-stream;AWS::aws-c-s3" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-crt-cpp-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "AWS::aws-c-http" "AWS::aws-c-mqtt" "AWS::aws-c-cal" "AWS::aws-c-auth" "AWS::aws-c-common" "AWS::aws-c-io" "AWS::aws-checksums" "AWS::aws-c-event-stream" "AWS::aws-c-s3" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/AWSSDK/AWSSDKConfigVersion.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/AWSSDK/AWSSDKConfigVersion.cmake index c510c5c0..b2a4ccb1 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/AWSSDK/AWSSDKConfigVersion.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/AWSSDK/AWSSDKConfigVersion.cmake @@ -1,45 +1,45 @@ -# This is a basic version file for the Config-mode of find_package(). -# It is used by write_basic_package_version_file() as input file for configure_file() -# to create a version-file which can be installed along a config.cmake file. -# -# The created file sets PACKAGE_VERSION_EXACT if the current version string and -# the requested version string are exactly the same and it sets -# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. -# The variable CVF_VERSION must be set before calling configure_file(). - -set(PACKAGE_VERSION "1.11.111") - -if (PACKAGE_FIND_VERSION_RANGE) - # Package version must be in the requested version range - if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) - OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) - OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - endif() -else() - if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) - set(PACKAGE_VERSION_EXACT TRUE) - endif() - endif() -endif() - - -# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") - return() -endif() - -# check that the installed version has the same 32/64bit-ness as the one which is currently searching: -if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") - math(EXPR installedBits "8 * 8") - set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") - set(PACKAGE_VERSION_UNSUITABLE TRUE) -endif() -set(AWSSDK_INSTALL_AS_SHARED_LIBS 0) -set(AWSSDK_CRT_INSTALL_AS_SHARED_LIBS 0) +# This is a basic version file for the Config-mode of find_package(). +# It is used by write_basic_package_version_file() as input file for configure_file() +# to create a version-file which can be installed along a config.cmake file. +# +# The created file sets PACKAGE_VERSION_EXACT if the current version string and +# the requested version string are exactly the same and it sets +# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. +# The variable CVF_VERSION must be set before calling configure_file(). + +set(PACKAGE_VERSION "1.11.111") + +if (PACKAGE_FIND_VERSION_RANGE) + # Package version must be in the requested version range + if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) + OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) + OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + endif() +else() + if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) + endif() + endif() +endif() + + +# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") + return() +endif() + +# check that the installed version has the same 32/64bit-ness as the one which is currently searching: +if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") + math(EXPR installedBits "8 * 8") + set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") + set(PACKAGE_VERSION_UNSUITABLE TRUE) +endif() +set(AWSSDK_INSTALL_AS_SHARED_LIBS 0) +set(AWSSDK_CRT_INSTALL_AS_SHARED_LIBS 0) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/AWSSDK/platformDeps.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/AWSSDK/platformDeps.cmake index 626eb979..73fd7e53 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/AWSSDK/platformDeps.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/AWSSDK/platformDeps.cmake @@ -1,21 +1,21 @@ -# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -# SPDX-License-Identifier: Apache-2.0. -set(AWSSDK_PLATFORM_DEPS_LIBS Userenv;version;ws2_32) -set(AWSSDK_CLIENT_LIBS Wininet;winhttp) -set(AWSSDK_CRYPTO_LIBS Bcrypt) -set(AWSSDK_CRYPTO_IN_SOURCE_BUILD ) -set(AWSSDK_COMMON_RUNTIME_LIBS aws-crt-cpp;aws-c-auth;aws-c-cal;aws-c-common;aws-c-compression;aws-c-event-stream;aws-c-http;aws-c-io;aws-c-mqtt;aws-c-s3;aws-checksums;aws-c-sdkutils) -set(AWSSDK_ADDITIONAL_LIBS ) -set(AWSSDK_INSTALL_LIBDIR lib) -set(AWSSDK_INSTALL_BINDIR bin) -set(AWSSDK_INSTALL_INCLUDEDIR include) -set(AWSSDK_INSTALL_ARCHIVEDIR lib) -if (NOT LibCrypto_INCLUDE_DIR) - set(LibCrypto_INCLUDE_DIR CACHE INTERNAL "The OpenSSL include directory") -endif() -if (NOT LibCrypto_STATIC_LIBRARY) - set(LibCrypto_STATIC_LIBRARY CACHE INTERNAL "The OpenSSL crypto static library") -endif() -if (NOT LibCrypto_SHARED_LIBRARY) - set(LibCrypto_SHARED_LIBRARY CACHE INTERNAL "The OpenSSL crypto shared library") -endif() +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0. +set(AWSSDK_PLATFORM_DEPS_LIBS Userenv;version;ws2_32) +set(AWSSDK_CLIENT_LIBS Wininet;winhttp) +set(AWSSDK_CRYPTO_LIBS Bcrypt) +set(AWSSDK_CRYPTO_IN_SOURCE_BUILD ) +set(AWSSDK_COMMON_RUNTIME_LIBS aws-crt-cpp;aws-c-auth;aws-c-cal;aws-c-common;aws-c-compression;aws-c-event-stream;aws-c-http;aws-c-io;aws-c-mqtt;aws-c-s3;aws-checksums;aws-c-sdkutils) +set(AWSSDK_ADDITIONAL_LIBS ) +set(AWSSDK_INSTALL_LIBDIR lib) +set(AWSSDK_INSTALL_BINDIR bin) +set(AWSSDK_INSTALL_INCLUDEDIR include) +set(AWSSDK_INSTALL_ARCHIVEDIR lib) +if (NOT LibCrypto_INCLUDE_DIR) + set(LibCrypto_INCLUDE_DIR CACHE INTERNAL "The OpenSSL include directory") +endif() +if (NOT LibCrypto_STATIC_LIBRARY) + set(LibCrypto_STATIC_LIBRARY CACHE INTERNAL "The OpenSSL crypto static library") +endif() +if (NOT LibCrypto_SHARED_LIBRARY) + set(LibCrypto_SHARED_LIBRARY CACHE INTERNAL "The OpenSSL crypto shared library") +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-config-version.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-config-version.cmake index be0231b4..9167e1f8 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-config-version.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-config-version.cmake @@ -1,43 +1,43 @@ -# This is a basic version file for the Config-mode of find_package(). -# It is used by write_basic_package_version_file() as input file for configure_file() -# to create a version-file which can be installed along a config.cmake file. -# -# The created file sets PACKAGE_VERSION_EXACT if the current version string and -# the requested version string are exactly the same and it sets -# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. -# The variable CVF_VERSION must be set before calling configure_file(). - -set(PACKAGE_VERSION "1.11.111") - -if (PACKAGE_FIND_VERSION_RANGE) - # Package version must be in the requested version range - if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) - OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) - OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - endif() -else() - if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) - set(PACKAGE_VERSION_EXACT TRUE) - endif() - endif() -endif() - - -# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") - return() -endif() - -# check that the installed version has the same 32/64bit-ness as the one which is currently searching: -if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") - math(EXPR installedBits "8 * 8") - set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") - set(PACKAGE_VERSION_UNSUITABLE TRUE) -endif() +# This is a basic version file for the Config-mode of find_package(). +# It is used by write_basic_package_version_file() as input file for configure_file() +# to create a version-file which can be installed along a config.cmake file. +# +# The created file sets PACKAGE_VERSION_EXACT if the current version string and +# the requested version string are exactly the same and it sets +# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. +# The variable CVF_VERSION must be set before calling configure_file(). + +set(PACKAGE_VERSION "1.11.111") + +if (PACKAGE_FIND_VERSION_RANGE) + # Package version must be in the requested version range + if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) + OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) + OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + endif() +else() + if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) + endif() + endif() +endif() + + +# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") + return() +endif() + +# check that the installed version has the same 32/64bit-ness as the one which is currently searching: +if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") + math(EXPR installedBits "8 * 8") + set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") + set(PACKAGE_VERSION_UNSUITABLE TRUE) +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-config.cmake index cbfccb16..8a9fe988 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-config.cmake @@ -1,19 +1,19 @@ -include(CMakeFindDependencyMacro) -# Auto resolve BUILD_SHARED_LIBS for dependencies, could be overrided by CRT_BUILD_SHARED_LIBS -set(BUILD_SHARED_LIBS_PREV ${BUILD_SHARED_LIBS}) -if (DEFINED CRT_BUILD_SHARED_LIBS) - set(BUILD_SHARED_LIBS ${CRT_BUILD_SHARED_LIBS}) -else() - if (DEFINED AWSSDK_CRT_INSTALL_AS_SHARED_LIBS) - set(BUILD_SHARED_LIBS ${AWSSDK_CRT_INSTALL_AS_SHARED_LIBS}) - else() - set(BUILD_SHARED_LIBS ${AWSSDK_INSTALL_AS_SHARED_LIBS}) - endif() -endif() -find_dependency(aws-crt-cpp) -if (AWSSDK_CRYPTO_IN_SOURCE_BUILD) - find_dependency(crypto) - find_dependency(ssl) -endif() -set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_PREV}) -include("${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-core-targets.cmake") +include(CMakeFindDependencyMacro) +# Auto resolve BUILD_SHARED_LIBS for dependencies, could be overrided by CRT_BUILD_SHARED_LIBS +set(BUILD_SHARED_LIBS_PREV ${BUILD_SHARED_LIBS}) +if (DEFINED CRT_BUILD_SHARED_LIBS) + set(BUILD_SHARED_LIBS ${CRT_BUILD_SHARED_LIBS}) +else() + if (DEFINED AWSSDK_CRT_INSTALL_AS_SHARED_LIBS) + set(BUILD_SHARED_LIBS ${AWSSDK_CRT_INSTALL_AS_SHARED_LIBS}) + else() + set(BUILD_SHARED_LIBS ${AWSSDK_INSTALL_AS_SHARED_LIBS}) + endif() +endif() +find_dependency(aws-crt-cpp) +if (AWSSDK_CRYPTO_IN_SOURCE_BUILD) + find_dependency(crypto) + find_dependency(ssl) +endif() +set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_PREV}) +include("${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-core-targets.cmake") diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-targets-release.cmake index a55419dc..55e9959e 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "aws-cpp-sdk-core" for configuration "Release" -set_property(TARGET aws-cpp-sdk-core APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(aws-cpp-sdk-core PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-core.lib" - ) - -list(APPEND _cmake_import_check_targets aws-cpp-sdk-core ) -list(APPEND _cmake_import_check_files_for_aws-cpp-sdk-core "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-core.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "aws-cpp-sdk-core" for configuration "Release" +set_property(TARGET aws-cpp-sdk-core APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(aws-cpp-sdk-core PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-core.lib" + ) + +list(APPEND _cmake_import_check_targets aws-cpp-sdk-core ) +list(APPEND _cmake_import_check_files_for_aws-cpp-sdk-core "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-core.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-targets.cmake index 4accf14b..570a8418 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-core/aws-cpp-sdk-core-targets.cmake @@ -1,124 +1,124 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS aws-cpp-sdk-core) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target aws-cpp-sdk-core -add_library(aws-cpp-sdk-core STATIC IMPORTED) - -set_target_properties(aws-cpp-sdk-core PROPERTIES - INTERFACE_COMPILE_DEFINITIONS "AWS_SDK_VERSION_MAJOR=1;AWS_SDK_VERSION_MINOR=11;AWS_SDK_VERSION_PATCH=111;USE_WINDOWS_DLL_SEMANTICS" - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "\$;\$;\$;\$;\$;\$;AWS::aws-crt-cpp" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-core-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "AWS::aws-crt-cpp" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS aws-cpp-sdk-core) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target aws-cpp-sdk-core +add_library(aws-cpp-sdk-core STATIC IMPORTED) + +set_target_properties(aws-cpp-sdk-core PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "AWS_SDK_VERSION_MAJOR=1;AWS_SDK_VERSION_MINOR=11;AWS_SDK_VERSION_PATCH=111;USE_WINDOWS_DLL_SEMANTICS" + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "\$;\$;\$;\$;\$;\$;AWS::aws-crt-cpp" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-core-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "AWS::aws-crt-cpp" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-config-version.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-config-version.cmake index be0231b4..9167e1f8 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-config-version.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-config-version.cmake @@ -1,43 +1,43 @@ -# This is a basic version file for the Config-mode of find_package(). -# It is used by write_basic_package_version_file() as input file for configure_file() -# to create a version-file which can be installed along a config.cmake file. -# -# The created file sets PACKAGE_VERSION_EXACT if the current version string and -# the requested version string are exactly the same and it sets -# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. -# The variable CVF_VERSION must be set before calling configure_file(). - -set(PACKAGE_VERSION "1.11.111") - -if (PACKAGE_FIND_VERSION_RANGE) - # Package version must be in the requested version range - if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) - OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) - OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - endif() -else() - if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) - set(PACKAGE_VERSION_EXACT TRUE) - endif() - endif() -endif() - - -# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") - return() -endif() - -# check that the installed version has the same 32/64bit-ness as the one which is currently searching: -if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") - math(EXPR installedBits "8 * 8") - set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") - set(PACKAGE_VERSION_UNSUITABLE TRUE) -endif() +# This is a basic version file for the Config-mode of find_package(). +# It is used by write_basic_package_version_file() as input file for configure_file() +# to create a version-file which can be installed along a config.cmake file. +# +# The created file sets PACKAGE_VERSION_EXACT if the current version string and +# the requested version string are exactly the same and it sets +# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. +# The variable CVF_VERSION must be set before calling configure_file(). + +set(PACKAGE_VERSION "1.11.111") + +if (PACKAGE_FIND_VERSION_RANGE) + # Package version must be in the requested version range + if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) + OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) + OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + endif() +else() + if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) + endif() + endif() +endif() + + +# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") + return() +endif() + +# check that the installed version has the same 32/64bit-ness as the one which is currently searching: +if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") + math(EXPR installedBits "8 * 8") + set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") + set(PACKAGE_VERSION_UNSUITABLE TRUE) +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-config.cmake index f2cb46e7..c77f91ca 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-config.cmake @@ -1 +1 @@ -include("${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-redshift-serverless-targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-redshift-serverless-targets.cmake") diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-targets-release.cmake index c2c5e3ed..cb16bc6f 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "aws-cpp-sdk-redshift-serverless" for configuration "Release" -set_property(TARGET aws-cpp-sdk-redshift-serverless APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(aws-cpp-sdk-redshift-serverless PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-redshift-serverless.lib" - ) - -list(APPEND _cmake_import_check_targets aws-cpp-sdk-redshift-serverless ) -list(APPEND _cmake_import_check_files_for_aws-cpp-sdk-redshift-serverless "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-redshift-serverless.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "aws-cpp-sdk-redshift-serverless" for configuration "Release" +set_property(TARGET aws-cpp-sdk-redshift-serverless APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(aws-cpp-sdk-redshift-serverless PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-redshift-serverless.lib" + ) + +list(APPEND _cmake_import_check_targets aws-cpp-sdk-redshift-serverless ) +list(APPEND _cmake_import_check_files_for_aws-cpp-sdk-redshift-serverless "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-redshift-serverless.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-targets.cmake index b5b09356..1aee2b01 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift-serverless/aws-cpp-sdk-redshift-serverless-targets.cmake @@ -1,123 +1,123 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS aws-cpp-sdk-redshift-serverless) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target aws-cpp-sdk-redshift-serverless -add_library(aws-cpp-sdk-redshift-serverless STATIC IMPORTED) - -set_target_properties(aws-cpp-sdk-redshift-serverless PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "\$;\$;\$;\$" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-redshift-serverless-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "aws-cpp-sdk-core" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS aws-cpp-sdk-redshift-serverless) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target aws-cpp-sdk-redshift-serverless +add_library(aws-cpp-sdk-redshift-serverless STATIC IMPORTED) + +set_target_properties(aws-cpp-sdk-redshift-serverless PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "\$;\$;\$;\$" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-redshift-serverless-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "aws-cpp-sdk-core" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-config-version.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-config-version.cmake index be0231b4..9167e1f8 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-config-version.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-config-version.cmake @@ -1,43 +1,43 @@ -# This is a basic version file for the Config-mode of find_package(). -# It is used by write_basic_package_version_file() as input file for configure_file() -# to create a version-file which can be installed along a config.cmake file. -# -# The created file sets PACKAGE_VERSION_EXACT if the current version string and -# the requested version string are exactly the same and it sets -# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. -# The variable CVF_VERSION must be set before calling configure_file(). - -set(PACKAGE_VERSION "1.11.111") - -if (PACKAGE_FIND_VERSION_RANGE) - # Package version must be in the requested version range - if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) - OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) - OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - endif() -else() - if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) - set(PACKAGE_VERSION_EXACT TRUE) - endif() - endif() -endif() - - -# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") - return() -endif() - -# check that the installed version has the same 32/64bit-ness as the one which is currently searching: -if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") - math(EXPR installedBits "8 * 8") - set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") - set(PACKAGE_VERSION_UNSUITABLE TRUE) -endif() +# This is a basic version file for the Config-mode of find_package(). +# It is used by write_basic_package_version_file() as input file for configure_file() +# to create a version-file which can be installed along a config.cmake file. +# +# The created file sets PACKAGE_VERSION_EXACT if the current version string and +# the requested version string are exactly the same and it sets +# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. +# The variable CVF_VERSION must be set before calling configure_file(). + +set(PACKAGE_VERSION "1.11.111") + +if (PACKAGE_FIND_VERSION_RANGE) + # Package version must be in the requested version range + if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) + OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) + OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + endif() +else() + if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) + endif() + endif() +endif() + + +# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") + return() +endif() + +# check that the installed version has the same 32/64bit-ness as the one which is currently searching: +if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") + math(EXPR installedBits "8 * 8") + set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") + set(PACKAGE_VERSION_UNSUITABLE TRUE) +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-config.cmake index 94b4071d..d11dfe71 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-config.cmake @@ -1 +1 @@ -include("${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-redshift-targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-redshift-targets.cmake") diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-targets-release.cmake index ba414564..aa84a21c 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "aws-cpp-sdk-redshift" for configuration "Release" -set_property(TARGET aws-cpp-sdk-redshift APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(aws-cpp-sdk-redshift PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-redshift.lib" - ) - -list(APPEND _cmake_import_check_targets aws-cpp-sdk-redshift ) -list(APPEND _cmake_import_check_files_for_aws-cpp-sdk-redshift "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-redshift.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "aws-cpp-sdk-redshift" for configuration "Release" +set_property(TARGET aws-cpp-sdk-redshift APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(aws-cpp-sdk-redshift PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-redshift.lib" + ) + +list(APPEND _cmake_import_check_targets aws-cpp-sdk-redshift ) +list(APPEND _cmake_import_check_files_for_aws-cpp-sdk-redshift "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-redshift.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-targets.cmake index 1b48abd3..59556b34 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-redshift/aws-cpp-sdk-redshift-targets.cmake @@ -1,123 +1,123 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS aws-cpp-sdk-redshift) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target aws-cpp-sdk-redshift -add_library(aws-cpp-sdk-redshift STATIC IMPORTED) - -set_target_properties(aws-cpp-sdk-redshift PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "\$;\$;\$;\$" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-redshift-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "aws-cpp-sdk-core" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS aws-cpp-sdk-redshift) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target aws-cpp-sdk-redshift +add_library(aws-cpp-sdk-redshift STATIC IMPORTED) + +set_target_properties(aws-cpp-sdk-redshift PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "\$;\$;\$;\$" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-redshift-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "aws-cpp-sdk-core" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-config-version.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-config-version.cmake index be0231b4..9167e1f8 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-config-version.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-config-version.cmake @@ -1,43 +1,43 @@ -# This is a basic version file for the Config-mode of find_package(). -# It is used by write_basic_package_version_file() as input file for configure_file() -# to create a version-file which can be installed along a config.cmake file. -# -# The created file sets PACKAGE_VERSION_EXACT if the current version string and -# the requested version string are exactly the same and it sets -# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. -# The variable CVF_VERSION must be set before calling configure_file(). - -set(PACKAGE_VERSION "1.11.111") - -if (PACKAGE_FIND_VERSION_RANGE) - # Package version must be in the requested version range - if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) - OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) - OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - endif() -else() - if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) - set(PACKAGE_VERSION_EXACT TRUE) - endif() - endif() -endif() - - -# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") - return() -endif() - -# check that the installed version has the same 32/64bit-ness as the one which is currently searching: -if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") - math(EXPR installedBits "8 * 8") - set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") - set(PACKAGE_VERSION_UNSUITABLE TRUE) -endif() +# This is a basic version file for the Config-mode of find_package(). +# It is used by write_basic_package_version_file() as input file for configure_file() +# to create a version-file which can be installed along a config.cmake file. +# +# The created file sets PACKAGE_VERSION_EXACT if the current version string and +# the requested version string are exactly the same and it sets +# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. +# The variable CVF_VERSION must be set before calling configure_file(). + +set(PACKAGE_VERSION "1.11.111") + +if (PACKAGE_FIND_VERSION_RANGE) + # Package version must be in the requested version range + if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) + OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) + OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + endif() +else() + if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) + endif() + endif() +endif() + + +# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") + return() +endif() + +# check that the installed version has the same 32/64bit-ness as the one which is currently searching: +if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") + math(EXPR installedBits "8 * 8") + set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") + set(PACKAGE_VERSION_UNSUITABLE TRUE) +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-config.cmake index 622bb8c7..1dde9b09 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-config.cmake @@ -1 +1 @@ -include("${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-sso-oidc-targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-sso-oidc-targets.cmake") diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-targets-release.cmake index be456dde..d72218ea 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "aws-cpp-sdk-sso-oidc" for configuration "Release" -set_property(TARGET aws-cpp-sdk-sso-oidc APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(aws-cpp-sdk-sso-oidc PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-sso-oidc.lib" - ) - -list(APPEND _cmake_import_check_targets aws-cpp-sdk-sso-oidc ) -list(APPEND _cmake_import_check_files_for_aws-cpp-sdk-sso-oidc "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-sso-oidc.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "aws-cpp-sdk-sso-oidc" for configuration "Release" +set_property(TARGET aws-cpp-sdk-sso-oidc APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(aws-cpp-sdk-sso-oidc PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-sso-oidc.lib" + ) + +list(APPEND _cmake_import_check_targets aws-cpp-sdk-sso-oidc ) +list(APPEND _cmake_import_check_files_for_aws-cpp-sdk-sso-oidc "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-sso-oidc.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-targets.cmake index a038d75c..e7198f60 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sso-oidc/aws-cpp-sdk-sso-oidc-targets.cmake @@ -1,123 +1,123 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS aws-cpp-sdk-sso-oidc) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target aws-cpp-sdk-sso-oidc -add_library(aws-cpp-sdk-sso-oidc STATIC IMPORTED) - -set_target_properties(aws-cpp-sdk-sso-oidc PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "\$;\$;\$;\$" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-sso-oidc-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "aws-cpp-sdk-core" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS aws-cpp-sdk-sso-oidc) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target aws-cpp-sdk-sso-oidc +add_library(aws-cpp-sdk-sso-oidc STATIC IMPORTED) + +set_target_properties(aws-cpp-sdk-sso-oidc PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "\$;\$;\$;\$" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-sso-oidc-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "aws-cpp-sdk-core" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-config-version.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-config-version.cmake index be0231b4..9167e1f8 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-config-version.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-config-version.cmake @@ -1,43 +1,43 @@ -# This is a basic version file for the Config-mode of find_package(). -# It is used by write_basic_package_version_file() as input file for configure_file() -# to create a version-file which can be installed along a config.cmake file. -# -# The created file sets PACKAGE_VERSION_EXACT if the current version string and -# the requested version string are exactly the same and it sets -# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. -# The variable CVF_VERSION must be set before calling configure_file(). - -set(PACKAGE_VERSION "1.11.111") - -if (PACKAGE_FIND_VERSION_RANGE) - # Package version must be in the requested version range - if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) - OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) - OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - endif() -else() - if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) - set(PACKAGE_VERSION_EXACT TRUE) - endif() - endif() -endif() - - -# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") - return() -endif() - -# check that the installed version has the same 32/64bit-ness as the one which is currently searching: -if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") - math(EXPR installedBits "8 * 8") - set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") - set(PACKAGE_VERSION_UNSUITABLE TRUE) -endif() +# This is a basic version file for the Config-mode of find_package(). +# It is used by write_basic_package_version_file() as input file for configure_file() +# to create a version-file which can be installed along a config.cmake file. +# +# The created file sets PACKAGE_VERSION_EXACT if the current version string and +# the requested version string are exactly the same and it sets +# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. +# The variable CVF_VERSION must be set before calling configure_file(). + +set(PACKAGE_VERSION "1.11.111") + +if (PACKAGE_FIND_VERSION_RANGE) + # Package version must be in the requested version range + if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) + OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) + OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + endif() +else() + if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) + endif() + endif() +endif() + + +# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") + return() +endif() + +# check that the installed version has the same 32/64bit-ness as the one which is currently searching: +if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") + math(EXPR installedBits "8 * 8") + set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") + set(PACKAGE_VERSION_UNSUITABLE TRUE) +endif() diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-config.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-config.cmake index 8450108c..6d962caf 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-config.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-config.cmake @@ -1 +1 @@ -include("${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-sts-targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-sts-targets.cmake") diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-targets-release.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-targets-release.cmake index 44c328aa..8018deb1 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-targets-release.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-targets-release.cmake @@ -1,19 +1,19 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "aws-cpp-sdk-sts" for configuration "Release" -set_property(TARGET aws-cpp-sdk-sts APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(aws-cpp-sdk-sts PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-sts.lib" - ) - -list(APPEND _cmake_import_check_targets aws-cpp-sdk-sts ) -list(APPEND _cmake_import_check_files_for_aws-cpp-sdk-sts "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-sts.lib" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "aws-cpp-sdk-sts" for configuration "Release" +set_property(TARGET aws-cpp-sdk-sts APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(aws-cpp-sdk-sts PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-sts.lib" + ) + +list(APPEND _cmake_import_check_targets aws-cpp-sdk-sts ) +list(APPEND _cmake_import_check_files_for_aws-cpp-sdk-sts "${_IMPORT_PREFIX}/lib/aws-cpp-sdk-sts.lib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-targets.cmake b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-targets.cmake index 38cf84d5..51e3a015 100644 --- a/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-targets.cmake +++ b/src/odbc/rsodbc/iam/windows/aws-cpp-sdk/1.11.111/w11/vs2022/release64mt/lib/cmake/aws-cpp-sdk-sts/aws-cpp-sdk-sts-targets.cmake @@ -1,123 +1,123 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.24) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS aws-cpp-sdk-sts) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target aws-cpp-sdk-sts -add_library(aws-cpp-sdk-sts STATIC IMPORTED) - -set_target_properties(aws-cpp-sdk-sts PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "\$;\$;\$;\$" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-sts-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# Make sure the targets which have been exported in some other -# export set exist. -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) -foreach(_target "aws-cpp-sdk-core" ) - if(NOT TARGET "${_target}" ) - set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") - endif() -endforeach() - -if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - if(CMAKE_FIND_PACKAGE_NAME) - set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) - set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - else() - message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") - endif() -endif() -unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.24) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS aws-cpp-sdk-sts) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target aws-cpp-sdk-sts +add_library(aws-cpp-sdk-sts STATIC IMPORTED) + +set_target_properties(aws-cpp-sdk-sts PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "\$;\$;\$;\$" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/aws-cpp-sdk-sts-targets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "aws-cpp-sdk-core" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/src/odbc/rsodbc/iam/windows/cares/include/ares.h b/src/odbc/rsodbc/iam/windows/cares/include/ares.h new file mode 100644 index 00000000..8c7520ee --- /dev/null +++ b/src/odbc/rsodbc/iam/windows/cares/include/ares.h @@ -0,0 +1,764 @@ + +/* Copyright 1998 by the Massachusetts Institute of Technology. + * Copyright (C) 2007-2013 by Daniel Stenberg + * + * Permission to use, copy, modify, and distribute this + * software and its documentation for any purpose and without + * fee is hereby granted, provided that the above copyright + * notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting + * documentation, and that the name of M.I.T. not be used in + * advertising or publicity pertaining to distribution of the + * software without specific, written prior permission. + * M.I.T. makes no representations about the suitability of + * this software for any purpose. It is provided "as is" + * without express or implied warranty. + */ + +#ifndef ARES__H +#define ARES__H + +#include "ares_version.h" /* c-ares version defines */ +#include "ares_build.h" /* c-ares build definitions */ +#include "ares_rules.h" /* c-ares rules enforcement */ + +/* + * Define WIN32 when build target is Win32 API + */ + +#if (defined(_WIN32) || defined(__WIN32__)) && \ + !defined(WIN32) && !defined(__SYMBIAN32__) +# define WIN32 +#endif + +#include + +/* HP-UX systems version 9, 10 and 11 lack sys/select.h and so does oldish + libc5-based Linux systems. Only include it on system that are known to + require it! */ +#if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \ + defined(__minix) || defined(__SYMBIAN32__) || defined(__INTEGRITY) || \ + defined(ANDROID) || defined(__ANDROID__) || defined(__OpenBSD__) || \ + defined(__QNXNTO__) || defined(__MVS__) || defined(__HAIKU__) +#include +#endif +#if (defined(NETWARE) && !defined(__NOVELL_LIBC__)) +#include +#endif + +#if defined(WATT32) +# include +# include +# include +#elif defined(_WIN32_WCE) +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# include +# include +#elif defined(WIN32) +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# include +# include +# include +/* To aid with linking against a static c-ares build, lets tell the microsoft + * compiler to pull in needed dependencies */ +# ifdef _MSC_VER +# pragma comment(lib, "ws2_32") +# pragma comment(lib, "advapi32") +# pragma comment(lib, "iphlpapi") +# endif +#else +# include +# include +#endif + +#if defined(ANDROID) || defined(__ANDROID__) +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* +** c-ares external API function linkage decorations. +*/ + +#ifdef CARES_STATICLIB +# define CARES_EXTERN +#elif defined(WIN32) || defined(_WIN32) || defined(__SYMBIAN32__) +# if defined(CARES_BUILDING_LIBRARY) +# define CARES_EXTERN __declspec(dllexport) +# else +# define CARES_EXTERN __declspec(dllimport) +# endif +#elif defined(CARES_BUILDING_LIBRARY) && defined(CARES_SYMBOL_HIDING) +# define CARES_EXTERN CARES_SYMBOL_SCOPE_EXTERN +#else +# define CARES_EXTERN +#endif + + +#define ARES_SUCCESS 0 + +/* Server error codes (ARES_ENODATA indicates no relevant answer) */ +#define ARES_ENODATA 1 +#define ARES_EFORMERR 2 +#define ARES_ESERVFAIL 3 +#define ARES_ENOTFOUND 4 +#define ARES_ENOTIMP 5 +#define ARES_EREFUSED 6 + +/* Locally generated error codes */ +#define ARES_EBADQUERY 7 +#define ARES_EBADNAME 8 +#define ARES_EBADFAMILY 9 +#define ARES_EBADRESP 10 +#define ARES_ECONNREFUSED 11 +#define ARES_ETIMEOUT 12 +#define ARES_EOF 13 +#define ARES_EFILE 14 +#define ARES_ENOMEM 15 +#define ARES_EDESTRUCTION 16 +#define ARES_EBADSTR 17 + +/* ares_getnameinfo error codes */ +#define ARES_EBADFLAGS 18 + +/* ares_getaddrinfo error codes */ +#define ARES_ENONAME 19 +#define ARES_EBADHINTS 20 + +/* Uninitialized library error code */ +#define ARES_ENOTINITIALIZED 21 /* introduced in 1.7.0 */ + +/* ares_library_init error codes */ +#define ARES_ELOADIPHLPAPI 22 /* introduced in 1.7.0 */ +#define ARES_EADDRGETNETWORKPARAMS 23 /* introduced in 1.7.0 */ + +/* More error codes */ +#define ARES_ECANCELLED 24 /* introduced in 1.7.0 */ + +/* More ares_getaddrinfo error codes */ +#define ARES_ESERVICE 25 /* introduced in 1.?.0 */ + +/* Flag values */ +#define ARES_FLAG_USEVC (1 << 0) +#define ARES_FLAG_PRIMARY (1 << 1) +#define ARES_FLAG_IGNTC (1 << 2) +#define ARES_FLAG_NORECURSE (1 << 3) +#define ARES_FLAG_STAYOPEN (1 << 4) +#define ARES_FLAG_NOSEARCH (1 << 5) +#define ARES_FLAG_NOALIASES (1 << 6) +#define ARES_FLAG_NOCHECKRESP (1 << 7) +#define ARES_FLAG_EDNS (1 << 8) + +/* Option mask values */ +#define ARES_OPT_FLAGS (1 << 0) +#define ARES_OPT_TIMEOUT (1 << 1) +#define ARES_OPT_TRIES (1 << 2) +#define ARES_OPT_NDOTS (1 << 3) +#define ARES_OPT_UDP_PORT (1 << 4) +#define ARES_OPT_TCP_PORT (1 << 5) +#define ARES_OPT_SERVERS (1 << 6) +#define ARES_OPT_DOMAINS (1 << 7) +#define ARES_OPT_LOOKUPS (1 << 8) +#define ARES_OPT_SOCK_STATE_CB (1 << 9) +#define ARES_OPT_SORTLIST (1 << 10) +#define ARES_OPT_SOCK_SNDBUF (1 << 11) +#define ARES_OPT_SOCK_RCVBUF (1 << 12) +#define ARES_OPT_TIMEOUTMS (1 << 13) +#define ARES_OPT_ROTATE (1 << 14) +#define ARES_OPT_EDNSPSZ (1 << 15) +#define ARES_OPT_NOROTATE (1 << 16) +#define ARES_OPT_RESOLVCONF (1 << 17) +#define ARES_OPT_HOSTS_FILE (1 << 18) + +/* Nameinfo flag values */ +#define ARES_NI_NOFQDN (1 << 0) +#define ARES_NI_NUMERICHOST (1 << 1) +#define ARES_NI_NAMEREQD (1 << 2) +#define ARES_NI_NUMERICSERV (1 << 3) +#define ARES_NI_DGRAM (1 << 4) +#define ARES_NI_TCP 0 +#define ARES_NI_UDP ARES_NI_DGRAM +#define ARES_NI_SCTP (1 << 5) +#define ARES_NI_DCCP (1 << 6) +#define ARES_NI_NUMERICSCOPE (1 << 7) +#define ARES_NI_LOOKUPHOST (1 << 8) +#define ARES_NI_LOOKUPSERVICE (1 << 9) +/* Reserved for future use */ +#define ARES_NI_IDN (1 << 10) +#define ARES_NI_IDN_ALLOW_UNASSIGNED (1 << 11) +#define ARES_NI_IDN_USE_STD3_ASCII_RULES (1 << 12) + +/* Addrinfo flag values */ +#define ARES_AI_CANONNAME (1 << 0) +#define ARES_AI_NUMERICHOST (1 << 1) +#define ARES_AI_PASSIVE (1 << 2) +#define ARES_AI_NUMERICSERV (1 << 3) +#define ARES_AI_V4MAPPED (1 << 4) +#define ARES_AI_ALL (1 << 5) +#define ARES_AI_ADDRCONFIG (1 << 6) +#define ARES_AI_NOSORT (1 << 7) +#define ARES_AI_ENVHOSTS (1 << 8) +/* Reserved for future use */ +#define ARES_AI_IDN (1 << 10) +#define ARES_AI_IDN_ALLOW_UNASSIGNED (1 << 11) +#define ARES_AI_IDN_USE_STD3_ASCII_RULES (1 << 12) +#define ARES_AI_CANONIDN (1 << 13) + +#define ARES_AI_MASK (ARES_AI_CANONNAME|ARES_AI_NUMERICHOST|ARES_AI_PASSIVE| \ + ARES_AI_NUMERICSERV|ARES_AI_V4MAPPED|ARES_AI_ALL| \ + ARES_AI_ADDRCONFIG) +#define ARES_GETSOCK_MAXNUM 16 /* ares_getsock() can return info about this + many sockets */ +#define ARES_GETSOCK_READABLE(bits,num) (bits & (1<< (num))) +#define ARES_GETSOCK_WRITABLE(bits,num) (bits & (1 << ((num) + \ + ARES_GETSOCK_MAXNUM))) + +/* c-ares library initialization flag values */ +#define ARES_LIB_INIT_NONE (0) +#define ARES_LIB_INIT_WIN32 (1 << 0) +#define ARES_LIB_INIT_ALL (ARES_LIB_INIT_WIN32) + + +/* + * Typedef our socket type + */ + +#ifndef ares_socket_typedef +#ifdef WIN32 +typedef SOCKET ares_socket_t; +#define ARES_SOCKET_BAD INVALID_SOCKET +#else +typedef int ares_socket_t; +#define ARES_SOCKET_BAD -1 +#endif +#define ares_socket_typedef +#endif /* ares_socket_typedef */ + +typedef void (*ares_sock_state_cb)(void *data, + ares_socket_t socket_fd, + int readable, + int writable); + +struct apattern; + +/* NOTE about the ares_options struct to users and developers. + + This struct will remain looking like this. It will not be extended nor + shrunk in future releases, but all new options will be set by ares_set_*() + options instead of with the ares_init_options() function. + + Eventually (in a galaxy far far away), all options will be settable by + ares_set_*() options and the ares_init_options() function will become + deprecated. + + When new options are added to c-ares, they are not added to this + struct. And they are not "saved" with the ares_save_options() function but + instead we encourage the use of the ares_dup() function. Needless to say, + if you add config options to c-ares you need to make sure ares_dup() + duplicates this new option. + + */ +struct ares_options { + int flags; + int timeout; /* in seconds or milliseconds, depending on options */ + int tries; + int ndots; + unsigned short udp_port; + unsigned short tcp_port; + int socket_send_buffer_size; + int socket_receive_buffer_size; + struct in_addr *servers; + int nservers; + char **domains; + int ndomains; + char *lookups; + ares_sock_state_cb sock_state_cb; + void *sock_state_cb_data; + struct apattern *sortlist; + int nsort; + int ednspsz; + char *resolvconf_path; + char *hosts_path; +}; + +struct hostent; +struct timeval; +struct sockaddr; +struct ares_channeldata; +struct ares_addrinfo; +struct ares_addrinfo_hints; + +typedef struct ares_channeldata *ares_channel; + +typedef void (*ares_callback)(void *arg, + int status, + int timeouts, + unsigned char *abuf, + int alen); + +typedef void (*ares_host_callback)(void *arg, + int status, + int timeouts, + struct hostent *hostent); + +typedef void (*ares_nameinfo_callback)(void *arg, + int status, + int timeouts, + char *node, + char *service); + +typedef int (*ares_sock_create_callback)(ares_socket_t socket_fd, + int type, + void *data); + +typedef int (*ares_sock_config_callback)(ares_socket_t socket_fd, + int type, + void *data); + +typedef void (*ares_addrinfo_callback)(void *arg, + int status, + int timeouts, + struct ares_addrinfo *res); + +CARES_EXTERN int ares_library_init(int flags); + +CARES_EXTERN int ares_library_init_mem(int flags, + void *(*amalloc)(size_t size), + void (*afree)(void *ptr), + void *(*arealloc)(void *ptr, size_t size)); + +#if defined(ANDROID) || defined(__ANDROID__) +CARES_EXTERN void ares_library_init_jvm(JavaVM *jvm); +CARES_EXTERN int ares_library_init_android(jobject connectivity_manager); +CARES_EXTERN int ares_library_android_initialized(void); +#endif + +CARES_EXTERN int ares_library_initialized(void); + +CARES_EXTERN void ares_library_cleanup(void); + +CARES_EXTERN const char *ares_version(int *version); + +CARES_EXTERN int ares_init(ares_channel *channelptr); + +CARES_EXTERN int ares_init_options(ares_channel *channelptr, + struct ares_options *options, + int optmask); + +CARES_EXTERN int ares_save_options(ares_channel channel, + struct ares_options *options, + int *optmask); + +CARES_EXTERN void ares_destroy_options(struct ares_options *options); + +CARES_EXTERN int ares_dup(ares_channel *dest, + ares_channel src); + +CARES_EXTERN void ares_destroy(ares_channel channel); + +CARES_EXTERN void ares_cancel(ares_channel channel); + +/* These next 3 configure local binding for the out-going socket + * connection. Use these to specify source IP and/or network device + * on multi-homed systems. + */ +CARES_EXTERN void ares_set_local_ip4(ares_channel channel, unsigned int local_ip); + +/* local_ip6 should be 16 bytes in length */ +CARES_EXTERN void ares_set_local_ip6(ares_channel channel, + const unsigned char* local_ip6); + +/* local_dev_name should be null terminated. */ +CARES_EXTERN void ares_set_local_dev(ares_channel channel, + const char* local_dev_name); + +CARES_EXTERN void ares_set_socket_callback(ares_channel channel, + ares_sock_create_callback callback, + void *user_data); + +CARES_EXTERN void ares_set_socket_configure_callback(ares_channel channel, + ares_sock_config_callback callback, + void *user_data); + +CARES_EXTERN int ares_set_sortlist(ares_channel channel, + const char *sortstr); + +CARES_EXTERN void ares_getaddrinfo(ares_channel channel, + const char* node, + const char* service, + const struct ares_addrinfo_hints* hints, + ares_addrinfo_callback callback, + void* arg); + +CARES_EXTERN void ares_freeaddrinfo(struct ares_addrinfo* ai); + +/* + * Virtual function set to have user-managed socket IO. + * Note that all functions need to be defined, and when + * set, the library will not do any bind nor set any + * socket options, assuming the client handles these + * through either socket creation or the + * ares_sock_config_callback call. + */ +struct iovec; +struct ares_socket_functions { + ares_socket_t(*asocket)(int, int, int, void *); + int(*aclose)(ares_socket_t, void *); + int(*aconnect)(ares_socket_t, const struct sockaddr *, ares_socklen_t, void *); + ares_ssize_t(*arecvfrom)(ares_socket_t, void *, size_t, int, struct sockaddr *, ares_socklen_t *, void *); + ares_ssize_t(*asendv)(ares_socket_t, const struct iovec *, int, void *); +}; + +CARES_EXTERN void ares_set_socket_functions(ares_channel channel, + const struct ares_socket_functions * funcs, + void *user_data); + +CARES_EXTERN void ares_send(ares_channel channel, + const unsigned char *qbuf, + int qlen, + ares_callback callback, + void *arg); + +CARES_EXTERN void ares_query(ares_channel channel, + const char *name, + int dnsclass, + int type, + ares_callback callback, + void *arg); + +CARES_EXTERN void ares_search(ares_channel channel, + const char *name, + int dnsclass, + int type, + ares_callback callback, + void *arg); + +CARES_EXTERN void ares_gethostbyname(ares_channel channel, + const char *name, + int family, + ares_host_callback callback, + void *arg); + +CARES_EXTERN int ares_gethostbyname_file(ares_channel channel, + const char *name, + int family, + struct hostent **host); + +CARES_EXTERN void ares_gethostbyaddr(ares_channel channel, + const void *addr, + int addrlen, + int family, + ares_host_callback callback, + void *arg); + +CARES_EXTERN void ares_getnameinfo(ares_channel channel, + const struct sockaddr *sa, + ares_socklen_t salen, + int flags, + ares_nameinfo_callback callback, + void *arg); + +CARES_EXTERN int ares_fds(ares_channel channel, + fd_set *read_fds, + fd_set *write_fds); + +CARES_EXTERN int ares_getsock(ares_channel channel, + ares_socket_t *socks, + int numsocks); + +CARES_EXTERN struct timeval *ares_timeout(ares_channel channel, + struct timeval *maxtv, + struct timeval *tv); + +CARES_EXTERN void ares_process(ares_channel channel, + fd_set *read_fds, + fd_set *write_fds); + +CARES_EXTERN void ares_process_fd(ares_channel channel, + ares_socket_t read_fd, + ares_socket_t write_fd); + +CARES_EXTERN int ares_create_query(const char *name, + int dnsclass, + int type, + unsigned short id, + int rd, + unsigned char **buf, + int *buflen, + int max_udp_size); + +CARES_EXTERN int ares_mkquery(const char *name, + int dnsclass, + int type, + unsigned short id, + int rd, + unsigned char **buf, + int *buflen); + +CARES_EXTERN int ares_expand_name(const unsigned char *encoded, + const unsigned char *abuf, + int alen, + char **s, + long *enclen); + +CARES_EXTERN int ares_expand_string(const unsigned char *encoded, + const unsigned char *abuf, + int alen, + unsigned char **s, + long *enclen); + +/* + * NOTE: before c-ares 1.7.0 we would most often use the system in6_addr + * struct below when ares itself was built, but many apps would use this + * private version since the header checked a HAVE_* define for it. Starting + * with 1.7.0 we always declare and use our own to stop relying on the + * system's one. + */ +struct ares_in6_addr { + union { + unsigned char _S6_u8[16]; + } _S6_un; +}; + +struct ares_addrttl { + struct in_addr ipaddr; + int ttl; +}; + +struct ares_addr6ttl { + struct ares_in6_addr ip6addr; + int ttl; +}; + +struct ares_caa_reply { + struct ares_caa_reply *next; + int critical; + unsigned char *property; + size_t plength; /* plength excludes null termination */ + unsigned char *value; + size_t length; /* length excludes null termination */ +}; + +struct ares_srv_reply { + struct ares_srv_reply *next; + char *host; + unsigned short priority; + unsigned short weight; + unsigned short port; +}; + +struct ares_mx_reply { + struct ares_mx_reply *next; + char *host; + unsigned short priority; +}; + +struct ares_txt_reply { + struct ares_txt_reply *next; + unsigned char *txt; + size_t length; /* length excludes null termination */ +}; + +/* NOTE: This structure is a superset of ares_txt_reply + */ +struct ares_txt_ext { + struct ares_txt_ext *next; + unsigned char *txt; + size_t length; + /* 1 - if start of new record + * 0 - if a chunk in the same record */ + unsigned char record_start; +}; + +struct ares_naptr_reply { + struct ares_naptr_reply *next; + unsigned char *flags; + unsigned char *service; + unsigned char *regexp; + char *replacement; + unsigned short order; + unsigned short preference; +}; + +struct ares_soa_reply { + char *nsname; + char *hostmaster; + unsigned int serial; + unsigned int refresh; + unsigned int retry; + unsigned int expire; + unsigned int minttl; +}; + +struct ares_uri_reply { + struct ares_uri_reply *next; + unsigned short priority; + unsigned short weight; + char *uri; + int ttl; +}; + +/* + * Similar to addrinfo, but with extra ttl and missing canonname. + */ +struct ares_addrinfo_node { + int ai_ttl; + int ai_flags; + int ai_family; + int ai_socktype; + int ai_protocol; + ares_socklen_t ai_addrlen; + struct sockaddr *ai_addr; + struct ares_addrinfo_node *ai_next; +}; + +/* + * alias - label of the resource record. + * name - value (canonical name) of the resource record. + * See RFC2181 10.1.1. CNAME terminology. + */ +struct ares_addrinfo_cname { + int ttl; + char *alias; + char *name; + struct ares_addrinfo_cname *next; +}; + +struct ares_addrinfo { + struct ares_addrinfo_cname *cnames; + struct ares_addrinfo_node *nodes; + char *name; +}; + +struct ares_addrinfo_hints { + int ai_flags; + int ai_family; + int ai_socktype; + int ai_protocol; +}; + +/* +** Parse the buffer, starting at *abuf and of length alen bytes, previously +** obtained from an ares_search call. Put the results in *host, if nonnull. +** Also, if addrttls is nonnull, put up to *naddrttls IPv4 addresses along with +** their TTLs in that array, and set *naddrttls to the number of addresses +** so written. +*/ + +CARES_EXTERN int ares_parse_a_reply(const unsigned char *abuf, + int alen, + struct hostent **host, + struct ares_addrttl *addrttls, + int *naddrttls); + +CARES_EXTERN int ares_parse_aaaa_reply(const unsigned char *abuf, + int alen, + struct hostent **host, + struct ares_addr6ttl *addrttls, + int *naddrttls); + +CARES_EXTERN int ares_parse_caa_reply(const unsigned char* abuf, + int alen, + struct ares_caa_reply** caa_out); + +CARES_EXTERN int ares_parse_ptr_reply(const unsigned char *abuf, + int alen, + const void *addr, + int addrlen, + int family, + struct hostent **host); + +CARES_EXTERN int ares_parse_ns_reply(const unsigned char *abuf, + int alen, + struct hostent **host); + +CARES_EXTERN int ares_parse_srv_reply(const unsigned char* abuf, + int alen, + struct ares_srv_reply** srv_out); + +CARES_EXTERN int ares_parse_mx_reply(const unsigned char* abuf, + int alen, + struct ares_mx_reply** mx_out); + +CARES_EXTERN int ares_parse_txt_reply(const unsigned char* abuf, + int alen, + struct ares_txt_reply** txt_out); + +CARES_EXTERN int ares_parse_txt_reply_ext(const unsigned char* abuf, + int alen, + struct ares_txt_ext** txt_out); + +CARES_EXTERN int ares_parse_naptr_reply(const unsigned char* abuf, + int alen, + struct ares_naptr_reply** naptr_out); + +CARES_EXTERN int ares_parse_soa_reply(const unsigned char* abuf, + int alen, + struct ares_soa_reply** soa_out); + +CARES_EXTERN int ares_parse_uri_reply(const unsigned char* abuf, + int alen, + struct ares_uri_reply** uri_out); + +CARES_EXTERN void ares_free_string(void *str); + +CARES_EXTERN void ares_free_hostent(struct hostent *host); + +CARES_EXTERN void ares_free_data(void *dataptr); + +CARES_EXTERN const char *ares_strerror(int code); + +struct ares_addr_node { + struct ares_addr_node *next; + int family; + union { + struct in_addr addr4; + struct ares_in6_addr addr6; + } addr; +}; + +struct ares_addr_port_node { + struct ares_addr_port_node *next; + int family; + union { + struct in_addr addr4; + struct ares_in6_addr addr6; + } addr; + int udp_port; + int tcp_port; +}; + +CARES_EXTERN int ares_set_servers(ares_channel channel, + struct ares_addr_node *servers); +CARES_EXTERN int ares_set_servers_ports(ares_channel channel, + struct ares_addr_port_node *servers); + +/* Incomming string format: host[:port][,host[:port]]... */ +CARES_EXTERN int ares_set_servers_csv(ares_channel channel, + const char* servers); +CARES_EXTERN int ares_set_servers_ports_csv(ares_channel channel, + const char* servers); + +CARES_EXTERN int ares_get_servers(ares_channel channel, + struct ares_addr_node **servers); +CARES_EXTERN int ares_get_servers_ports(ares_channel channel, + struct ares_addr_port_node **servers); + +CARES_EXTERN const char *ares_inet_ntop(int af, const void *src, char *dst, + ares_socklen_t size); + +CARES_EXTERN int ares_inet_pton(int af, const char *src, void *dst); + + +#ifdef __cplusplus +} +#endif + +#endif /* ARES__H */ diff --git a/src/odbc/rsodbc/iam/windows/cares/include/ares_build.h b/src/odbc/rsodbc/iam/windows/cares/include/ares_build.h new file mode 100644 index 00000000..e186cc73 --- /dev/null +++ b/src/odbc/rsodbc/iam/windows/cares/include/ares_build.h @@ -0,0 +1,43 @@ +#ifndef __CARES_BUILD_H +#define __CARES_BUILD_H + +#define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t +#define CARES_TYPEOF_ARES_SSIZE_T int + +/* Prefix names with CARES_ to make sure they don't conflict with other config.h + * files. We need to include some dependent headers that may be system specific + * for C-Ares */ +#define CARES_HAVE_SYS_TYPES_H +/* #undef CARES_HAVE_SYS_SOCKET_H */ +#define CARES_HAVE_WINDOWS_H +#define CARES_HAVE_WS2TCPIP_H +#define CARES_HAVE_WINSOCK2_H +#define CARES_HAVE_WINDOWS_H +/* #undef CARES_HAVE_ARPA_NAMESER_H */ +/* #undef CARES_HAVE_ARPA_NAMESER_COMPAT_H */ + +#ifdef CARES_HAVE_SYS_TYPES_H +# include +#endif + +#ifdef CARES_HAVE_SYS_SOCKET_H +# include +#endif + +#ifdef CARES_HAVE_WINSOCK2_H +# include +#endif + +#ifdef CARES_HAVE_WS2TCPIP_H +# include +#endif + +#ifdef CARES_HAVE_WINDOWS_H +# include +#endif + + +typedef CARES_TYPEOF_ARES_SOCKLEN_T ares_socklen_t; +typedef CARES_TYPEOF_ARES_SSIZE_T ares_ssize_t; + +#endif /* __CARES_BUILD_H */ diff --git a/src/odbc/rsodbc/iam/windows/cares/include/ares_dns.h b/src/odbc/rsodbc/iam/windows/cares/include/ares_dns.h new file mode 100644 index 00000000..bc8aa7b1 --- /dev/null +++ b/src/odbc/rsodbc/iam/windows/cares/include/ares_dns.h @@ -0,0 +1,112 @@ +#ifndef HEADER_CARES_DNS_H +#define HEADER_CARES_DNS_H + +/* Copyright 1998, 2011 by the Massachusetts Institute of Technology. + * + * Permission to use, copy, modify, and distribute this + * software and its documentation for any purpose and without + * fee is hereby granted, provided that the above copyright + * notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting + * documentation, and that the name of M.I.T. not be used in + * advertising or publicity pertaining to distribution of the + * software without specific, written prior permission. + * M.I.T. makes no representations about the suitability of + * this software for any purpose. It is provided "as is" + * without express or implied warranty. + */ + +/* + * NOTE TO INTEGRATORS: + * + * This header is made public due to legacy projects relying on it. + * Please do not use the macros within this header, or include this + * header in your project as it may be removed in the future. + */ + + +/* + * Macro DNS__16BIT reads a network short (16 bit) given in network + * byte order, and returns its value as an unsigned short. + */ +#define DNS__16BIT(p) ((unsigned short)((unsigned int) 0xffff & \ + (((unsigned int)((unsigned char)(p)[0]) << 8U) | \ + ((unsigned int)((unsigned char)(p)[1]))))) + +/* + * Macro DNS__32BIT reads a network long (32 bit) given in network + * byte order, and returns its value as an unsigned int. + */ +#define DNS__32BIT(p) ((unsigned int) \ + (((unsigned int)((unsigned char)(p)[0]) << 24U) | \ + ((unsigned int)((unsigned char)(p)[1]) << 16U) | \ + ((unsigned int)((unsigned char)(p)[2]) << 8U) | \ + ((unsigned int)((unsigned char)(p)[3])))) + +#define DNS__SET16BIT(p, v) (((p)[0] = (unsigned char)(((v) >> 8) & 0xff)), \ + ((p)[1] = (unsigned char)((v) & 0xff))) +#define DNS__SET32BIT(p, v) (((p)[0] = (unsigned char)(((v) >> 24) & 0xff)), \ + ((p)[1] = (unsigned char)(((v) >> 16) & 0xff)), \ + ((p)[2] = (unsigned char)(((v) >> 8) & 0xff)), \ + ((p)[3] = (unsigned char)((v) & 0xff))) + +#if 0 +/* we cannot use this approach on systems where we can't access 16/32 bit + data on un-aligned addresses */ +#define DNS__16BIT(p) ntohs(*(unsigned short*)(p)) +#define DNS__32BIT(p) ntohl(*(unsigned long*)(p)) +#define DNS__SET16BIT(p, v) *(unsigned short*)(p) = htons(v) +#define DNS__SET32BIT(p, v) *(unsigned long*)(p) = htonl(v) +#endif + +/* Macros for parsing a DNS header */ +#define DNS_HEADER_QID(h) DNS__16BIT(h) +#define DNS_HEADER_QR(h) (((h)[2] >> 7) & 0x1) +#define DNS_HEADER_OPCODE(h) (((h)[2] >> 3) & 0xf) +#define DNS_HEADER_AA(h) (((h)[2] >> 2) & 0x1) +#define DNS_HEADER_TC(h) (((h)[2] >> 1) & 0x1) +#define DNS_HEADER_RD(h) ((h)[2] & 0x1) +#define DNS_HEADER_RA(h) (((h)[3] >> 7) & 0x1) +#define DNS_HEADER_Z(h) (((h)[3] >> 4) & 0x7) +#define DNS_HEADER_RCODE(h) ((h)[3] & 0xf) +#define DNS_HEADER_QDCOUNT(h) DNS__16BIT((h) + 4) +#define DNS_HEADER_ANCOUNT(h) DNS__16BIT((h) + 6) +#define DNS_HEADER_NSCOUNT(h) DNS__16BIT((h) + 8) +#define DNS_HEADER_ARCOUNT(h) DNS__16BIT((h) + 10) + +/* Macros for constructing a DNS header */ +#define DNS_HEADER_SET_QID(h, v) DNS__SET16BIT(h, v) +#define DNS_HEADER_SET_QR(h, v) ((h)[2] |= (unsigned char)(((v) & 0x1) << 7)) +#define DNS_HEADER_SET_OPCODE(h, v) ((h)[2] |= (unsigned char)(((v) & 0xf) << 3)) +#define DNS_HEADER_SET_AA(h, v) ((h)[2] |= (unsigned char)(((v) & 0x1) << 2)) +#define DNS_HEADER_SET_TC(h, v) ((h)[2] |= (unsigned char)(((v) & 0x1) << 1)) +#define DNS_HEADER_SET_RD(h, v) ((h)[2] |= (unsigned char)((v) & 0x1)) +#define DNS_HEADER_SET_RA(h, v) ((h)[3] |= (unsigned char)(((v) & 0x1) << 7)) +#define DNS_HEADER_SET_Z(h, v) ((h)[3] |= (unsigned char)(((v) & 0x7) << 4)) +#define DNS_HEADER_SET_RCODE(h, v) ((h)[3] |= (unsigned char)((v) & 0xf)) +#define DNS_HEADER_SET_QDCOUNT(h, v) DNS__SET16BIT((h) + 4, v) +#define DNS_HEADER_SET_ANCOUNT(h, v) DNS__SET16BIT((h) + 6, v) +#define DNS_HEADER_SET_NSCOUNT(h, v) DNS__SET16BIT((h) + 8, v) +#define DNS_HEADER_SET_ARCOUNT(h, v) DNS__SET16BIT((h) + 10, v) + +/* Macros for parsing the fixed part of a DNS question */ +#define DNS_QUESTION_TYPE(q) DNS__16BIT(q) +#define DNS_QUESTION_CLASS(q) DNS__16BIT((q) + 2) + +/* Macros for constructing the fixed part of a DNS question */ +#define DNS_QUESTION_SET_TYPE(q, v) DNS__SET16BIT(q, v) +#define DNS_QUESTION_SET_CLASS(q, v) DNS__SET16BIT((q) + 2, v) + +/* Macros for parsing the fixed part of a DNS resource record */ +#define DNS_RR_TYPE(r) DNS__16BIT(r) +#define DNS_RR_CLASS(r) DNS__16BIT((r) + 2) +#define DNS_RR_TTL(r) DNS__32BIT((r) + 4) +#define DNS_RR_LEN(r) DNS__16BIT((r) + 8) + +/* Macros for constructing the fixed part of a DNS resource record */ +#define DNS_RR_SET_TYPE(r, v) DNS__SET16BIT(r, v) +#define DNS_RR_SET_CLASS(r, v) DNS__SET16BIT((r) + 2, v) +#define DNS_RR_SET_TTL(r, v) DNS__SET32BIT((r) + 4, v) +#define DNS_RR_SET_LEN(r, v) DNS__SET16BIT((r) + 8, v) + +#endif /* HEADER_CARES_DNS_H */ diff --git a/src/odbc/rsodbc/iam/windows/cares/include/ares_nameser.h b/src/odbc/rsodbc/iam/windows/cares/include/ares_nameser.h new file mode 100644 index 00000000..18a9e5ac --- /dev/null +++ b/src/odbc/rsodbc/iam/windows/cares/include/ares_nameser.h @@ -0,0 +1,484 @@ + +#ifndef ARES_NAMESER_H +#define ARES_NAMESER_H + +#include "ares_build.h" + +#ifdef CARES_HAVE_ARPA_NAMESER_H +# include +#endif +#ifdef CARES_HAVE_ARPA_NAMESER_COMPAT_H +# include +#endif + +/* ============================================================================ + * arpa/nameser.h may or may not provide ALL of the below defines, so check + * each one individually and set if not + * ============================================================================ + */ + +#ifndef NS_PACKETSZ +# define NS_PACKETSZ 512 /* maximum packet size */ +#endif + +#ifndef NS_MAXDNAME +# define NS_MAXDNAME 256 /* maximum domain name */ +#endif + +#ifndef NS_MAXCDNAME +# define NS_MAXCDNAME 255 /* maximum compressed domain name */ +#endif + +#ifndef NS_MAXLABEL +# define NS_MAXLABEL 63 +#endif + +#ifndef NS_HFIXEDSZ +# define NS_HFIXEDSZ 12 /* #/bytes of fixed data in header */ +#endif + +#ifndef NS_QFIXEDSZ +# define NS_QFIXEDSZ 4 /* #/bytes of fixed data in query */ +#endif + +#ifndef NS_RRFIXEDSZ +# define NS_RRFIXEDSZ 10 /* #/bytes of fixed data in r record */ +#endif + +#ifndef NS_INT16SZ +# define NS_INT16SZ 2 +#endif + +#ifndef NS_INADDRSZ +# define NS_INADDRSZ 4 +#endif + +#ifndef NS_IN6ADDRSZ +# define NS_IN6ADDRSZ 16 +#endif + +#ifndef NS_CMPRSFLGS +# define NS_CMPRSFLGS 0xc0 /* Flag bits indicating name compression. */ +#endif + +#ifndef NS_DEFAULTPORT +# define NS_DEFAULTPORT 53 /* For both TCP and UDP. */ +#endif + +/* ============================================================================ + * arpa/nameser.h should provide these enumerations always, so if not found, + * provide them + * ============================================================================ + */ +#ifndef CARES_HAVE_ARPA_NAMESER_H + +typedef enum __ns_class { + ns_c_invalid = 0, /* Cookie. */ + ns_c_in = 1, /* Internet. */ + ns_c_2 = 2, /* unallocated/unsupported. */ + ns_c_chaos = 3, /* MIT Chaos-net. */ + ns_c_hs = 4, /* MIT Hesiod. */ + /* Query class values which do not appear in resource records */ + ns_c_none = 254, /* for prereq. sections in update requests */ + ns_c_any = 255, /* Wildcard match. */ + ns_c_max = 65536 +} ns_class; + +typedef enum __ns_type { + ns_t_invalid = 0, /* Cookie. */ + ns_t_a = 1, /* Host address. */ + ns_t_ns = 2, /* Authoritative server. */ + ns_t_md = 3, /* Mail destination. */ + ns_t_mf = 4, /* Mail forwarder. */ + ns_t_cname = 5, /* Canonical name. */ + ns_t_soa = 6, /* Start of authority zone. */ + ns_t_mb = 7, /* Mailbox domain name. */ + ns_t_mg = 8, /* Mail group member. */ + ns_t_mr = 9, /* Mail rename name. */ + ns_t_null = 10, /* Null resource record. */ + ns_t_wks = 11, /* Well known service. */ + ns_t_ptr = 12, /* Domain name pointer. */ + ns_t_hinfo = 13, /* Host information. */ + ns_t_minfo = 14, /* Mailbox information. */ + ns_t_mx = 15, /* Mail routing information. */ + ns_t_txt = 16, /* Text strings. */ + ns_t_rp = 17, /* Responsible person. */ + ns_t_afsdb = 18, /* AFS cell database. */ + ns_t_x25 = 19, /* X_25 calling address. */ + ns_t_isdn = 20, /* ISDN calling address. */ + ns_t_rt = 21, /* Router. */ + ns_t_nsap = 22, /* NSAP address. */ + ns_t_nsap_ptr = 23, /* Reverse NSAP lookup (deprecated). */ + ns_t_sig = 24, /* Security signature. */ + ns_t_key = 25, /* Security key. */ + ns_t_px = 26, /* X.400 mail mapping. */ + ns_t_gpos = 27, /* Geographical position (withdrawn). */ + ns_t_aaaa = 28, /* Ip6 Address. */ + ns_t_loc = 29, /* Location Information. */ + ns_t_nxt = 30, /* Next domain (security). */ + ns_t_eid = 31, /* Endpoint identifier. */ + ns_t_nimloc = 32, /* Nimrod Locator. */ + ns_t_srv = 33, /* Server Selection. */ + ns_t_atma = 34, /* ATM Address */ + ns_t_naptr = 35, /* Naming Authority PoinTeR */ + ns_t_kx = 36, /* Key Exchange */ + ns_t_cert = 37, /* Certification record */ + ns_t_a6 = 38, /* IPv6 address (deprecates AAAA) */ + ns_t_dname = 39, /* Non-terminal DNAME (for IPv6) */ + ns_t_sink = 40, /* Kitchen sink (experimentatl) */ + ns_t_opt = 41, /* EDNS0 option (meta-RR) */ + ns_t_apl = 42, /* Address prefix list (RFC3123) */ + ns_t_ds = 43, /* Delegation Signer (RFC4034) */ + ns_t_sshfp = 44, /* SSH Key Fingerprint (RFC4255) */ + ns_t_rrsig = 46, /* Resource Record Signature (RFC4034) */ + ns_t_nsec = 47, /* Next Secure (RFC4034) */ + ns_t_dnskey = 48, /* DNS Public Key (RFC4034) */ + ns_t_tkey = 249, /* Transaction key */ + ns_t_tsig = 250, /* Transaction signature. */ + ns_t_ixfr = 251, /* Incremental zone transfer. */ + ns_t_axfr = 252, /* Transfer zone of authority. */ + ns_t_mailb = 253, /* Transfer mailbox records. */ + ns_t_maila = 254, /* Transfer mail agent records. */ + ns_t_any = 255, /* Wildcard match. */ + ns_t_uri = 256, /* Uniform Resource Identifier (RFC7553) */ + ns_t_caa = 257, /* Certification Authority Authorization. */ + ns_t_max = 65536 +} ns_type; + +typedef enum __ns_opcode { + ns_o_query = 0, /* Standard query. */ + ns_o_iquery = 1, /* Inverse query (deprecated/unsupported). */ + ns_o_status = 2, /* Name server status query (unsupported). */ + /* Opcode 3 is undefined/reserved. */ + ns_o_notify = 4, /* Zone change notification. */ + ns_o_update = 5, /* Zone update message. */ + ns_o_max = 6 +} ns_opcode; + +typedef enum __ns_rcode { + ns_r_noerror = 0, /* No error occurred. */ + ns_r_formerr = 1, /* Format error. */ + ns_r_servfail = 2, /* Server failure. */ + ns_r_nxdomain = 3, /* Name error. */ + ns_r_notimpl = 4, /* Unimplemented. */ + ns_r_refused = 5, /* Operation refused. */ + /* these are for BIND_UPDATE */ + ns_r_yxdomain = 6, /* Name exists */ + ns_r_yxrrset = 7, /* RRset exists */ + ns_r_nxrrset = 8, /* RRset does not exist */ + ns_r_notauth = 9, /* Not authoritative for zone */ + ns_r_notzone = 10, /* Zone of record different from zone section */ + ns_r_max = 11, + /* The following are TSIG extended errors */ + ns_r_badsig = 16, + ns_r_badkey = 17, + ns_r_badtime = 18 +} ns_rcode; + +#endif /* CARES_HAVE_ARPA_NAMESER_H */ + + +/* ============================================================================ + * arpa/nameser_compat.h typically sets these. However on some systems + * arpa/nameser.h does, but may not set all of them. Lets conditionally + * define each + * ============================================================================ + */ + +#ifndef PACKETSZ +# define PACKETSZ NS_PACKETSZ +#endif + +#ifndef MAXDNAME +# define MAXDNAME NS_MAXDNAME +#endif + +#ifndef MAXCDNAME +# define MAXCDNAME NS_MAXCDNAME +#endif + +#ifndef MAXLABEL +# define MAXLABEL NS_MAXLABEL +#endif + +#ifndef HFIXEDSZ +# define HFIXEDSZ NS_HFIXEDSZ +#endif + +#ifndef QFIXEDSZ +# define QFIXEDSZ NS_QFIXEDSZ +#endif + +#ifndef RRFIXEDSZ +# define RRFIXEDSZ NS_RRFIXEDSZ +#endif + +#ifndef INDIR_MASK +# define INDIR_MASK NS_CMPRSFLGS +#endif + +#ifndef NAMESERVER_PORT +# define NAMESERVER_PORT NS_DEFAULTPORT +#endif + + +/* opcodes */ +#ifndef O_QUERY +# define O_QUERY 0 /* ns_o_query */ +#endif +#ifndef O_IQUERY +# define O_IQUERY 1 /* ns_o_iquery */ +#endif +#ifndef O_STATUS +# define O_STATUS 2 /* ns_o_status */ +#endif +#ifndef O_NOTIFY +# define O_NOTIFY 4 /* ns_o_notify */ +#endif +#ifndef O_UPDATE +# define O_UPDATE 5 /* ns_o_update */ +#endif + + +/* response codes */ +#ifndef SERVFAIL +# define SERVFAIL ns_r_servfail +#endif +#ifndef NOTIMP +# define NOTIMP ns_r_notimpl +#endif +#ifndef REFUSED +# define REFUSED ns_r_refused +#endif +#if defined(_WIN32) && !defined(HAVE_ARPA_NAMESER_COMPAT_H) && defined(NOERROR) +# undef NOERROR /* it seems this is already defined in winerror.h */ +#endif +#ifndef NOERROR +# define NOERROR ns_r_noerror +#endif +#ifndef FORMERR +# define FORMERR ns_r_formerr +#endif +#ifndef NXDOMAIN +# define NXDOMAIN ns_r_nxdomain +#endif +/* Non-standard response codes, use numeric values */ +#ifndef YXDOMAIN +# define YXDOMAIN 6 /* ns_r_yxdomain */ +#endif +#ifndef YXRRSET +# define YXRRSET 7 /* ns_r_yxrrset */ +#endif +#ifndef NXRRSET +# define NXRRSET 8 /* ns_r_nxrrset */ +#endif +#ifndef NOTAUTH +# define NOTAUTH 9 /* ns_r_notauth */ +#endif +#ifndef NOTZONE +# define NOTZONE 10 /* ns_r_notzone */ +#endif +#ifndef TSIG_BADSIG +# define TSIG_BADSIG 16 /* ns_r_badsig */ +#endif +#ifndef TSIG_BADKEY +# define TSIG_BADKEY 17 /* ns_r_badkey */ +#endif +#ifndef TSIG_BADTIME +# define TSIG_BADTIME 18 /* ns_r_badtime */ +#endif + + +/* classes */ +#ifndef C_IN +# define C_IN 1 /* ns_c_in */ +#endif +#ifndef C_CHAOS +# define C_CHAOS 3 /* ns_c_chaos */ +#endif +#ifndef C_HS +# define C_HS 4 /* ns_c_hs */ +#endif +#ifndef C_NONE +# define C_NONE 254 /* ns_c_none */ +#endif +#ifndef C_ANY +# define C_ANY 255 /* ns_c_any */ +#endif + + +/* types */ +#ifndef T_A +# define T_A 1 /* ns_t_a */ +#endif +#ifndef T_NS +# define T_NS 2 /* ns_t_ns */ +#endif +#ifndef T_MD +# define T_MD 3 /* ns_t_md */ +#endif +#ifndef T_MF +# define T_MF 4 /* ns_t_mf */ +#endif +#ifndef T_CNAME +# define T_CNAME 5 /* ns_t_cname */ +#endif +#ifndef T_SOA +# define T_SOA 6 /* ns_t_soa */ +#endif +#ifndef T_MB +# define T_MB 7 /* ns_t_mb */ +#endif +#ifndef T_MG +# define T_MG 8 /* ns_t_mg */ +#endif +#ifndef T_MR +# define T_MR 9 /* ns_t_mr */ +#endif +#ifndef T_NULL +# define T_NULL 10 /* ns_t_null */ +#endif +#ifndef T_WKS +# define T_WKS 11 /* ns_t_wks */ +#endif +#ifndef T_PTR +# define T_PTR 12 /* ns_t_ptr */ +#endif +#ifndef T_HINFO +# define T_HINFO 13 /* ns_t_hinfo */ +#endif +#ifndef T_MINFO +# define T_MINFO 14 /* ns_t_minfo */ +#endif +#ifndef T_MX +# define T_MX 15 /* ns_t_mx */ +#endif +#ifndef T_TXT +# define T_TXT 16 /* ns_t_txt */ +#endif +#ifndef T_RP +# define T_RP 17 /* ns_t_rp */ +#endif +#ifndef T_AFSDB +# define T_AFSDB 18 /* ns_t_afsdb */ +#endif +#ifndef T_X25 +# define T_X25 19 /* ns_t_x25 */ +#endif +#ifndef T_ISDN +# define T_ISDN 20 /* ns_t_isdn */ +#endif +#ifndef T_RT +# define T_RT 21 /* ns_t_rt */ +#endif +#ifndef T_NSAP +# define T_NSAP 22 /* ns_t_nsap */ +#endif +#ifndef T_NSAP_PTR +# define T_NSAP_PTR 23 /* ns_t_nsap_ptr */ +#endif +#ifndef T_SIG +# define T_SIG 24 /* ns_t_sig */ +#endif +#ifndef T_KEY +# define T_KEY 25 /* ns_t_key */ +#endif +#ifndef T_PX +# define T_PX 26 /* ns_t_px */ +#endif +#ifndef T_GPOS +# define T_GPOS 27 /* ns_t_gpos */ +#endif +#ifndef T_AAAA +# define T_AAAA 28 /* ns_t_aaaa */ +#endif +#ifndef T_LOC +# define T_LOC 29 /* ns_t_loc */ +#endif +#ifndef T_NXT +# define T_NXT 30 /* ns_t_nxt */ +#endif +#ifndef T_EID +# define T_EID 31 /* ns_t_eid */ +#endif +#ifndef T_NIMLOC +# define T_NIMLOC 32 /* ns_t_nimloc */ +#endif +#ifndef T_SRV +# define T_SRV 33 /* ns_t_srv */ +#endif +#ifndef T_ATMA +# define T_ATMA 34 /* ns_t_atma */ +#endif +#ifndef T_NAPTR +# define T_NAPTR 35 /* ns_t_naptr */ +#endif +#ifndef T_KX +# define T_KX 36 /* ns_t_kx */ +#endif +#ifndef T_CERT +# define T_CERT 37 /* ns_t_cert */ +#endif +#ifndef T_A6 +# define T_A6 38 /* ns_t_a6 */ +#endif +#ifndef T_DNAME +# define T_DNAME 39 /* ns_t_dname */ +#endif +#ifndef T_SINK +# define T_SINK 40 /* ns_t_sink */ +#endif +#ifndef T_OPT +# define T_OPT 41 /* ns_t_opt */ +#endif +#ifndef T_APL +# define T_APL 42 /* ns_t_apl */ +#endif +#ifndef T_DS +# define T_DS 43 /* ns_t_ds */ +#endif +#ifndef T_SSHFP +# define T_SSHFP 44 /* ns_t_sshfp */ +#endif +#ifndef T_RRSIG +# define T_RRSIG 46 /* ns_t_rrsig */ +#endif +#ifndef T_NSEC +# define T_NSEC 47 /* ns_t_nsec */ +#endif +#ifndef T_DNSKEY +# define T_DNSKEY 48 /* ns_t_dnskey */ +#endif +#ifndef T_TKEY +# define T_TKEY 249 /* ns_t_tkey */ +#endif +#ifndef T_TSIG +# define T_TSIG 250 /* ns_t_tsig */ +#endif +#ifndef T_IXFR +# define T_IXFR 251 /* ns_t_ixfr */ +#endif +#ifndef T_AXFR +# define T_AXFR 252 /* ns_t_axfr */ +#endif +#ifndef T_MAILB +# define T_MAILB 253 /* ns_t_mailb */ +#endif +#ifndef T_MAILA +# define T_MAILA 254 /* ns_t_maila */ +#endif +#ifndef T_ANY +# define T_ANY 255 /* ns_t_any */ +#endif +#ifndef T_URI +# define T_URI 256 /* ns_t_uri */ +#endif +#ifndef T_CAA +# define T_CAA 257 /* ns_t_caa */ +#endif +#ifndef T_MAX +# define T_MAX 65536 /* ns_t_max */ +#endif + + +#endif /* ARES_NAMESER_H */ diff --git a/src/odbc/rsodbc/iam/windows/cares/include/ares_rules.h b/src/odbc/rsodbc/iam/windows/cares/include/ares_rules.h new file mode 100644 index 00000000..1706ab7d --- /dev/null +++ b/src/odbc/rsodbc/iam/windows/cares/include/ares_rules.h @@ -0,0 +1,125 @@ +#ifndef __CARES_RULES_H +#define __CARES_RULES_H + + +/* Copyright (C) 2009 - 2021 by Daniel Stenberg et al + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, provided + * that the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of M.I.T. not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. M.I.T. makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + */ + +/* ================================================================ */ +/* COMPILE TIME SANITY CHECKS */ +/* ================================================================ */ + +/* + * NOTE 1: + * ------- + * + * All checks done in this file are intentionally placed in a public + * header file which is pulled by ares.h when an application is + * being built using an already built c-ares library. Additionally + * this file is also included and used when building the library. + * + * If compilation fails on this file it is certainly sure that the + * problem is elsewhere. It could be a problem in the ares_build.h + * header file, or simply that you are using different compilation + * settings than those used to build the library. + * + * Nothing in this file is intended to be modified or adjusted by the + * c-ares library user nor by the c-ares library builder. + * + * Do not deactivate any check, these are done to make sure that the + * library is properly built and used. + * + * You can find further help on the c-ares development mailing list: + * http://lists.haxx.se/listinfo/c-ares/ + * + * NOTE 2 + * ------ + * + * Some of the following compile time checks are based on the fact + * that the dimension of a constant array can not be a negative one. + * In this way if the compile time verification fails, the compilation + * will fail issuing an error. The error description wording is compiler + * dependent but it will be quite similar to one of the following: + * + * "negative subscript or subscript is too large" + * "array must have at least one element" + * "-1 is an illegal array size" + * "size of array is negative" + * + * If you are building an application which tries to use an already + * built c-ares library and you are getting this kind of errors on + * this file, it is a clear indication that there is a mismatch between + * how the library was built and how you are trying to use it for your + * application. Your already compiled or binary library provider is the + * only one who can give you the details you need to properly use it. + */ + +/* + * Verify that some macros are actually defined. + */ + +#ifndef CARES_TYPEOF_ARES_SOCKLEN_T +# error "CARES_TYPEOF_ARES_SOCKLEN_T definition is missing!" + Error Compilation_aborted_CARES_TYPEOF_ARES_SOCKLEN_T_is_missing +#endif + +/* + * Macros private to this header file. + */ + +#define CareschkszEQ(t, s) sizeof(t) == s ? 1 : -1 + +#define CareschkszGE(t1, t2) sizeof(t1) >= sizeof(t2) ? 1 : -1 + +/* + * Verify that the size previously defined and expected for + * ares_socklen_t is actually the same as the one reported + * by sizeof() at compile time. + */ + +typedef char + __cares_rule_02__ + [CareschkszEQ(ares_socklen_t, sizeof(CARES_TYPEOF_ARES_SOCKLEN_T))]; + +/* + * Verify at compile time that the size of ares_socklen_t as reported + * by sizeof() is greater or equal than the one reported for int for + * the current compilation. + */ + +typedef char + __cares_rule_03__ + [CareschkszGE(ares_socklen_t, int)]; + +/* ================================================================ */ +/* EXTERNALLY AND INTERNALLY VISIBLE DEFINITIONS */ +/* ================================================================ */ + +/* + * Get rid of macros private to this header file. + */ + +#undef CareschkszEQ +#undef CareschkszGE + +/* + * Get rid of macros not intended to exist beyond this point. + */ + +#undef CARES_PULL_WS2TCPIP_H +#undef CARES_PULL_SYS_TYPES_H +#undef CARES_PULL_SYS_SOCKET_H + +#undef CARES_TYPEOF_ARES_SOCKLEN_T + +#endif /* __CARES_RULES_H */ diff --git a/src/odbc/rsodbc/iam/windows/cares/include/ares_version.h b/src/odbc/rsodbc/iam/windows/cares/include/ares_version.h new file mode 100644 index 00000000..35a1ed1a --- /dev/null +++ b/src/odbc/rsodbc/iam/windows/cares/include/ares_version.h @@ -0,0 +1,24 @@ + +#ifndef ARES__VERSION_H +#define ARES__VERSION_H + +/* This is the global package copyright */ +#define ARES_COPYRIGHT "2004 - 2021 Daniel Stenberg, ." + +#define ARES_VERSION_MAJOR 1 +#define ARES_VERSION_MINOR 19 +#define ARES_VERSION_PATCH 1 +#define ARES_VERSION ((ARES_VERSION_MAJOR<<16)|\ + (ARES_VERSION_MINOR<<8)|\ + (ARES_VERSION_PATCH)) +#define ARES_VERSION_STR "1.19.1" + +#if (ARES_VERSION >= 0x010700) +# define CARES_HAVE_ARES_LIBRARY_INIT 1 +# define CARES_HAVE_ARES_LIBRARY_CLEANUP 1 +#else +# undef CARES_HAVE_ARES_LIBRARY_INIT +# undef CARES_HAVE_ARES_LIBRARY_CLEANUP +#endif + +#endif diff --git a/src/odbc/rsodbc/iam/windows/cares/lib/Debug/cares.exp b/src/odbc/rsodbc/iam/windows/cares/lib/Debug/cares.exp new file mode 100644 index 0000000000000000000000000000000000000000..e6461dda8ba8663af8de8f9ada04ab8aa3123482 GIT binary patch literal 8442 zcmeI1U2GiH6~~XW2{B0^cH(?H#7Rs(NV489uh+p8hZqPYm_S0B!nT|7?${Z!-dSdL z9VetEt!SH8d5F}gLQx)~7O7N9RaBvhN|f>dQXY^>tElCHR;Z;Ctxy#zDj`JG{?EBH zyEFHizEtWo*Zqus*a< zv9Dq^ioayVo@h?>A5@fRAM&G1!Y#EPrLKEe@jk*#2gF^$f5>jE|DR@{gXU3!=FXgT%J3R+34Xf>^&wX}|UX+7OW8>o*q(k9wW{d7BR zp{=xyw$mN7gLcv`O40zOC`}p4QjP{GPeW9oVcJc1(g>9;&-Rm*YL!@&%2usxhuX8P zhFyB9X?rJCwqpAY&y8=C+vF@OP_+LS_*m7v$8XWJ$D zgvmk3<}ufA*tJH`k{iUj0$7y_#+r0hlPSAV@@;R%_JTnppj3CgMjIO)d0!JJ8Mnq# zsD1btt&K{PPBl0!aBdVk4&N;wR|7dU996C129qM2^@dvuvrce+PR(h=C$j2Hc$Rmv zRIb`qEu7R4a&t9Al$56JX_Gou)j4HXRATyg}F9Z z#QR0{gDn!3L)<578`xq|1;htL?F8eaNZ^@A^m$P!uvQHI)M1Fs4=i*q7ET4PtZOvmwWc57r~9i1?_e17Ise z9YthQk)T6hD@BR_5OoA>m8fHgkBKURtrk^9JS^%c*cwrF#4m`dfUOnPK;+{|&@r%e zqGl1lD5?s^*DgV)5g!*-2U{=d4B``_8eq4HdKQt-B|)=b8$_K&{F12CV11&_A%0oZ z8L*9_&LfsYJqxx;)CI(&qRxVC7WEvWCF&d)-$x0$gg7DUJlO4`E+dvjT>#r6>Ul(- z!vsACwpG*%h_NUjUqFw?^ih3Q9uU&#(1{)A{6>(bBD_|*6Zz9%2y#|&R^%kNl>UFS; zsB4IIQCGpTqTWV)O4OTRIZ^K*dZOL}8x-{}qA%(iSYFh7hz(J1gAIv#AF(Ow9k7C^ z4-jWWy$d!h>N?^HQSX867WEP0tf=?F?iBSg;z>~-fQ^Xy6!Da(>tO7f6GTu?i~0!a zbE4)$ofh>m)ZL;wp}r#OQ>al^WUzt|q{u;VwaYTv;|v*NhLOe&Kp?scc9o3I%ti--3X54mm? z?GHkxbIEKznavDlGsOv~R@?{cbR?fE&f>r7)Q%^4S9szTx-m7Xz6G9gH5eu-U{Pt1m`LlW_gsSnE<`L57)c(aGfc4;T>-%L zrENmRlk$OciD_eYg6vIsuUu%_nP6z{vLu>lSx)Z4HAlKcEGizPg>Ei9dLrdKe zm~IWoC)gE9D3>Z;mQ#HDg?-uv7LVvcHzOG z?Rgn|Y2j^+s_8Cd>;@q3-XQX%A zlk=Q&Ayvu1o38}qN*aai(YwKShFp1dz8ScfO4FEU=Z6uORFzTQo$o;|sR4tB=gXUF zlhC-cm*-U4OtGiu6qnavoUoTu&&$Jst86P3dVHP+F130>oI780uDM21dH#(^bNQV+ zEhF${;A-4%qP+ubM*}X+Mg#L*pbt&CV(U%Y?*u&UT)!hNf_H-+WVni}O!$t#mznFh z(C}S>As2Fi;XA`<*`2N@oeD}{2Y*wRpwUTuA(2d_y71IiB>KG^*P8@Izk%awlOX@p zIDZL2-@&G8<4x7skchtviE7o0&5)dU*sH+fw|e!Dr?8~yf<`iQStD8csYY`2ON|WD zHI3xy_Zk_ZziFgE9VnFQ2-Wcn)1o*@r)Z5v(zHV(85+?@mc})bqmo7jX+|S?`j$q9 z=%Pjn^ka<-(;IP;NzrdLlBPdtBtw7KNR~R_5F)dY$NiIc? zXe3QfY9vF?Xe3MLG?JrB8X2S?Y9voT*T@jPp^*apN+ZMc$2b{G(LXejrcQXh$hi+@ zXpKg)l+;L$?$yX39o0ylPHJR`E@`AdKhwxCU5%4G?q`kQer^$d_TX~17JSIDu!##7 zMK*<-SS!LMD_rKO$7KcXH&|4gv2YV>MIMV0dC0Qe4HnhrSh$I`BK&?9E{c3R+{9Xu ziw3!3kY5<&nnC_-5PtIu7qzd&e8Gc7kVUUXk`H4ZU8icD^xG4EogM4C;1$f4X zi%PCC$Yz7=GRUYw4jN?AASVoR&LBT9$g2kVok2b^NKfPupw4uQL2?G!6C>l;lF##h z`@2o_m01Q1fc~4yjbCYEKX>VGq%w6OyzwiIdP{D-~USU EZ^HArLjV8( literal 0 HcmV?d00001 diff --git a/src/odbc/rsodbc/iam/windows/cares/lib/Debug/cares.lib b/src/odbc/rsodbc/iam/windows/cares/lib/Debug/cares.lib new file mode 100644 index 00000000..bdec6584 --- /dev/null +++ b/src/odbc/rsodbc/iam/windows/cares/lib/Debug/cares.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cde9d64b6663cd20aa6a368c522437ae98ee0d92b2b6ffcdd47034f32938b98 +size 14334 diff --git a/src/odbc/rsodbc/iam/windows/cares/lib/Debug/cares_static.lib b/src/odbc/rsodbc/iam/windows/cares/lib/Debug/cares_static.lib new file mode 100644 index 00000000..7829d0d8 --- /dev/null +++ b/src/odbc/rsodbc/iam/windows/cares/lib/Debug/cares_static.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f68fb80254c8f0a93d9bca4728c51b1330b49756d6819119f9fcb00d1f80abd5 +size 2458590 diff --git a/src/odbc/rsodbc/iam/windows/cares/lib/Release/cares.exp b/src/odbc/rsodbc/iam/windows/cares/lib/Release/cares.exp new file mode 100644 index 0000000000000000000000000000000000000000..9ee8082024a402be6cad8b78047a436880f54f99 GIT binary patch literal 8444 zcmeI1Z;TY>9mjvLASWQ)!SVl)15W-3?CrnX+rv{2LB)zE0#d5mE_1tc$H?B!IpqptSEuzJA3oW6g)Ja{mjFwY3t)P{(idNGaT1)Gwht|`rw1IkQBWV8lv5F2Mtr%@@zj@saA%=gmfRrL6~L-gFxI%MnoQV@l5cxcwigT<0j0X@HQLzd$om?bVcZ%^ zq4wcpv^FY@JJsN{z`0TEIDEH!QVrzPa8$L18%&C9)*Egu%sRpOIW?ydpUA2+=2_lM zsa&=scYh!2X&fh`fW5AlGg0@zYf zJpMzXhQT^Tahp+5BVb*k4kA7*Y9H7#QAZG&Culzy%mvgj#79IO0P7Z2L_8$wAlM2~ z#}V07BSoJL>&WLCF%s?qoRsnt3_22kBT}DwnkJP@r$A=U~5G+5czl#bOLOh zsAF}wM)<$#K%O{!Pbj9i}<*x2H35loH^|%QO|;H7WF)$CF&d)-$x0$gg7SZJlJibE+dvjT>#r6>IFoe z!vsAKwpG-Nh_UG4EqFx3|ih2W)uU&#(0qYla6>(D3t6(WnZz0x1y$+TZ^){j_>J6}r zsB4IIQCGpTqTWG#Qq)^uIZ^K-dZOM28xZv#qA%(iSYFiohz(KifDMZJ0I@0RU9f_v z4-uzCy$3cV>N?^nQSXE87WFaWw5Sij?hy3};*6*d!G=YBhIm@kbuf0#2_mScM12f( zm#BGAXGDDhb+@PvsIQ9p3~EHwVkq|S7-cTe9#NfOPm7udc8{oTu(P5%!1jt-4fb_W zi^2AZnuqui{_nygElYE{AZhRJ{_-yNHoMZv^iVS0Kh|`rm3~z3{zEn@yl?j_BL>@q zTW7e7Eg)Y+wJgD{y%NXskW=(>6Cb=(!V~HQ9R~42)lFk9XAZn^v{=aHCmq++rq`$rSgxlaoytjhW)ny~QK0 zTSfcBkm+19n@?sl1KCV*%&8Uk!#o|!=Ze$#uR67pN!}Hnd4(=aj;e5ht6U9+X$n}> zT`ork^RF_Y%UlP@lPR7sfUQEj6v_FmBn;9j04^ueI_f^xAc0E}O9WPu2k8h?>_%4r zaD{2xP;sSv;9O+dn7tsoQ{F3=nsz1_n!7BHCR(PGyKvQ!E)kQ8M`@vpOOKui+$;Cv zDio$$1M&%WMiR=WiksyW-+*DCwuQw*y3oai$xJDC%e&(u73Nzmm#Cyq;% zv~Igz#$2u1Sln+XFc+)DZCjEuPC z4aoM)mJQu9pCp$y=^nafo=vW80^{zPceg=HwOuryLvK9WcGGK-+!#-`Ts7Yko8q~s zyXLN&wRGsRd7pjpT-$APk}G56OxmuSlUyRB$(H-(B-hGFvhBioTDN^pQrtNA<_a3= z-FD?X=UhrvGH~ZB0lAh&A-nW0@SP!7Zk=xiE~nBo=GysT#6?wQlzZoUkc(=-;Nto6 zrrIR5?(F6{l{QoC>N&*)HW(-D<<#@?aNs)IN`)?;r-6&Do)GWO*PN@akyNgKBhp-e zXHUxrd>ObNx0`5h0o&1li?h+dd>iORQ?A*1)Am~dPdiueNQ>a@pc@&k<0=!rCGchD zN-i{fTVTkgTwwUtFj96W>q)1A(l>{{D@)MGIKGldrc#}FYAX``W{&Gkf}-ESakWX1 ze|nU^hM?!LsoHoGb+#np@IsRFtC2K)S0fqvkw&ugnnrT;8;uOmUo?`Ze`;iqmcal;&OKY8tr{7k;W){q z=n;*i=?RTw=xL2)>6}J#bV(xv^h1s0>E{|5q&GEEpkHZZi2fKS11b84M$*&)uNOJ@ zfefwDNS2Zs$V<32=3<=;b#vnXKTTS91EMc za8YDaxQVqQT(ZJtu6kTn;C_Qewb>VLVy(!dF(MCHw!6Wi+MEbCu~vlN(85KL?}VFJ zD{|2wR}AtCgIqJnpAEwAe&M3_wTLfxuqd+GAUT8VF~~uKlnmk+isIAMAuth - && pConnectProps->szUser[0] == '\0') { - rc = SQL_ERROR; - addError(&pConn->pErrorList,"HY000", "User name is NULL or empty", 0, NULL); - goto error; + if(!pConnectProps->isIAMAuth && !pConnectProps->isNativeAuth && pConnectProps->szUser[0] == '\0') { + rc = SQL_ERROR; + addError(&pConn->pErrorList, "HY000", + "User name is NULL or empty", 0, NULL); + goto error; } rc = doConnection(pConn); @@ -2310,11 +2310,31 @@ int RS_CONN_INFO::parseConnectString(char *szConnStrIn, size_t cbConnStrIn, int sizeof(pIamProps->szAuthProfile)); } else if (_stricmp(pname, RS_IAM_STS_CONNECTION_TIMEOUT) == 0) { sscanf(pval, "%d", &(pIamProps->iStsConnectionTimeout)); + } else if (_stricmp(pname, RS_BASIC_AUTH_TOKEN) == 0) { + rs_strncpy(pIamProps->szBasicAuthToken, pval, + sizeof(pIamProps->szBasicAuthToken)); + } else if (_stricmp(pname, RS_TOKEN_TYPE) == 0) { + rs_strncpy(pIamProps->szTokenType, pval, + sizeof(pIamProps->szTokenType)); + } else if (_stricmp(pname, RS_START_URL) == 0) { + rs_strncpy(pIamProps->szStartUrl, pval, + sizeof(pIamProps->szStartUrl)); + } else if (_stricmp(pname, RS_IDC_REGION) == 0) { + rs_strncpy(pIamProps->szIdcRegion, pval, + sizeof(pIamProps->szIdcRegion)); + } else if (_stricmp(pname, RS_IDC_RESPONSE_TIMEOUT) == 0) { + sscanf(pval, "%ld", &(pIamProps->lIdcResponseTimeout)); + } else if (_stricmp(pname, RS_IDC_CLIENT_DISPLAY_NAME) == 0) { + rs_strncpy(pIamProps->szIdcClientDisplayName, pval, + sizeof(pIamProps->szIdcClientDisplayName)); + } else if (_stricmp(pname, RS_IDENTITY_NAMESPACE) == 0) { + rs_strncpy(pIamProps->szIdentityNamespace, pval, + sizeof(pIamProps->szIdentityNamespace)); } else if (_stricmp(pname, RS_STRING_TYPE) == 0) { if (pval) strncpy(pConnectProps->szStringType, pval, sizeof(pConnectProps->szStringType)); - } + } #ifdef WIN32 else if (_stricmp(pname, RS_KERBEROS_API) == 0 || _stricmp(pname, "KSA") == 0) { @@ -2945,8 +2965,15 @@ void RS_CONN_INFO::readMoreConnectPropsFromRegistry(int readUser) // Min TLS RS_SQLGetPrivateProfileString(pConnectProps->szDSN, RS_MIN_TLS, "", pConnectProps->szMinTLS, MAX_NUMBER_BUF_LEN, ODBC_INI); + char pluginName[MAX_IDEN_LEN]; + RS_SQLGetPrivateProfileString(pConnectProps->szDSN, RS_PLUGIN_NAME, "", pluginName, MAX_IDEN_LEN, ODBC_INI); + + if(_stricmp(pluginName, PLUGIN_IDP_TOKEN_AUTH) == 0 || _stricmp(pluginName, PLUGIN_BROWSER_IDC_AUTH) == 0) { + pConnectProps->isNativeAuth = true; + } + // Read IAM props - if(pConnectProps->isIAMAuth) + if(pConnectProps->isIAMAuth || pConnectProps->isNativeAuth) readIamConnectPropsFromRegistry(); // Read HTTPS Proxy settings @@ -3042,6 +3069,13 @@ void RS_CONN_INFO::readIamConnectPropsFromRegistry() RS_SQLGetPrivateProfileString(pConnectProps->szDSN, RS_PARTNER_SPID, "", pIamProps->szPartnerSpid, MAX_IAM_BUF_VAL, ODBC_INI); RS_SQLGetPrivateProfileString(pConnectProps->szDSN, RS_APP_ID, "", pIamProps->szAppId, MAX_IAM_BUF_VAL, ODBC_INI); RS_SQLGetPrivateProfileString(pConnectProps->szDSN, RS_APP_NAME, "", pIamProps->szAppName, MAX_IAM_BUF_VAL, ODBC_INI); + RS_SQLGetPrivateProfileString(pConnectProps->szDSN, RS_BASIC_AUTH_TOKEN, "", pIamProps->szBasicAuthToken, MAX_BASIC_AUTH_TOKEN_LEN, ODBC_INI); + RS_SQLGetPrivateProfileString(pConnectProps->szDSN, RS_START_URL, "", pIamProps->szStartUrl, MAX_IAM_BUF_VAL, ODBC_INI); + RS_SQLGetPrivateProfileString(pConnectProps->szDSN, RS_IDC_REGION, "", pIamProps->szIdcRegion, MAX_IDEN_LEN, ODBC_INI); + RS_SQLGetPrivateProfileString(pConnectProps->szDSN, RS_IDENTITY_NAMESPACE, "", pIamProps->szIdentityNamespace, MAX_IAM_BUF_VAL, ODBC_INI); + RS_SQLGetPrivateProfileString(pConnectProps->szDSN, RS_TOKEN_TYPE, "", pIamProps->szTokenType, MAX_IDEN_LEN, ODBC_INI); + RS_CONN_INFO::readLongValFromDsn(pConnectProps->szDSN, RS_IDC_RESPONSE_TIMEOUT, &(pIamProps->lIdcResponseTimeout)); + RS_SQLGetPrivateProfileString(pConnectProps->szDSN, RS_IDC_CLIENT_DISPLAY_NAME, "", pIamProps->szIdcClientDisplayName, MAX_IAM_BUF_VAL, ODBC_INI); RS_CONN_INFO::readBoolValFromDsn(pConnectProps->szDSN, RS_DISABLE_CACHE, &(pIamProps->isDisableCache)); @@ -3162,6 +3196,60 @@ bool RS_CONN_INFO::convertToBoolVal(const char *pVal) } +/*====================================================================================================================================================*/ + +static void copyCommonConnectionProperties(RS_IAM_CONN_PROPS_INFO* pIamProps, RS_CONNECT_PROPS_INFO* pConnectProps) { + rs_strncpy(pIamProps->szSslMode, pConnectProps->szSslMode, sizeof(pIamProps->szSslMode)); + rs_strncpy(pIamProps->szHost, pConnectProps->szHost, sizeof(pIamProps->szHost)); + rs_strncpy(pIamProps->szPort, pConnectProps->szPort, sizeof(pIamProps->szPort)); + rs_strncpy(pIamProps->szDatabase, pConnectProps->szDatabase, sizeof(pIamProps->szDatabase)); +} + + +static void invokeNativePluginAuthentication(RS_CONN_INFO* pConn, bool isIAMAuth) { + RsIamEntry::NativePluginAuthentication(isIAMAuth, + pConn->pConnectProps->pIamProps, + pConn->pConnectProps->pHttpsProps, + pConn->iamSettings, + &(pConn->iamLogger)); +} + +static void copyIdpToken(RS_IAM_CONN_PROPS_INFO* pIamProps, const std::string& web_identity_token) { + const char* pval = web_identity_token.c_str(); + int len = strlen(pval) + 1; + pIamProps->pszJwt = (char*)rs_calloc(sizeof(char), len); + rs_strncpy(pIamProps->pszJwt, pval, len); +} + +static SQLRETURN handleFederatedNonIamConnection(RS_CONN_INFO* pConn) { + + RS_CONNECT_PROPS_INFO* pConnectProps = pConn->pConnectProps; + RS_IAM_CONN_PROPS_INFO* pIamProps = pConn->pConnectProps->pIamProps; + + if (pIamProps && (pIamProps->szPluginName[0] != '\0') && + (_stricmp(pIamProps->szPluginName, PLUGIN_IDP_TOKEN_AUTH) == 0 || + _stricmp(pIamProps->szPluginName, PLUGIN_BROWSER_IDC_AUTH) == 0)) { + pConn->iamLogger.traceEnable = IS_TRACE_ON(); + copyCommonConnectionProperties(pIamProps, pConnectProps); + pConnectProps->isNativeAuth = true; + + try { + invokeNativePluginAuthentication(pConn, false); + rs_strncpy(pConnectProps->szIdpType, RS_IDP_TYPE_AWS_IDC, MAX_IDEN_LEN); + + copyIdpToken(pIamProps, pConn->iamSettings.m_web_identity_token); + return SQL_SUCCESS; + } + catch (RsErrorException& ex) { + addError(&pConn->pErrorList, "HY000", ex.getErrorMessage(), 0, pConn); + return SQL_ERROR; + } + catch (...) { + addError(&pConn->pErrorList, "HY000", "IAM Unknown Error", 0, pConn); + return SQL_ERROR; + } + } +} /*====================================================================================================================================================*/ @@ -3188,10 +3276,7 @@ SQLRETURN RS_CONN_INFO::doConnection(RS_CONN_INFO *pConn) { // Copy some DB Properties required for IAM rs_strncpy(pIamProps->szUser, pConnectProps->szUser,sizeof(pIamProps->szUser)); rs_strncpy(pIamProps->szPassword, pConnectProps->szPassword,sizeof(pIamProps->szPassword)); - rs_strncpy(pIamProps->szSslMode, pConnectProps->szSslMode,sizeof(pIamProps->szSslMode)); - rs_strncpy(pIamProps->szHost, pConnectProps->szHost,sizeof(pIamProps->szHost)); - rs_strncpy(pIamProps->szPort, pConnectProps->szPort,sizeof(pIamProps->szPort)); - rs_strncpy(pIamProps->szDatabase, pConnectProps->szDatabase,sizeof(pIamProps->szDatabase)); + copyCommonConnectionProperties(pIamProps, pConnectProps); // Do IAM authentication and get derived user name and the temp db password try @@ -3202,12 +3287,7 @@ SQLRETURN RS_CONN_INFO::doConnection(RS_CONN_INFO *pConn) { && _stricmp(pIamProps->szPluginName, IAM_PLUGIN_BROWSER_AZURE_OAUTH2) == 0) { isNativeAuth = true; - RsIamEntry::NativePluginAuthentication(pConn->pConnectProps->isIAMAuth, - pConn->pConnectProps->pIamProps, - pConn->pConnectProps->pHttpsProps, - pConn->iamSettings, - &(pConn->iamLogger)); - + invokeNativePluginAuthentication(pConn, true); rs_strncpy(pConnectProps->szIdpType, "AzureAD", MAX_IDEN_LEN); } // Redshift native auth else @@ -3248,17 +3328,17 @@ SQLRETURN RS_CONN_INFO::doConnection(RS_CONN_INFO *pConn) { } else { - // Copy IDP token - const char *pval = pConn->iamSettings.m_web_identity_token.c_str(); - int len = strlen(pval) + 1; - pIamProps->pszJwt = (char *)rs_calloc(sizeof(char), len); - - rs_strncpy(pIamProps->pszJwt, pval, len); + copyIdpToken(pIamProps, pConn->iamSettings.m_web_identity_token); } } // Non Redshift Native Auth } // IAM - + else { + rc = handleFederatedNonIamConnection(pConn); + if(rc == SQL_ERROR) { + return rc; + } + } rc = libpqConnect(pConn); diff --git a/src/odbc/rsodbc/rsiam.h b/src/odbc/rsodbc/rsiam.h index 9955f83d..633fae98 100644 --- a/src/odbc/rsodbc/rsiam.h +++ b/src/odbc/rsodbc/rsiam.h @@ -6,6 +6,7 @@ #define MAX_IAM_DBGROUPS_LEN 1024 #define MAX_IAM_JWT_LEN (16 * 1024) #define MAX_IDEN_LEN (128 + 1) +#define MAX_BASIC_AUTH_TOKEN_LEN (16 * 1024) struct RS_IAM_CONN_PROPS_INFO { // Standard = "", IAM = "Static", Profile = "Profile", any plugin = "Plugin" @@ -54,9 +55,16 @@ struct RS_IAM_CONN_PROPS_INFO { char szPort[MAX_IDEN_LEN]; char szDatabase[MAX_IDEN_LEN]; char szAuthProfile[MAX_IAM_BUF_VAL]; + char szBasicAuthToken[MAX_BASIC_AUTH_TOKEN_LEN]; + char szStartUrl[MAX_IAM_BUF_VAL]; + char szIdcRegion[MAX_IDEN_LEN]; + char szIdentityNamespace[MAX_IAM_BUF_VAL]; + char szTokenType[MAX_IDEN_LEN]; bool isDisableCache; int iStsConnectionTimeout; bool isGroupFederation; + long lIdcResponseTimeout; // idc_response_timeout + char szIdcClientDisplayName[MAX_IAM_BUF_VAL]; // idc_client_display_name }; struct RS_PROXY_CONN_PROPS_INFO { diff --git a/src/odbc/rsodbc/rslibpq.c b/src/odbc/rsodbc/rslibpq.c index 9294c8c1..3a0f1ef9 100644 --- a/src/odbc/rsodbc/rslibpq.c +++ b/src/odbc/rsodbc/rslibpq.c @@ -335,12 +335,15 @@ SQLRETURN libpqConnect(RS_CONN_INFO *pConn) ppValues[iCount++] = szOsVersion; // Plugin name - char *plugin_name = (char *)((pConnectProps->isIAMAuth) + char *plugin_name = (char *)((pConnectProps->isIAMAuth || pConnectProps->isNativeAuth) ? ((pConnectProps->pIamProps->szPluginName[0] != '\0') ? pConnectProps->pIamProps->szPluginName : "none") : "none"); ppKeywords[iCount] = "plugin_name"; ppValues[iCount++] = plugin_name; + if(IS_TRACE_LEVEL_DEBUG()) { + traceDebug("using plugin_name=%s", plugin_name); + } // TCP Proxy if (pConnectProps->pTcpProxyProps @@ -391,6 +394,34 @@ SQLRETURN libpqConnect(RS_CONN_INFO *pConn) ppValues[iCount++] = pConnectProps->szIdpType; } + if(pConnectProps->pIamProps) { + if(_stricmp(plugin_name, PLUGIN_BROWSER_IDC_AUTH) == 0) { + ppKeywords[iCount] = RS_TOKEN_TYPE; + ppValues[iCount++] = RS_TOKEN_TYPE_ACCESS_TOKEN; + } + if(_stricmp(plugin_name, PLUGIN_IDP_TOKEN_AUTH) == 0 && pConnectProps->pIamProps->szTokenType[0] != '\0') { + ppKeywords[iCount] = RS_TOKEN_TYPE; + ppValues[iCount++] = pConnectProps->pIamProps->szTokenType; + } + } + + if (pConnectProps->pIamProps && + (_stricmp(plugin_name, PLUGIN_IDP_TOKEN_AUTH) == 0 || + _stricmp(plugin_name, PLUGIN_BROWSER_IDC_AUTH) == 0) && + pConnectProps->pIamProps->szIdentityNamespace[0] != '\0') { + ppKeywords[iCount] = RS_IDENTITY_NAMESPACE; + ppValues[iCount++] = pConnectProps->pIamProps->szIdentityNamespace; + if(IS_TRACE_LEVEL_DEBUG()) { + traceDebug("using identity_namespace=%s", pConnectProps->pIamProps->szIdentityNamespace); + } + } + + if (pConnectProps->pIamProps + && pConnectProps->pIamProps->szIdcClientDisplayName[0] != '\0') { + ppKeywords[iCount] = RS_IDC_CLIENT_DISPLAY_NAME; + ppValues[iCount++] = pConnectProps->pIamProps->szIdcClientDisplayName; + } + if (pConnectProps->szProviderName[0] != '\0') { ppKeywords[iCount] = "provider_name"; diff --git a/src/odbc/rsodbc/rsodbc.h b/src/odbc/rsodbc/rsodbc.h index 4f75afca..27e8374f 100644 --- a/src/odbc/rsodbc/rsodbc.h +++ b/src/odbc/rsodbc/rsodbc.h @@ -913,7 +913,14 @@ class RS_DESC_INFO #define RS_DISABLE_CACHE "DisableCache" // #define RS_IAM_STS_ENDPOINT_URL "StsEndpointUrl" #define RS_IAM_STS_CONNECTION_TIMEOUT "StsConnectionTimeout" -#define RS_SCOPE "scope" +#define RS_SCOPE "scope" +#define RS_BASIC_AUTH_TOKEN "token" +#define RS_START_URL "start_url" +#define RS_IDC_REGION "idc_region" +#define RS_IDENTITY_NAMESPACE "identity_namespace" +#define RS_TOKEN_TYPE "token_type" +#define RS_IDC_RESPONSE_TIMEOUT "idc_response_timeout" +#define RS_IDC_CLIENT_DISPLAY_NAME "idc_client_display_name" @@ -925,6 +932,8 @@ class RS_DESC_INFO #define RS_AUTH_TYPE_STATIC "Static" #define RS_AUTH_TYPE_PROFILE "Profile" #define RS_AUTH_TYPE_PLUGIN "Plugin" +#define RS_IDP_TYPE_AWS_IDC "AwsIdc" +#define RS_TOKEN_TYPE_ACCESS_TOKEN "ACCESS_TOKEN" /* Predefined external plug-in */ @@ -937,6 +946,9 @@ class RS_DESC_INFO #define IAM_PLUGIN_JWT "JWT" // used for federated native IdP auth #define IAM_PLUGIN_BROWSER_AZURE_OAUTH2 "BrowserAzureADOAuth2" // used for federated native IdP auth #define JWT_IAM_AUTH_PLUGIN "JwtIamAuthPlugin" // used for federated Jwt IAM auth +#define PLUGIN_IDP_TOKEN_AUTH "IdpTokenAuthPlugin" +#define PLUGIN_BROWSER_IDC_AUTH "BrowserIdcAuthPlugin" + struct RS_TCP_PROXY_CONN_PROPS_INFO { @@ -1015,6 +1027,7 @@ class RS_CONNECT_PROPS_INFO pConnectStr = NULL; cbConnectStr = 0; isIAMAuth = false; + isNativeAuth = false; pIamProps = NULL; pHttpsProps = NULL; pTcpProxyProps = NULL; @@ -1027,18 +1040,18 @@ class RS_CONNECT_PROPS_INFO strncpy(szStringType, "varchar", sizeof(szStringType)); // "unspecified" } - char szHost[MAX_IDEN_LEN]; + char szHost[MAX_IDEN_LEN] = {0}; int iHostNameKeyWordType; // SHORT_NAME or LONG_NAME? - char szPort[MAX_IDEN_LEN]; + char szPort[MAX_IDEN_LEN] = {0}; int iPortKeyWordType; - char szDatabase[MAX_IDEN_LEN]; + char szDatabase[MAX_IDEN_LEN] = {0}; int iDatabaseKeyWordType; - char szUser[MAX_IDEN_LEN]; + char szUser[MAX_IDEN_LEN] = {0}; int iUserKeyWordType; - char szPassword[MAX_IDEN_LEN]; + char szPassword[PADB_MAX_PARAMETERS] = {0}; int iPasswordKeyWordType; - char szDSN[MAX_IDEN_LEN]; - char szDriver[MAX_IDEN_LEN]; + char szDSN[MAX_IDEN_LEN] = {0}; + char szDriver[MAX_IDEN_LEN] = {0}; /* If checked, retrieves parameter metadata from the PADB server when a query contains parameters (for use with the SQLDescribeParam() ODBC API function). Note that returned @@ -1107,7 +1120,7 @@ class RS_CONNECT_PROPS_INFO /* The directory in which to store the client side cursor files. If the provided path does not exist, the value is changed to the default. Default is TMP/TEMP. */ - char szCscPath[MAX_PATH + 1]; + char szCscPath[MAX_PATH + 1] = {0}; /* Threshold memory cursor size (in MB). If the client side cursor is enabled and the result set for a query exceeds the memory amount in cscthreshold, the excess data @@ -1121,7 +1134,7 @@ class RS_CONNECT_PROPS_INFO * ValidateServerCertificate, szHostNameInCertificate. * */ - char szSslMode[MAX_IDEN_LEN]; + char szSslMode[MAX_IDEN_LEN] = {0}; /* The method the driver uses to encrypt data sent between the driver and the database server. @@ -1149,18 +1162,18 @@ class RS_CONNECT_PROPS_INFO and server authentication is used. The truststore file contains a list of the valid Certificate Authorities (CAs) that are trusted by the client machine for SSL server authentication. */ - char szTrustStore[MAX_PATH + 1]; + char szTrustStore[MAX_PATH + 1] = {0}; // Multi-Insert conversion enable int iMultiInsertCmdConvertEnable; /* Kerberos authentication support specifying the service name */ - char szKerberosServiceName[MAX_IDEN_LEN]; + char szKerberosServiceName[MAX_IDEN_LEN] = {0}; /* Kerberos authentication support specifying API to use. SSPI or GSS. SSPI only avail on Windows. */ - char szKerberosAPI[MAX_IDEN_LEN]; + char szKerberosAPI[MAX_IDEN_LEN] = {0}; /* Streaming Cursor size */ @@ -1176,25 +1189,27 @@ class RS_CONNECT_PROPS_INFO RS_IAM_CONN_PROPS_INFO *pIamProps; RS_PROXY_CONN_PROPS_INFO *pHttpsProps; + bool isNativeAuth; // The connection property to determine if native auth needs to be used. + // Redshift TCP Proxy RS_TCP_PROXY_CONN_PROPS_INFO *pTcpProxyProps; // TCP keep alives - char szKeepAlive[MAX_NUMBER_BUF_LEN]; - char szKeepAliveIdle[MAX_NUMBER_BUF_LEN]; - char szKeepAliveCount[MAX_NUMBER_BUF_LEN]; - char szKeepAliveInterval[MAX_NUMBER_BUF_LEN]; + char szKeepAlive[MAX_NUMBER_BUF_LEN] = {0}; + char szKeepAliveIdle[MAX_NUMBER_BUF_LEN] = {0}; + char szKeepAliveCount[MAX_NUMBER_BUF_LEN] = {0}; + char szKeepAliveInterval[MAX_NUMBER_BUF_LEN] = {0}; // Min TLS - char szMinTLS[MAX_NUMBER_BUF_LEN]; + char szMinTLS[MAX_NUMBER_BUF_LEN] = {0}; // Redshift native auth - char szIdpType[MAX_IDEN_LEN]; - char szProviderName[MAX_IDEN_LEN]; + char szIdpType[MAX_IDEN_LEN] = {0}; + char szProviderName[MAX_IDEN_LEN] = {0}; // Bind OID for VARCHAR // The type to bind String parameters as (usually 'varchar', 'unspecified' allows implicit casting to other types) - char szStringType[MAX_SMALL_TEMP_BUF_LEN]; + char szStringType[MAX_SMALL_TEMP_BUF_LEN] = {0}; int iClientProtocolVersion; // If user sets, the driver uses it otherwise there will be default value hardcoded. }; diff --git a/src/odbc/rsodbc/rsodbc.vcxproj b/src/odbc/rsodbc/rsodbc.vcxproj index 18c30a0a..b1e71958 100644 --- a/src/odbc/rsodbc/rsodbc.vcxproj +++ b/src/odbc/rsodbc/rsodbc.vcxproj @@ -194,10 +194,8 @@ MaxSpeed true - - ./;./iam/http;./iam/plugins;./iam/windows/aws-cpp-sdk/1.11.111/include;./iam/core;./iam;..\..\pgclient\src\interfaces\libpq;..\..\pgclient\src\include;..\..\openssl\inc32;.\iam\windows\openssl\1.1.1\w2012r2\vs2015\release64mt\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;ODBCVER=0x0352;SQL_NOUNICODEMAP;_WIN64; - _CRT_SECURE_NO_WARNINGS;USE_SSL;%(PreprocessorDefinitions) + ./;./iam/http;./iam/plugins;./iam/windows/aws-cpp-sdk/1.11.111/include;./iam/core;./iam;..\..\pgclient\src\interfaces\libpq;..\..\pgclient\src\include;..\..\openssl\inc32;.\iam\windows\cares\include;.\iam\windows\openssl\1.1.1\w2012r2\vs2015\release64mt\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;ODBCVER=0x0352;SQL_NOUNICODEMAP;_WIN64;_CRT_SECURE_NO_WARNINGS;USE_SSL;CARES_STATICLIB;%(PreprocessorDefinitions) MultiThreaded true @@ -208,10 +206,8 @@ stdcpp17 - - shell32.lib;odbccp32.lib;libcrypto.lib;libssl.lib;ws2_32.lib;comdlg32.lib;wldap32.lib;Ncrypt.lib;User32.lib;UserEnv.lib;bcrypt.lib;RpcRT4.Lib;winhttp.lib;WinInet.Lib;Version.Lib;aws-cpp-sdk-core.lib;aws-cpp-sdk-redshift.lib;aws-cpp-sdk-sts.lib;aws-cpp-sdk-redshift-serverless.lib;aws-c-auth.lib;aws-c-cal.lib;aws-c-common.lib;aws-c-compression.lib;aws-c-event-stream.lib;aws-checksums.lib;aws-c-http.lib;aws-c-io.lib;aws-c-mqtt.lib;aws-crt-cpp.lib;aws-c-s3.lib;aws-c-sdkutils.lib;legacy_stdio_definitions.lib;libpq.lib;wsock32.lib;secur32.lib;libpgport.lib;gssapi64.lib;crypt32.lib;shlwapi.lib;%(AdditionalDependencies) - - .\iam\windows\aws-cpp-sdk\1.11.111\w11\vs2022\release64mt\lib;..\..\pgclient\Release\libpq;..\..\pgclient\Release\libpgport;.\iam\windows\openssl\1.1.1\w2012r2\vs2015\release64mt\lib;..\..\openssl\libs\Windows\x64;..\..\pgclient\kfw-3-2-2-final\lib\Win64;%(AdditionalLibraryDirectories) + shell32.lib;odbccp32.lib;libcrypto.lib;libssl.lib;ws2_32.lib;comdlg32.lib;wldap32.lib;Ncrypt.lib;User32.lib;UserEnv.lib;bcrypt.lib;RpcRT4.Lib;winhttp.lib;WinInet.Lib;Version.Lib;aws-cpp-sdk-core.lib;aws-cpp-sdk-redshift.lib;aws-cpp-sdk-sso-oidc.lib;aws-cpp-sdk-sts.lib;aws-cpp-sdk-redshift-serverless.lib;aws-c-auth.lib;aws-c-cal.lib;aws-c-common.lib;aws-c-compression.lib;aws-c-event-stream.lib;aws-checksums.lib;aws-c-http.lib;aws-c-io.lib;aws-c-mqtt.lib;aws-crt-cpp.lib;aws-c-s3.lib;aws-c-sdkutils.lib;legacy_stdio_definitions.lib;libpq.lib;wsock32.lib;secur32.lib;libpgport.lib;gssapi64.lib;crypt32.lib;shlwapi.lib;cares_static.lib;%(AdditionalDependencies) + .\iam\windows\aws-cpp-sdk\1.11.111\w11\vs2022\release64mt\lib;..\..\pgclient\Release\libpq;..\..\pgclient\Release\libpgport;.\iam\windows\openssl\1.1.1\w2012r2\vs2015\release64mt\lib;..\..\openssl\libs\Windows\x64;.\iam\windows\cares\lib\Release;..\..\pgclient\kfw-3-2-2-final\lib\Win64;%(AdditionalLibraryDirectories) rsodbc.def true Windows @@ -253,6 +249,8 @@ + + @@ -267,6 +265,7 @@ + @@ -311,6 +310,8 @@ + + @@ -325,6 +326,7 @@ + diff --git a/src/odbc/rsodbc/rsodbc.vcxproj.filters b/src/odbc/rsodbc/rsodbc.vcxproj.filters index 1f401445..0e05bb0e 100644 --- a/src/odbc/rsodbc/rsodbc.vcxproj.filters +++ b/src/odbc/rsodbc/rsodbc.vcxproj.filters @@ -159,6 +159,12 @@ Source Files\iam\http + + Source Files\iam\plugins + + + Source Files\iam\plugins + Source Files\iam\plugins @@ -201,6 +207,9 @@ Source Files\iam\plugins + + Source Files\iam\plugins + @@ -329,6 +338,12 @@ Header Files\iam\http + + Header Files\iam\plugins + + + Header Files\iam\plugins + Header Files\iam\plugins @@ -371,6 +386,9 @@ Header Files\iam\plugins + + Header Files\iam\plugins + diff --git a/src/odbc/rsodbc/rsodbc_setup/resource.h b/src/odbc/rsodbc/rsodbc_setup/resource.h index f255a4f9..98b22da1 100644 --- a/src/odbc/rsodbc/rsodbc_setup/resource.h +++ b/src/odbc/rsodbc/rsodbc_setup/resource.h @@ -66,6 +66,13 @@ #define IDC_SPID 1029 #define IDC_PROVIDER_NAME 1030 #define IDC_SCOPE 1031 +#define IDC_TOKEN 1032 +#define IDC_TOKEN_TYPE 1033 +#define IDC_IDENTITY_NAMESPACE 1034 +#define IDC_IDC_REGION 1035 +#define IDC_START_URL 1036 +#define IDC_IDC_RESPONSE_TIMEOUT 1037 +#define IDC_IDC_CLIENT_DISPLAY_NAME 1038 #define IDC_DESCTEXT 1039 #define DRV_MSG_LABEL 1040 #define DLG_PASSWORD 1048 @@ -220,6 +227,13 @@ #define IDC_PROXY_STS 1213 #define IDC_PROXY_IDP 1214 #define IDC_LOG_LEVEL_COMBO 1216 +#define IDC_TOKEN_STATIC 1217 +#define IDC_TOKEN_TYPE_STATIC 1218 +#define IDC_IDENTITY_NAMESPACE_STATIC 1219 +#define IDC_IDC_REGION_STATIC 1220 +#define IDC_START_URL_STATIC 1221 +#define IDC_IDC_RESPONSE_TIMEOUT_STATIC 1222 +#define IDC_IDC_CLIENT_DISPLAY_NAME_STATIC 1223 // Next default values for new objects // diff --git a/src/odbc/rsodbc/rsodbc_setup/rsodbcsetup.rc b/src/odbc/rsodbc/rsodbc_setup/rsodbcsetup.rc index e12498a2..b35f2188 100644 --- a/src/odbc/rsodbc/rsodbc_setup/rsodbcsetup.rc +++ b/src/odbc/rsodbc/rsodbc_setup/rsodbcsetup.rc @@ -171,6 +171,20 @@ BEGIN EDITTEXT IDC_AUTH_PROFILE,78,168,116,12,ES_AUTOHSCROLL RTEXT "Scope:",IDC_SCOPE_STATIC,25,270,58,13 EDITTEXT IDC_SCOPE,87,268,113,12,ES_AUTOHSCROLL + RTEXT "Token:",IDC_TOKEN_STATIC,23,196,100,9 + EDITTEXT IDC_TOKEN,125,195,130,12,ES_AUTOHSCROLL + RTEXT "Token Type:",IDC_TOKEN_TYPE_STATIC,23,213,100,9 + EDITTEXT IDC_TOKEN_TYPE,125,212,130,12,ES_AUTOHSCROLL + RTEXT "IdC Region:",IDC_IDC_REGION_STATIC,23,196,100,9 + EDITTEXT IDC_IDC_REGION,125,195,130,12,ES_AUTOHSCROLL + RTEXT "Start Url:",IDC_START_URL_STATIC,23,213,100,9 + EDITTEXT IDC_START_URL,125,212,130,12,ES_AUTOHSCROLL + RTEXT "Identity Namespace:",IDC_IDENTITY_NAMESPACE_STATIC,23,230,100,9 + EDITTEXT IDC_IDENTITY_NAMESPACE,125,229,130,12,ES_AUTOHSCROLL + RTEXT "Timeout (sec):",IDC_IDC_RESPONSE_TIMEOUT_STATIC,23,247,100,9 + EDITTEXT IDC_IDC_RESPONSE_TIMEOUT,125,246,130,12,ES_AUTOHSCROLL + RTEXT "IdC Client Display Name:",IDC_IDC_CLIENT_DISPLAY_NAME_STATIC,23,264,100,9 + EDITTEXT IDC_IDC_CLIENT_DISPLAY_NAME,125,263,130,12,ES_AUTOHSCROLL END DLG_ADVANCED DIALOGEX 15, 20, 222, 247 diff --git a/src/odbc/rsodbc/rsodbc_setup/setup.c b/src/odbc/rsodbc/rsodbc_setup/setup.c index 427c22e2..1b63ef2b 100644 --- a/src/odbc/rsodbc/rsodbc_setup/setup.c +++ b/src/odbc/rsodbc/rsodbc_setup/setup.c @@ -79,10 +79,17 @@ #define RS_ROLE_SESSION_NAME "role_session_name" #define RS_IAM_CA_PATH "CaPath" #define RS_IAM_CA_FILE "CaFile" -#define RS_SSL_MODE "SSLMode" -#define RS_IAM_STS_ENDPOINT_URL "StsEndpointUrl" -#define RS_IAM_AUTH_PROFILE "AuthProfile" -#define RS_SCOPE "scope" +#define RS_SSL_MODE "SSLMode" +#define RS_IAM_STS_ENDPOINT_URL "StsEndpointUrl" +#define RS_IAM_AUTH_PROFILE "AuthProfile" +#define RS_SCOPE "scope" +#define RS_TOKEN "token" +#define RS_TOKEN_TYPE "token_type" +#define RS_IDENTITY_NAMESPACE "identity_namespace" +#define RS_IDC_REGION "idc_region" +#define RS_START_URL "start_url" +#define RS_IDC_RESPONSE_TIMEOUT "idc_response_timeout" +#define RS_IDC_CLIENT_DISPLAY_NAME "idc_client_display_name" // Connection options value @@ -100,6 +107,8 @@ #define IAM_PLUGIN_JWT "JWT" // used for federated native IdP auth #define IAM_PLUGIN_BROWSER_AZURE_OAUTH2 "BrowserAzureADOAuth2" #define PLUGIN_JWT_IAM_AUTH "JwtIamAuthPlugin" // used for federated IAM auth +#define PLUGIN_IDP_TOKEN_AUTH "IdpTokenAuthPlugin" +#define PLUGIN_BROWSER_IDC_AUTH "BrowserIdcAuthPlugin" #define MAX_JWT (16 * 1024) @@ -219,6 +228,13 @@ #define DFLT_STS_ENDPOINT_URL "" #define DFLT_AUTH_PROFILE "" #define DFLT_SCOPE "" +#define DFLT_TOKEN "" +#define DFLT_TOKEN_TYPE "" +#define DFLT_IDENTITY_NAMESPACE "" +#define DFLT_IDC_REGION "" +#define DFLT_START_URL "" +#define DFLT_IDC_RESPONSE_TIMEOUT "" +#define DFLT_IDC_CLIENT_DISPLAY_NAME "" #define DFLT_DATABASE_METADATA_CURRENT_DB_ONLY "1" #define DFLT_READ_ONLY "0" @@ -244,11 +260,11 @@ #define MAXDSNAME (32+1) /* Max data source name length */ /* 8 -> 4 for CSC + 1 for MICC + 1 for KSN + 1 for KSA + 1 for SCR */ -/* 39 IAM/IDP */ +/* 46 IAM/IDP */ /* 2 Advanced */ /* 9 Proxy */ -#define DD_DSN_ATTR_COUNT (41 + 8 + 39 + 2 + 9) +#define DD_DSN_ATTR_COUNT (41 + 8 + 46 + 2 + 9) #define ODBC_GLB_ATTR_COUNT (2 + 1) // LogLevel, LogPath @@ -438,6 +454,13 @@ static const rs_dsn_attr_t rs_dsn_attrs[] = { RS_IAM_STS_ENDPOINT_URL , DFLT_STS_ENDPOINT_URL }, { RS_IAM_AUTH_PROFILE , DFLT_AUTH_PROFILE }, { RS_SCOPE , DFLT_SCOPE }, +{ RS_TOKEN , DFLT_TOKEN }, +{ RS_TOKEN_TYPE , DFLT_TOKEN_TYPE }, +{ RS_IDENTITY_NAMESPACE , DFLT_IDENTITY_NAMESPACE }, +{ RS_IDC_REGION , DFLT_IDC_REGION }, +{ RS_START_URL , DFLT_START_URL }, +{ RS_IDC_RESPONSE_TIMEOUT , DFLT_IDC_RESPONSE_TIMEOUT }, +{ RS_IDC_CLIENT_DISPLAY_NAME , DFLT_IDC_CLIENT_DISPLAY_NAME }, { "", "" } }; @@ -554,6 +577,13 @@ static const rs_dsn_attr_t rs_dsn_code2name[] = { RS_IAM_STS_ENDPOINT_URL , RS_IAM_STS_ENDPOINT_URL }, { RS_IAM_AUTH_PROFILE , RS_IAM_AUTH_PROFILE }, { RS_SCOPE , RS_SCOPE }, +{ RS_TOKEN , RS_TOKEN }, +{ RS_TOKEN_TYPE , RS_TOKEN_TYPE }, +{ RS_IDENTITY_NAMESPACE , RS_IDENTITY_NAMESPACE }, +{ RS_IDC_REGION , RS_IDC_REGION }, +{ RS_START_URL , RS_START_URL }, +{ RS_IDC_RESPONSE_TIMEOUT , RS_IDC_RESPONSE_TIMEOUT }, +{ RS_IDC_CLIENT_DISPLAY_NAME , RS_IDC_CLIENT_DISPLAY_NAME }, { "", "" } }; @@ -603,6 +633,8 @@ static int rs_pooling_items[5] = { #define AUTH_PING_FEDERATE 9 #define AUTH_BROWSER_AZURE_OAUTH2 10 #define AUTH_JWT_IAM 11 +#define AUTH_IDP_TOKEN 12 +#define AUTH_BROWSER_IDC 13 static char *szAuthTypes[] = { "Standard", @@ -617,6 +649,8 @@ static char *szAuthTypes[] = { "Identity Provider: PingFederate", "Identity Provider: Browser Azure AD OAUTH2", "Identity Provider: JWT IAM Auth Plugin", + "IdP Token Auth Plugin", + "Browser IdC Auth Plugin", "" }; @@ -636,7 +670,7 @@ static char *szLogLevels[] = { #define SSL_MODE_VERIFY_CA "verify-ca" #define SSL_MODE_VERIFY_FULL "verify-full" -#define MAX_IDP_CONTROLS 51 +#define MAX_IDP_CONTROLS 58 // Total controls of all IDP/IAM static int rs_idp_controls[] = @@ -705,6 +739,20 @@ static int rs_idp_controls[] = IDC_EPU, IDC_SCOPE_STATIC, IDC_SCOPE, + IDC_TOKEN_STATIC, + IDC_TOKEN, + IDC_TOKEN_TYPE_STATIC, + IDC_TOKEN_TYPE, + IDC_IDENTITY_NAMESPACE_STATIC, + IDC_IDENTITY_NAMESPACE, + IDC_IDC_REGION_STATIC, // Identity Center region + IDC_IDC_REGION, + IDC_START_URL_STATIC, + IDC_START_URL, + IDC_IDC_RESPONSE_TIMEOUT_STATIC, // Identity Center (IdC) response timeout + IDC_IDC_RESPONSE_TIMEOUT, + IDC_IDC_CLIENT_DISPLAY_NAME_STATIC, // Display name of client using IdC browser auth plugin + IDC_IDC_CLIENT_DISPLAY_NAME, 0 }; @@ -1176,6 +1224,50 @@ static rs_dialog_controls rs_jwt_iam_auth_val_controls[] = { 0, RS_NONE_CONTROL,"" } }; +static int rs_idp_token_auth_controls[] = +{ + IDC_TOKEN_STATIC, + IDC_TOKEN, + IDC_TOKEN_TYPE_STATIC, + IDC_TOKEN_TYPE, + IDC_IDENTITY_NAMESPACE_STATIC, + IDC_IDENTITY_NAMESPACE, + 0 +}; + +static rs_dialog_controls rs_idp_token_auth_val_controls[] = +{ + { IDC_TOKEN, RS_TEXT_CONTROL, RS_TOKEN }, + { IDC_TOKEN_TYPE, RS_TEXT_CONTROL, RS_TOKEN_TYPE }, + { IDC_IDENTITY_NAMESPACE, RS_TEXT_CONTROL, RS_IDENTITY_NAMESPACE }, + { 0, RS_NONE_CONTROL,"" } +}; + +static int rs_idc_browser_auth_controls[] = +{ + IDC_IDC_REGION_STATIC, // Identity Center region + IDC_IDC_REGION, + IDC_START_URL_STATIC, + IDC_START_URL, + IDC_IDENTITY_NAMESPACE_STATIC, + IDC_IDENTITY_NAMESPACE, + IDC_IDC_RESPONSE_TIMEOUT_STATIC, + IDC_IDC_RESPONSE_TIMEOUT, + IDC_IDC_CLIENT_DISPLAY_NAME_STATIC, + IDC_IDC_CLIENT_DISPLAY_NAME, + 0 +}; + +static rs_dialog_controls rs_idc_browser_auth_val_controls[] = +{ + { IDC_IDC_REGION, RS_TEXT_CONTROL, RS_IDC_REGION }, + { IDC_START_URL, RS_TEXT_CONTROL, RS_START_URL }, + { IDC_IDENTITY_NAMESPACE, RS_TEXT_CONTROL, RS_IDENTITY_NAMESPACE }, + { IDC_IDC_RESPONSE_TIMEOUT, RS_TEXT_CONTROL, RS_IDC_RESPONSE_TIMEOUT }, + { IDC_IDC_CLIENT_DISPLAY_NAME, RS_TEXT_CONTROL, RS_IDC_CLIENT_DISPLAY_NAME }, + { 0, RS_NONE_CONTROL,"" } +}; + HINSTANCE hModule; @@ -1225,7 +1317,7 @@ static BOOL rs_dsn_set_attr(rs_dsn_setup_ptr_t rs_setup_ctxt, const char *attr, char *val) { int i; - int maxVal = (strcmp(attr, RS_WEB_IDENTITY_TOKEN) == 0) + int maxVal = (strcmp(attr, RS_WEB_IDENTITY_TOKEN) == 0 || strcmp(attr, RS_TOKEN) == 0) ? MAX_JWT : MAXVALLEN; @@ -1277,7 +1369,7 @@ rs_dsn_get_attr(rs_dsn_setup_ptr_t rs_setup_ctxt, const char *attr) strcmp(attr, rs_dsn_code2name[i].attr_code) && strcmp(attr, rs_dsn_code2name[i].attr_val); i++); // rs_dsn_log(__LINE__, "get_attr returns %s", rs_setup_ctxt->attrs[i].attr_val ? rs_setup_ctxt->attrs[i].attr_val : "NULL" ); - return (strcmp(attr, RS_WEB_IDENTITY_TOKEN) == 0) + return (strcmp(attr, RS_WEB_IDENTITY_TOKEN) == 0 || strcmp(attr, RS_TOKEN) == 0) ? rs_setup_ctxt->attrs[i].large_attr_val : rs_setup_ctxt->attrs[i].attr_val; } @@ -2411,6 +2503,16 @@ static void rs_hide_show_authtype_controls(HWND hwndDlg, char *curAuthType) // JWT IAM federated auth rs_show_controls(hwndDlg, rs_jwt_iam_auth_controls); } + else + if (strcmp(curAuthType, szAuthTypes[AUTH_IDP_TOKEN]) == 0) { + // Basic Programmatic plugin + rs_show_controls(hwndDlg, rs_idp_token_auth_controls); + } + else + if (strcmp(curAuthType, szAuthTypes[AUTH_BROWSER_IDC]) == 0) { + // IdC Browser. + rs_show_controls(hwndDlg, rs_idc_browser_auth_controls); + } } static void rs_hide_controls(HWND hwndDlg, int controlId[]) @@ -2451,7 +2553,7 @@ static void rs_enable_controls(HWND hwndDlg, int controlId[], BOOL bEnable) static char*get_attr_val(rs_dsn_attr_t *attr, BOOL bEncrypt) { - if (strcmp(attr->attr_code, RS_WEB_IDENTITY_TOKEN) == 0) + if (strcmp(attr->attr_code, RS_WEB_IDENTITY_TOKEN) == 0 || strcmp(attr->attr_code, RS_TOKEN) == 0) return (attr->large_attr_val) ? attr->large_attr_val : ""; else { @@ -2473,7 +2575,7 @@ static char*get_attr_val(rs_dsn_attr_t *attr, BOOL bEncrypt) static void set_attr_val(rs_dsn_attr_t *attr, char *val) { - if (strcmp(attr->attr_code, RS_WEB_IDENTITY_TOKEN) == 0) + if (strcmp(attr->attr_code, RS_WEB_IDENTITY_TOKEN) == 0 || strcmp(attr->attr_code, RS_TOKEN) == 0) attr->large_attr_val = _strdup(val); else strncpy(attr->attr_val, val,sizeof(attr->attr_val)); @@ -2531,6 +2633,12 @@ static int get_auth_type_for_control(rs_dsn_setup_ptr_t rs_dsn_setup_ctxt) else if (strcmp(plugin, PLUGIN_JWT_IAM_AUTH) == 0) rc = AUTH_JWT_IAM; + else + if (strcmp(plugin, PLUGIN_IDP_TOKEN_AUTH) == 0) + rc = AUTH_IDP_TOKEN; + else + if (strcmp(plugin, PLUGIN_BROWSER_IDC_AUTH) == 0) + rc = AUTH_BROWSER_IDC; } } } @@ -2616,6 +2724,16 @@ static void set_dlg_items_based_on_auth_type(int curAuthType, HWND hwndDlg, rs_d { set_idp_dlg_items(rs_jwt_iam_auth_val_controls, hwndDlg, rs_dsn_setup_ctxt); } + else + if (curAuthType == AUTH_IDP_TOKEN) + { + set_idp_dlg_items(rs_idp_token_auth_val_controls, hwndDlg, rs_dsn_setup_ctxt); + } + else + if (curAuthType == AUTH_BROWSER_IDC) + { + set_idp_dlg_items(rs_idc_browser_auth_val_controls, hwndDlg, rs_dsn_setup_ctxt); + } } static void rs_dsn_read_idp_items(HWND hdlg, rs_dsn_setup_ptr_t rs_dsn_setup_ctxt) @@ -2706,6 +2824,18 @@ static void rs_dsn_read_idp_items(HWND hdlg, rs_dsn_setup_ptr_t rs_dsn_setup_ctx rs_dsn_set_attr(rs_dsn_setup_ctxt, RS_PLUGIN_NAME, PLUGIN_JWT_IAM_AUTH); rs_dsn_read_auth_type_items(rs_jwt_iam_auth_val_controls, hdlg, rs_dsn_setup_ctxt); } + else + if (strcmp(curAuthType, szAuthTypes[AUTH_IDP_TOKEN]) == 0) { + rs_dsn_set_attr(rs_dsn_setup_ctxt, RS_AUTH_TYPE, RS_AUTH_TYPE_PLUGIN); + rs_dsn_set_attr(rs_dsn_setup_ctxt, RS_PLUGIN_NAME, PLUGIN_IDP_TOKEN_AUTH); + rs_dsn_read_auth_type_items(rs_idp_token_auth_val_controls, hdlg, rs_dsn_setup_ctxt); + } + else + if (strcmp(curAuthType, szAuthTypes[AUTH_BROWSER_IDC]) == 0) { + rs_dsn_set_attr(rs_dsn_setup_ctxt, RS_AUTH_TYPE, RS_AUTH_TYPE_PLUGIN); + rs_dsn_set_attr(rs_dsn_setup_ctxt, RS_PLUGIN_NAME, PLUGIN_BROWSER_IDC_AUTH); + rs_dsn_read_auth_type_items(rs_idc_browser_auth_val_controls, hdlg, rs_dsn_setup_ctxt); + } } static void rs_dsn_read_auth_type_items(rs_dialog_controls idp_controls[], HWND hdlg, rs_dsn_setup_ptr_t rs_dsn_setup_ctxt) @@ -2928,7 +3058,7 @@ rs_dsn_test_connect(HWND hdlg, rs_dsn_setup_ptr_t rs_dsn_setup_ctxt) static void rs_dsn_read_text_entry(HWND hdlg, rs_dsn_setup_ptr_t rs_dsn_setup_ctxt, int item, const char *attr) { - if (item == IDC_WIT) + if (item == IDC_WIT || item == IDC_TOKEN) { char *valbuf = (char *)calloc(1, MAX_JWT); GetDlgItemText(hdlg, item, valbuf, MAX_JWT); @@ -3271,7 +3401,8 @@ rs_dsn_read_attrs(rs_dsn_setup_ptr_t rs_dsn_setup_ctxt) */ for (i = 0; rs_dsn_attrs[i].attr_code[0]; i++) { - if (strcmp(rs_dsn_attrs[i].attr_code, RS_WEB_IDENTITY_TOKEN) == 0) + if (strcmp(rs_dsn_attrs[i].attr_code, RS_WEB_IDENTITY_TOKEN) == 0 || + strcmp(rs_dsn_attrs[i].attr_code, RS_TOKEN) == 0) { attrs[i].large_attr_val = (char *)calloc(1, MAX_JWT); SQLGetPrivateProfileString(dsn, rs_dsn_attrs[i].attr_code, "", diff --git a/src/odbc/rsodbc/rsodbc_setup/version.h b/src/odbc/rsodbc/rsodbc_setup/version.h index a44af99d..f92c6a1f 100644 --- a/src/odbc/rsodbc/rsodbc_setup/version.h +++ b/src/odbc/rsodbc/rsodbc_setup/version.h @@ -10,7 +10,7 @@ #ifndef __VERSION_H__ #define __VERSION_H__ -#define REDSHIFT_DRIVER_VERSION "2.0.0.8" +#define REDSHIFT_DRIVER_VERSION "." #define REDSHIFT_VERSION "08.03.9111" #define REDSHIFT_RESOURCE_VERSION "08.03.9111\0" diff --git a/src/pgclient/src/interfaces/libpq/fe-connect.c b/src/pgclient/src/interfaces/libpq/fe-connect.c index 7fd3516f..3b0caada 100644 --- a/src/pgclient/src/interfaces/libpq/fe-connect.c +++ b/src/pgclient/src/interfaces/libpq/fe-connect.c @@ -304,6 +304,15 @@ static const PQconninfoOption PQconninfoOptions[] = { {"idp_type", NULL, NULL, NULL, "Redshift Native Auth IDP Type", "", 64}, + {"token_type", NULL, NULL, NULL, + "Redshift IdC Auth Token Type", "", 20}, + + {"identity_namespace", NULL, NULL, NULL, + "Redshift IdC Auth Identity Namespace", "", 64}, + + {"idc_client_display_name", NULL, NULL, NULL, + "Redshift IdC client display name", "", 64}, + {"provider_name", NULL, NULL, NULL, "Redshift Native Auth Provider Name", "", 64}, @@ -990,6 +999,13 @@ fillPGconn(PGconn *conn, PQconninfoOption *connOptions) conn->provider_name = tmp ? strdup(tmp) : NULL; tmp = conninfo_getval(connOptions, "web_identity_token"); conn->idp_token = tmp ? strdup(tmp) : NULL; + + tmp = conninfo_getval(connOptions, "token_type"); + conn->token_type = tmp ? strdup(tmp) : NULL; + tmp = conninfo_getval(connOptions, "identity_namespace"); + conn->identity_namespace = tmp ? strdup(tmp) : NULL; + tmp = conninfo_getval(connOptions, "idc_client_display_name"); + conn->idc_client_display_name = tmp ? strdup(tmp) : NULL; } /* @@ -3222,6 +3238,12 @@ freePGconn(PGconn *conn) if (conn->idp_token) free(conn->idp_token); + if (conn->token_type) + free(conn->token_type); + if (conn->identity_namespace) + free(conn->identity_namespace); + if (conn->idc_client_display_name) + free(conn->idc_client_display_name); /* Note that conn->Pfdebug is not ours to close or free */ if (conn->last_query) diff --git a/src/pgclient/src/interfaces/libpq/fe-protocol3.c b/src/pgclient/src/interfaces/libpq/fe-protocol3.c index 899fb650..c5df03d9 100644 --- a/src/pgclient/src/interfaces/libpq/fe-protocol3.c +++ b/src/pgclient/src/interfaces/libpq/fe-protocol3.c @@ -2542,6 +2542,13 @@ build_startup_packet(const PGconn *conn, char *packet, if (conn->provider_name && conn->provider_name[0]) ADD_STARTUP_OPTION("provider_name", conn->provider_name); + if (conn->token_type && conn->token_type[0]) + ADD_STARTUP_OPTION("token_type", conn->token_type); + if (conn->identity_namespace && conn->identity_namespace[0]) + ADD_STARTUP_OPTION("identity_namespace", conn->identity_namespace); + if (conn->idc_client_display_name && conn->idc_client_display_name[0]) + ADD_STARTUP_OPTION("idc_client_display_name", conn->idc_client_display_name); + if (conn->send_appname) { /* Use appname if present, otherwise use fallback */ diff --git a/src/pgclient/src/interfaces/libpq/libpq-int.h b/src/pgclient/src/interfaces/libpq/libpq-int.h index 6a34ed4a..bf70948b 100644 --- a/src/pgclient/src/interfaces/libpq/libpq-int.h +++ b/src/pgclient/src/interfaces/libpq/libpq-int.h @@ -502,6 +502,10 @@ struct pg_conn char *provider_name; char *idp_token; + // Redshift IdC auth + char *token_type; + char *identity_namespace; + char *idc_client_display_name; struct _ClientSideCursorExecutor *m_pCscExecutor; };