소스 검색

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 1 년 전
부모
커밋
56d007cbf0

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

@@ -137,6 +137,9 @@ ly_declare_aws_library(
         AccessManagement
     LIB_FILE 
         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 ####
@@ -145,6 +148,9 @@ ly_declare_aws_library(
         CognitoIdentity
     LIB_FILE 
         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 ####
@@ -153,6 +159,9 @@ ly_declare_aws_library(
         CognitoIdp
     LIB_FILE 
         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 ####
@@ -161,6 +170,9 @@ ly_declare_aws_library(
         DeviceFarm
     LIB_FILE 
         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 ####
@@ -169,6 +181,9 @@ ly_declare_aws_library(
         DynamoDB
     LIB_FILE 
         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 ####
@@ -177,6 +192,9 @@ ly_declare_aws_library(
         GameLift
     LIB_FILE 
         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 ####
@@ -185,6 +203,9 @@ ly_declare_aws_library(
         IdentityManagement
     LIB_FILE 
         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 ####
@@ -193,6 +214,9 @@ ly_declare_aws_library(
         Kinesis
     LIB_FILE 
         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 ####
@@ -201,6 +225,9 @@ ly_declare_aws_library(
         Lambda
     LIB_FILE 
         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 ####
@@ -209,6 +236,9 @@ ly_declare_aws_library(
         MobileAnalytics
     LIB_FILE 
         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 ####
@@ -217,6 +247,9 @@ ly_declare_aws_library(
         Queues
     LIB_FILE 
         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 ####
@@ -225,6 +258,9 @@ ly_declare_aws_library(
         S3
     LIB_FILE 
         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 ####
@@ -233,6 +269,9 @@ ly_declare_aws_library(
         SNS
     LIB_FILE 
         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 ####
@@ -241,6 +280,9 @@ ly_declare_aws_library(
         SQS
     LIB_FILE 
         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 ####
@@ -249,6 +291,9 @@ ly_declare_aws_library(
         STS
     LIB_FILE 
         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 ####
@@ -257,6 +302,9 @@ ly_declare_aws_library(
         Transfer
     LIB_FILE 
         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
     LIB_FILE 
         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 ####
@@ -130,6 +133,9 @@ ly_declare_aws_library(
         CognitoIdentity
     LIB_FILE 
         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 ####
@@ -138,6 +144,9 @@ ly_declare_aws_library(
         CognitoIdp
     LIB_FILE 
         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 ####
@@ -146,6 +155,9 @@ ly_declare_aws_library(
         DeviceFarm
     LIB_FILE 
         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 ####
@@ -154,6 +166,9 @@ ly_declare_aws_library(
         DynamoDB
     LIB_FILE 
         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 ####
@@ -162,6 +177,9 @@ ly_declare_aws_library(
         GameLift
     LIB_FILE 
         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 ####
@@ -170,6 +188,9 @@ ly_declare_aws_library(
         IdentityManagement
     LIB_FILE 
         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 ####
@@ -178,6 +199,9 @@ ly_declare_aws_library(
         Kinesis
     LIB_FILE 
         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 ####
@@ -186,6 +210,9 @@ ly_declare_aws_library(
         Lambda
     LIB_FILE 
         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 ####
@@ -197,6 +224,9 @@ ly_declare_aws_library(
         Queues
     LIB_FILE 
         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 ####
@@ -205,6 +235,9 @@ ly_declare_aws_library(
         S3
     LIB_FILE 
         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 ####
@@ -213,6 +246,9 @@ ly_declare_aws_library(
         SNS
     LIB_FILE 
         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 ####
@@ -221,6 +257,9 @@ ly_declare_aws_library(
         SQS
     LIB_FILE 
         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 ####
@@ -229,6 +268,9 @@ ly_declare_aws_library(
         STS
     LIB_FILE 
         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 ####
@@ -237,6 +279,9 @@ ly_declare_aws_library(
         Transfer
     LIB_FILE 
         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
     LIB_FILE 
         aws-cpp-sdk-access-management
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 
 #### CognitoIdentity ####
@@ -167,6 +169,8 @@ ly_declare_aws_library(
         CognitoIdentity
     LIB_FILE 
         aws-cpp-sdk-cognito-identity
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 
 #### CognitoIdp ####
@@ -175,6 +179,8 @@ ly_declare_aws_library(
         CognitoIdp
     LIB_FILE 
         aws-cpp-sdk-cognito-idp
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 
 #### DeviceFarm ####
@@ -183,6 +189,8 @@ ly_declare_aws_library(
         DeviceFarm
     LIB_FILE 
         aws-cpp-sdk-devicefarm
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 
 #### DynamoDB ####
@@ -191,6 +199,8 @@ ly_declare_aws_library(
         DynamoDB
     LIB_FILE 
         aws-cpp-sdk-dynamodb
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 
 #### GameLift ####
@@ -199,6 +209,8 @@ ly_declare_aws_library(
         GameLift
     LIB_FILE 
         aws-cpp-sdk-gamelift
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 
 #### IdentityManagement ####
@@ -207,6 +219,8 @@ ly_declare_aws_library(
         IdentityManagement
     LIB_FILE 
         aws-cpp-sdk-identity-management
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 
 #### Kinesis ####
@@ -215,6 +229,8 @@ ly_declare_aws_library(
         Kinesis
     LIB_FILE 
         aws-cpp-sdk-kinesis
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 
 #### Lambda ####
@@ -223,6 +239,8 @@ ly_declare_aws_library(
         Lambda
     LIB_FILE 
         aws-cpp-sdk-lambda
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 
 #### MobileAnalytics ####
@@ -234,6 +252,8 @@ ly_declare_aws_library(
         Queues
     LIB_FILE 
         aws-cpp-sdk-queues
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 
 #### S3 ####
@@ -242,6 +262,8 @@ ly_declare_aws_library(
         S3
     LIB_FILE 
         aws-cpp-sdk-s3
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 
 #### SNS ####
@@ -250,6 +272,8 @@ ly_declare_aws_library(
         SNS
     LIB_FILE 
         aws-cpp-sdk-sns
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 
 #### SQS ####
@@ -258,6 +282,8 @@ ly_declare_aws_library(
         SQS
     LIB_FILE 
         aws-cpp-sdk-sqs
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 
 #### STS ####
@@ -266,6 +292,8 @@ ly_declare_aws_library(
         STS
     LIB_FILE 
         aws-cpp-sdk-sts
+    BUILD_DEPENDENCIES
+        3rdParty::AWSNativeSDK::Core
 )
 
 #### Transfer ####
@@ -274,6 +302,8 @@ ly_declare_aws_library(
         Transfer
     LIB_FILE 
         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
     LIB_FILE 
         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 ####
@@ -160,6 +163,9 @@ ly_declare_aws_library(
         CognitoIdentity
     LIB_FILE 
         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 ####
@@ -168,6 +174,9 @@ ly_declare_aws_library(
         CognitoIdp
     LIB_FILE 
         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 ####
@@ -176,6 +185,9 @@ ly_declare_aws_library(
         DeviceFarm
     LIB_FILE 
         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 ####
@@ -184,6 +196,9 @@ ly_declare_aws_library(
         DynamoDB
     LIB_FILE 
         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 ####
@@ -192,6 +207,9 @@ ly_declare_aws_library(
         GameLift
     LIB_FILE 
         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 ####
@@ -200,6 +218,9 @@ ly_declare_aws_library(
         IdentityManagement
     LIB_FILE 
         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 ####
@@ -208,6 +229,9 @@ ly_declare_aws_library(
         Kinesis
     LIB_FILE 
         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 ####
@@ -216,6 +240,9 @@ ly_declare_aws_library(
         Lambda
     LIB_FILE 
         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 ####
@@ -227,6 +254,9 @@ ly_declare_aws_library(
         Queues
     LIB_FILE 
         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 ####
@@ -235,6 +265,9 @@ ly_declare_aws_library(
         S3
     LIB_FILE 
         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 ####
@@ -243,6 +276,9 @@ ly_declare_aws_library(
         SNS
     LIB_FILE 
         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 ####
@@ -251,6 +287,9 @@ ly_declare_aws_library(
         SQS
     LIB_FILE 
         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 ####
@@ -259,6 +298,9 @@ ly_declare_aws_library(
         STS
     LIB_FILE 
         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 ####
@@ -267,6 +309,9 @@ ly_declare_aws_library(
         Transfer
     LIB_FILE 
         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
     LIB_FILE 
         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 ####
@@ -104,6 +107,9 @@ ly_declare_aws_library(
         CognitoIdentity
     LIB_FILE 
         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 ####
@@ -112,6 +118,9 @@ ly_declare_aws_library(
         CognitoIdp
     LIB_FILE 
         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 ####
@@ -120,6 +129,9 @@ ly_declare_aws_library(
         DeviceFarm
     LIB_FILE 
         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 ####
@@ -128,6 +140,9 @@ ly_declare_aws_library(
         DynamoDB
     LIB_FILE 
         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 ####
@@ -136,6 +151,9 @@ ly_declare_aws_library(
         GameLift
     LIB_FILE 
         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 ####
@@ -144,6 +162,9 @@ ly_declare_aws_library(
         IdentityManagement
     LIB_FILE 
         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 ####
@@ -152,6 +173,9 @@ ly_declare_aws_library(
         Kinesis
     LIB_FILE 
         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 ####
@@ -160,6 +184,9 @@ ly_declare_aws_library(
         Lambda
     LIB_FILE 
         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 ####
@@ -171,6 +198,9 @@ ly_declare_aws_library(
         Queues
     LIB_FILE 
         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 ####
@@ -179,6 +209,9 @@ ly_declare_aws_library(
         S3
     LIB_FILE 
         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 ####
@@ -187,6 +220,9 @@ ly_declare_aws_library(
         SNS
     LIB_FILE 
         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 ####
@@ -195,6 +231,9 @@ ly_declare_aws_library(
         SQS
     LIB_FILE 
         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 ####
@@ -203,6 +242,9 @@ ly_declare_aws_library(
         STS
     LIB_FILE 
         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 ####
@@ -211,6 +253,9 @@ ly_declare_aws_library(
         Transfer
     LIB_FILE 
         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 
 )