Explorar el Código

Fix AWSNativeSDK Dependencies (#229)

Fix AWSNativeSDK library dependencies which would randomly cause compile
errors depending on how CMake configure generated the linker ordering.
All AWSNativeSDK libs depend on the Core library, but if lucky, the core
lib was linked in before other libs (like Lamdba or S3)

Fixes https://github.com/o3de/o3de/issues/17072
Gene Walters hace 1 año
padre
commit
56d007cbf0

+ 48 - 0
package-system/AWSNativeSDK/FindAWSNativeSDK.cmake.Android

@@ -137,6 +137,9 @@ ly_declare_aws_library(
         AccessManagement
         AccessManagement
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-access-management
         aws-cpp-sdk-access-management
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### CognitoIdentity ####
 #### CognitoIdentity ####
@@ -145,6 +148,9 @@ ly_declare_aws_library(
         CognitoIdentity
         CognitoIdentity
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-cognito-identity
         aws-cpp-sdk-cognito-identity
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### CognitoIdp ####
 #### CognitoIdp ####
@@ -153,6 +159,9 @@ ly_declare_aws_library(
         CognitoIdp
         CognitoIdp
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-cognito-idp
         aws-cpp-sdk-cognito-idp
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### DeviceFarm ####
 #### DeviceFarm ####
@@ -161,6 +170,9 @@ ly_declare_aws_library(
         DeviceFarm
         DeviceFarm
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-devicefarm
         aws-cpp-sdk-devicefarm
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### DynamoDB ####
 #### DynamoDB ####
@@ -169,6 +181,9 @@ ly_declare_aws_library(
         DynamoDB
         DynamoDB
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-dynamodb
         aws-cpp-sdk-dynamodb
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### GameLift ####
 #### GameLift ####
@@ -177,6 +192,9 @@ ly_declare_aws_library(
         GameLift
         GameLift
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-gamelift
         aws-cpp-sdk-gamelift
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### IdentityManagement ####
 #### IdentityManagement ####
@@ -185,6 +203,9 @@ ly_declare_aws_library(
         IdentityManagement
         IdentityManagement
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-identity-management
         aws-cpp-sdk-identity-management
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### Kinesis ####
 #### Kinesis ####
@@ -193,6 +214,9 @@ ly_declare_aws_library(
         Kinesis
         Kinesis
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-kinesis
         aws-cpp-sdk-kinesis
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### Lambda ####
 #### Lambda ####
@@ -201,6 +225,9 @@ ly_declare_aws_library(
         Lambda
         Lambda
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-lambda
         aws-cpp-sdk-lambda
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### MobileAnalytics ####
 #### MobileAnalytics ####
@@ -209,6 +236,9 @@ ly_declare_aws_library(
         MobileAnalytics
         MobileAnalytics
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-mobileanalytics
         aws-cpp-sdk-mobileanalytics
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### Queues ####
 #### Queues ####
@@ -217,6 +247,9 @@ ly_declare_aws_library(
         Queues
         Queues
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-queues
         aws-cpp-sdk-queues
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### S3 ####
 #### S3 ####
@@ -225,6 +258,9 @@ ly_declare_aws_library(
         S3
         S3
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-s3
         aws-cpp-sdk-s3
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### SNS ####
 #### SNS ####
@@ -233,6 +269,9 @@ ly_declare_aws_library(
         SNS
         SNS
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-sns
         aws-cpp-sdk-sns
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### SQS ####
 #### SQS ####
@@ -241,6 +280,9 @@ ly_declare_aws_library(
         SQS
         SQS
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-sqs
         aws-cpp-sdk-sqs
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### STS ####
 #### STS ####
@@ -249,6 +291,9 @@ ly_declare_aws_library(
         STS
         STS
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-sts
         aws-cpp-sdk-sts
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### Transfer ####
 #### Transfer ####
@@ -257,6 +302,9 @@ ly_declare_aws_library(
         Transfer
         Transfer
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-transfer
         aws-cpp-sdk-transfer
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 
 

+ 45 - 0
package-system/AWSNativeSDK/FindAWSNativeSDK.cmake.Linux

@@ -122,6 +122,9 @@ ly_declare_aws_library(
         AccessManagement
         AccessManagement
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-access-management
         aws-cpp-sdk-access-management
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### CognitoIdentity ####
 #### CognitoIdentity ####
@@ -130,6 +133,9 @@ ly_declare_aws_library(
         CognitoIdentity
         CognitoIdentity
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-cognito-identity
         aws-cpp-sdk-cognito-identity
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### CognitoIdp ####
 #### CognitoIdp ####
@@ -138,6 +144,9 @@ ly_declare_aws_library(
         CognitoIdp
         CognitoIdp
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-cognito-idp
         aws-cpp-sdk-cognito-idp
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### DeviceFarm ####
 #### DeviceFarm ####
@@ -146,6 +155,9 @@ ly_declare_aws_library(
         DeviceFarm
         DeviceFarm
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-devicefarm
         aws-cpp-sdk-devicefarm
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### DynamoDB ####
 #### DynamoDB ####
@@ -154,6 +166,9 @@ ly_declare_aws_library(
         DynamoDB
         DynamoDB
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-dynamodb
         aws-cpp-sdk-dynamodb
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### GameLift ####
 #### GameLift ####
@@ -162,6 +177,9 @@ ly_declare_aws_library(
         GameLift
         GameLift
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-gamelift
         aws-cpp-sdk-gamelift
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### IdentityManagement ####
 #### IdentityManagement ####
@@ -170,6 +188,9 @@ ly_declare_aws_library(
         IdentityManagement
         IdentityManagement
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-identity-management
         aws-cpp-sdk-identity-management
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### Kinesis ####
 #### Kinesis ####
@@ -178,6 +199,9 @@ ly_declare_aws_library(
         Kinesis
         Kinesis
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-kinesis
         aws-cpp-sdk-kinesis
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### Lambda ####
 #### Lambda ####
@@ -186,6 +210,9 @@ ly_declare_aws_library(
         Lambda
         Lambda
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-lambda
         aws-cpp-sdk-lambda
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### MobileAnalytics ####
 #### MobileAnalytics ####
@@ -197,6 +224,9 @@ ly_declare_aws_library(
         Queues
         Queues
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-queues
         aws-cpp-sdk-queues
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### S3 ####
 #### S3 ####
@@ -205,6 +235,9 @@ ly_declare_aws_library(
         S3
         S3
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-s3
         aws-cpp-sdk-s3
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### SNS ####
 #### SNS ####
@@ -213,6 +246,9 @@ ly_declare_aws_library(
         SNS
         SNS
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-sns
         aws-cpp-sdk-sns
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### SQS ####
 #### SQS ####
@@ -221,6 +257,9 @@ ly_declare_aws_library(
         SQS
         SQS
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-sqs
         aws-cpp-sdk-sqs
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### STS ####
 #### STS ####
@@ -229,6 +268,9 @@ ly_declare_aws_library(
         STS
         STS
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-sts
         aws-cpp-sdk-sts
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### Transfer ####
 #### Transfer ####
@@ -237,6 +279,9 @@ ly_declare_aws_library(
         Transfer
         Transfer
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-transfer
         aws-cpp-sdk-transfer
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 
 

+ 30 - 0
package-system/AWSNativeSDK/FindAWSNativeSDK.cmake.Mac

@@ -159,6 +159,8 @@ ly_declare_aws_library(
         AccessManagement
         AccessManagement
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-access-management
         aws-cpp-sdk-access-management
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 #### CognitoIdentity ####
 #### CognitoIdentity ####
@@ -167,6 +169,8 @@ ly_declare_aws_library(
         CognitoIdentity
         CognitoIdentity
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-cognito-identity
         aws-cpp-sdk-cognito-identity
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 #### CognitoIdp ####
 #### CognitoIdp ####
@@ -175,6 +179,8 @@ ly_declare_aws_library(
         CognitoIdp
         CognitoIdp
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-cognito-idp
         aws-cpp-sdk-cognito-idp
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 #### DeviceFarm ####
 #### DeviceFarm ####
@@ -183,6 +189,8 @@ ly_declare_aws_library(
         DeviceFarm
         DeviceFarm
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-devicefarm
         aws-cpp-sdk-devicefarm
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 #### DynamoDB ####
 #### DynamoDB ####
@@ -191,6 +199,8 @@ ly_declare_aws_library(
         DynamoDB
         DynamoDB
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-dynamodb
         aws-cpp-sdk-dynamodb
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 #### GameLift ####
 #### GameLift ####
@@ -199,6 +209,8 @@ ly_declare_aws_library(
         GameLift
         GameLift
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-gamelift
         aws-cpp-sdk-gamelift
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 #### IdentityManagement ####
 #### IdentityManagement ####
@@ -207,6 +219,8 @@ ly_declare_aws_library(
         IdentityManagement
         IdentityManagement
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-identity-management
         aws-cpp-sdk-identity-management
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 #### Kinesis ####
 #### Kinesis ####
@@ -215,6 +229,8 @@ ly_declare_aws_library(
         Kinesis
         Kinesis
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-kinesis
         aws-cpp-sdk-kinesis
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 #### Lambda ####
 #### Lambda ####
@@ -223,6 +239,8 @@ ly_declare_aws_library(
         Lambda
         Lambda
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-lambda
         aws-cpp-sdk-lambda
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 #### MobileAnalytics ####
 #### MobileAnalytics ####
@@ -234,6 +252,8 @@ ly_declare_aws_library(
         Queues
         Queues
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-queues
         aws-cpp-sdk-queues
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 #### S3 ####
 #### S3 ####
@@ -242,6 +262,8 @@ ly_declare_aws_library(
         S3
         S3
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-s3
         aws-cpp-sdk-s3
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 #### SNS ####
 #### SNS ####
@@ -250,6 +272,8 @@ ly_declare_aws_library(
         SNS
         SNS
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-sns
         aws-cpp-sdk-sns
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 #### SQS ####
 #### SQS ####
@@ -258,6 +282,8 @@ ly_declare_aws_library(
         SQS
         SQS
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-sqs
         aws-cpp-sdk-sqs
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 #### STS ####
 #### STS ####
@@ -266,6 +292,8 @@ ly_declare_aws_library(
         STS
         STS
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-sts
         aws-cpp-sdk-sts
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 #### Transfer ####
 #### Transfer ####
@@ -274,6 +302,8 @@ ly_declare_aws_library(
         Transfer
         Transfer
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-transfer
         aws-cpp-sdk-transfer
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 
 

+ 45 - 0
package-system/AWSNativeSDK/FindAWSNativeSDK.cmake.Windows

@@ -152,6 +152,9 @@ ly_declare_aws_library(
         AccessManagement
         AccessManagement
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-access-management
         aws-cpp-sdk-access-management
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### CognitoIdentity ####
 #### CognitoIdentity ####
@@ -160,6 +163,9 @@ ly_declare_aws_library(
         CognitoIdentity
         CognitoIdentity
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-cognito-identity
         aws-cpp-sdk-cognito-identity
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### CognitoIdp ####
 #### CognitoIdp ####
@@ -168,6 +174,9 @@ ly_declare_aws_library(
         CognitoIdp
         CognitoIdp
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-cognito-idp
         aws-cpp-sdk-cognito-idp
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### DeviceFarm ####
 #### DeviceFarm ####
@@ -176,6 +185,9 @@ ly_declare_aws_library(
         DeviceFarm
         DeviceFarm
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-devicefarm
         aws-cpp-sdk-devicefarm
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### DynamoDB ####
 #### DynamoDB ####
@@ -184,6 +196,9 @@ ly_declare_aws_library(
         DynamoDB
         DynamoDB
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-dynamodb
         aws-cpp-sdk-dynamodb
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### GameLift ####
 #### GameLift ####
@@ -192,6 +207,9 @@ ly_declare_aws_library(
         GameLift
         GameLift
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-gamelift
         aws-cpp-sdk-gamelift
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### IdentityManagement ####
 #### IdentityManagement ####
@@ -200,6 +218,9 @@ ly_declare_aws_library(
         IdentityManagement
         IdentityManagement
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-identity-management
         aws-cpp-sdk-identity-management
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### Kinesis ####
 #### Kinesis ####
@@ -208,6 +229,9 @@ ly_declare_aws_library(
         Kinesis
         Kinesis
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-kinesis
         aws-cpp-sdk-kinesis
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### Lambda ####
 #### Lambda ####
@@ -216,6 +240,9 @@ ly_declare_aws_library(
         Lambda
         Lambda
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-lambda
         aws-cpp-sdk-lambda
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### MobileAnalytics ####
 #### MobileAnalytics ####
@@ -227,6 +254,9 @@ ly_declare_aws_library(
         Queues
         Queues
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-queues
         aws-cpp-sdk-queues
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### S3 ####
 #### S3 ####
@@ -235,6 +265,9 @@ ly_declare_aws_library(
         S3
         S3
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-s3
         aws-cpp-sdk-s3
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### SNS ####
 #### SNS ####
@@ -243,6 +276,9 @@ ly_declare_aws_library(
         SNS
         SNS
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-sns
         aws-cpp-sdk-sns
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### SQS ####
 #### SQS ####
@@ -251,6 +287,9 @@ ly_declare_aws_library(
         SQS
         SQS
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-sqs
         aws-cpp-sdk-sqs
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### STS ####
 #### STS ####
@@ -259,6 +298,9 @@ ly_declare_aws_library(
         STS
         STS
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-sts
         aws-cpp-sdk-sts
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### Transfer ####
 #### Transfer ####
@@ -267,6 +309,9 @@ ly_declare_aws_library(
         Transfer
         Transfer
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-transfer
         aws-cpp-sdk-transfer
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 
 

+ 45 - 0
package-system/AWSNativeSDK/FindAWSNativeSDK.cmake.iOS

@@ -96,6 +96,9 @@ ly_declare_aws_library(
         AccessManagement
         AccessManagement
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-access-management
         aws-cpp-sdk-access-management
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### CognitoIdentity ####
 #### CognitoIdentity ####
@@ -104,6 +107,9 @@ ly_declare_aws_library(
         CognitoIdentity
         CognitoIdentity
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-cognito-identity
         aws-cpp-sdk-cognito-identity
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### CognitoIdp ####
 #### CognitoIdp ####
@@ -112,6 +118,9 @@ ly_declare_aws_library(
         CognitoIdp
         CognitoIdp
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-cognito-idp
         aws-cpp-sdk-cognito-idp
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### DeviceFarm ####
 #### DeviceFarm ####
@@ -120,6 +129,9 @@ ly_declare_aws_library(
         DeviceFarm
         DeviceFarm
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-devicefarm
         aws-cpp-sdk-devicefarm
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### DynamoDB ####
 #### DynamoDB ####
@@ -128,6 +140,9 @@ ly_declare_aws_library(
         DynamoDB
         DynamoDB
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-dynamodb
         aws-cpp-sdk-dynamodb
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### GameLift ####
 #### GameLift ####
@@ -136,6 +151,9 @@ ly_declare_aws_library(
         GameLift
         GameLift
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-gamelift
         aws-cpp-sdk-gamelift
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### IdentityManagement ####
 #### IdentityManagement ####
@@ -144,6 +162,9 @@ ly_declare_aws_library(
         IdentityManagement
         IdentityManagement
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-identity-management
         aws-cpp-sdk-identity-management
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### Kinesis ####
 #### Kinesis ####
@@ -152,6 +173,9 @@ ly_declare_aws_library(
         Kinesis
         Kinesis
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-kinesis
         aws-cpp-sdk-kinesis
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### Lambda ####
 #### Lambda ####
@@ -160,6 +184,9 @@ ly_declare_aws_library(
         Lambda
         Lambda
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-lambda
         aws-cpp-sdk-lambda
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### MobileAnalytics ####
 #### MobileAnalytics ####
@@ -171,6 +198,9 @@ ly_declare_aws_library(
         Queues
         Queues
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-queues
         aws-cpp-sdk-queues
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### S3 ####
 #### S3 ####
@@ -179,6 +209,9 @@ ly_declare_aws_library(
         S3
         S3
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-s3
         aws-cpp-sdk-s3
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### SNS ####
 #### SNS ####
@@ -187,6 +220,9 @@ ly_declare_aws_library(
         SNS
         SNS
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-sns
         aws-cpp-sdk-sns
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### SQS ####
 #### SQS ####
@@ -195,6 +231,9 @@ ly_declare_aws_library(
         SQS
         SQS
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-sqs
         aws-cpp-sdk-sqs
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### STS ####
 #### STS ####
@@ -203,6 +242,9 @@ ly_declare_aws_library(
         STS
         STS
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-sts
         aws-cpp-sdk-sts
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )
 
 
 #### Transfer ####
 #### Transfer ####
@@ -211,6 +253,9 @@ ly_declare_aws_library(
         Transfer
         Transfer
     LIB_FILE 
     LIB_FILE 
         aws-cpp-sdk-transfer
         aws-cpp-sdk-transfer
+    BUILD_DEPENDENCIES
+        # Even though AWS Core is a sibling module, make sure it's linked in first because this module depends on it.
+        3rdParty::AWSNativeSDK::Core 
 )
 )