From 7e381c7c6ea407753361695156f1a1ec01aa977b Mon Sep 17 00:00:00 2001 From: AMZN-Gene Date: Fri, 22 Sep 2023 16:45:26 -0700 Subject: [PATCH 01/22] WiP. Windows upgrading to GameLift Server SDK 5.1.1 Signed-off-by: AMZN-Gene --- .../AWSGameLiftServerSDK/aws_gamelift_5.0.0.patch | 12 ------------ .../AWSGameLiftServerSDK/build_config.json | 12 +++++------- .../AWSGameLiftServerSDK/build_package_image.py | 2 +- package_build_list_host_windows.json | 4 ++-- 4 files changed, 8 insertions(+), 22 deletions(-) delete mode 100644 package-system/AWSGameLiftServerSDK/aws_gamelift_5.0.0.patch diff --git a/package-system/AWSGameLiftServerSDK/aws_gamelift_5.0.0.patch b/package-system/AWSGameLiftServerSDK/aws_gamelift_5.0.0.patch deleted file mode 100644 index 4e144541..00000000 --- a/package-system/AWSGameLiftServerSDK/aws_gamelift_5.0.0.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --unified --recursive --no-dereference a/GameLift-Cpp-ServerSDK-5.0.0/gamelift-server-sdk/include/aws/gamelift/internal/model/request/UpdatePlayerSessionCreationPolicyRequest.h b/GameLift-Cpp-ServerSDK-5.0.0/gamelift-server-sdk/include/aws/gamelift/internal/model/request/UpdatePlayerSessionCreationPolicyRequest.h ---- a/GameLift-SDK-Release-5.0.0/GameLift-SDK-Release-5.0.0/GameLift-Cpp-ServerSDK-5.0.0/gamelift-server-sdk/include/aws/gamelift/internal/model/request/UpdatePlayerSessionCreationPolicyRequest.h 2023-02-08 13:28:26.000000000 -0800 -+++ b/GameLift-SDK-Release-5.0.0/GameLift-SDK-Release-5.0.0/GameLift-Cpp-ServerSDK-5.0.0/gamelift-server-sdk/include/aws/gamelift/internal/model/request/UpdatePlayerSessionCreationPolicyRequest.h 2023-05-08 07:52:32.249104692 -0700 -@@ -114,7 +114,7 @@ - static constexpr const char* NOT_SET = "NOT_SET"; - - std::string m_gameSessionId; -- WebSocketPlayerSessionCreationPolicy m_playerSessionCreationPolicy; -+ WebSocketPlayerSessionCreationPolicy m_playerSessionCreationPolicy = WebSocketPlayerSessionCreationPolicy::NOT_SET; - }; - } // namespace Internal - } // namespace GameLift diff --git a/package-system/AWSGameLiftServerSDK/build_config.json b/package-system/AWSGameLiftServerSDK/build_config.json index a018bab7..274d8379 100644 --- a/package-system/AWSGameLiftServerSDK/build_config.json +++ b/package-system/AWSGameLiftServerSDK/build_config.json @@ -1,11 +1,11 @@ { - "src_package_url": "https://gamelift-release.s3-us-west-2.amazonaws.com/GameLift-SDK-Release-5.0.0.zip", - "src_package_sha1": "25cfa89252a934925c14830ba75e91855bf02e5d", + "src_package_url": "https://gamelift-server-sdk-release.s3.us-west-2.amazonaws.com/cpp/GameLift-Cpp-ServerSDK-5.1.1.zip", + "src_package_sha1": "cbbc5beed46a2e3c4de231e33fb88989bc35ad81", "package_name": "AWSGameLiftServerSDK", - "package_version": "5.0.0-rev3", + "package_version": "5.1.1-rev1", "package_url": "https://aws.amazon.com/documentation/gamelift/", "package_license": "Apache-2.0", - "package_license_file": "GameLift-SDK-Release-5.0.0/GameLift-SDK-Release-5.0.0/GameLift-Cpp-ServerSDK-5.0.0/LICENSE_AMAZON_GAMELIFT_SDK.TXT", + "package_license_file": "GameLift-Cpp-ServerSDK-5.1.1/LICENSE_AMAZON_GAMELIFT_SDK.TXT", "cmake_find_target": "FindAWSGameLiftServerSDK.cmake", "Platforms": { "Linux": { @@ -13,7 +13,6 @@ "depends_on_packages": [ [ "OpenSSL-1.1.1t-rev1-linux", "63aea898b7afe8faccd0c7261e62d2f8b7b870f678a4520d5be81e5815542b39", "" ] ], - "patch_file":"aws_gamelift_5.0.0.patch", "cmake_find_source": "FindAWSGameLiftServerSDK.cmake.Linux", "custom_build_cmd": [ "./build-linux.sh", @@ -33,11 +32,10 @@ "depends_on_packages": [ [ "OpenSSL-1.1.1t-rev1-linux-aarch64", "f32721bec9c82d1bd7fb244d78d5dc4e2a47e7b808bb36027236ad377e241ea5", "" ] ], - "patch_file":"aws_gamelift_5.0.0.patch", "cmake_find_source": "FindAWSGameLiftServerSDK.cmake.Linux", "custom_build_cmd": [ "./build-linux.sh", - "aws_gamelift_5_5_0", + "aws_gamelift_5_1_1", "20.04", "aarch64" ], diff --git a/package-system/AWSGameLiftServerSDK/build_package_image.py b/package-system/AWSGameLiftServerSDK/build_package_image.py index 3b699f67..0d9e69fd 100644 --- a/package-system/AWSGameLiftServerSDK/build_package_image.py +++ b/package-system/AWSGameLiftServerSDK/build_package_image.py @@ -30,7 +30,7 @@ PACKAGE_LICENSE_FILE: str = "LICENSE_AMAZON_GAMELIFT_SDK.TXT" GAMELIFT_SERVER_SDK_RELEASE_VERSION: str = O3DE_PACKAGE_NAME_PARTS[1] -GAMELIFT_SERVER_SDK_DOWNLOAD_URL: str = "https://gamelift-release.s3-us-west-2.amazonaws.com/GameLift-SDK-Release-5.0.0.zip" +GAMELIFT_SERVER_SDK_DOWNLOAD_URL: str = "https://gamelift-server-sdk-release.s3.us-west-2.amazonaws.com/cpp/GameLift-Cpp-ServerSDK-5.1.1.zip" PACKAGE_BASE_PATH: pathlib.Path = pathlib.Path(os.path.dirname(__file__)) PACKAGE_ROOT_PATH: pathlib.Path = PACKAGE_BASE_PATH.parent diff --git a/package_build_list_host_windows.json b/package_build_list_host_windows.json index 7d1ced80..51320a17 100644 --- a/package_build_list_host_windows.json +++ b/package_build_list_host_windows.json @@ -7,7 +7,7 @@ "assimp-5.2.5-rev1-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/assimp --platform-name Windows --package-root ../../package-system --clean", "astc-encoder-3.2-rev2-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/astc-encoder --platform-name Windows --package-root ../../package-system --clean", "azslc-1.8.15-rev2-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/azslc --platform-name Windows --package-root ../../package-system/azslc/temp --clean", - "AWSGameLiftServerSDK-5.0.0-rev2-windows": "package-system/AWSGameLiftServerSDK/build_package_image.py --platform-name windows", + "AWSGameLiftServerSDK-5.1.1-rev1-windows": "package-system/AWSGameLiftServerSDK/build_package_image.py --platform-name windows", "AwsIotDeviceSdkCpp-1.15.2-rev1-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AwsIotDeviceSdkCpp --build-path c:/Temp/awsiot --platform-name Windows --package-root ../../package-system --clean", "AWSNativeSDK-1.9.50-rev2-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Android --package-root ../../package-system --clean", "AWSNativeSDK-1.11.144-rev1-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Windows --package-root ../../package-system --clean", @@ -68,7 +68,7 @@ "assimp-5.2.5-rev1-windows": "package-system/assimp-windows", "astc-encoder-3.2-rev2-windows": "package-system/astc-encoder-windows", "azslc-1.8.15-rev2-windows": "package-system/azslc/temp/azslc-windows", - "AWSGameLiftServerSDK-5.0.0-rev2-windows": "package-system/AWSGameLiftServerSDK-windows", + "AWSGameLiftServerSDK-5.1.1-rev1-windows": "package-system/AWSGameLiftServerSDK-windows", "AwsIotDeviceSdkCpp-1.15.2-rev1-windows": "package-system/AwsIotDeviceSdkCpp-windows", "AWSNativeSDK-1.9.50-rev2-android": "package-system/AWSNativeSDK-android", "AWSNativeSDK-1.11.144-rev1-windows": "package-system/AWSNativeSDK-windows", From b93b67e0e01f45e76ad04fd44598519aefc8279c Mon Sep 17 00:00:00 2001 From: Gene Walters Date: Tue, 26 Sep 2023 18:09:17 -0700 Subject: [PATCH 02/22] Updating GameLift Server SDK build script to extract the entire zip. The GameLift download zips no longer contain all the languages (Go, etc) and just has C++ so there's no need to optimize what is extracted. Also, the GameLift cmake will download necessary 3rd parties which will be missing if we only extract sub-folders. Updating Windows script to use the recommended generator VS 2022; will need to test if building o3de using 2019 breaks Signed-off-by: Gene Walters --- .../build_package_image.py | 25 ++++--------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/package-system/AWSGameLiftServerSDK/build_package_image.py b/package-system/AWSGameLiftServerSDK/build_package_image.py index 0d9e69fd..5edcb3cb 100644 --- a/package-system/AWSGameLiftServerSDK/build_package_image.py +++ b/package-system/AWSGameLiftServerSDK/build_package_image.py @@ -117,8 +117,7 @@ def prepare_working_directory() -> WorkingDirectoryInfo: delete_folder(root_directory) # source and build directory - source_directory: pathlib.Path = \ - root_directory.joinpath(f"GameLift-SDK-Release-{GAMELIFT_SERVER_SDK_RELEASE_VERSION}/GameLift-Cpp-ServerSDK-{GAMELIFT_SERVER_SDK_RELEASE_VERSION}") + source_directory = root_directory build_directory: pathlib.Path = root_directory.joinpath("build") build_directory.mkdir(parents=True) @@ -141,14 +140,8 @@ def download_gamelift_server_sdk(working_directory: WorkingDirectoryInfo) -> Non # unzip sdk contents with zipfile.ZipFile(gamelift_sdk_zip_file, "r") as f: - cpp_serversdk_folder = f"GameLift-SDK-Release-{GAMELIFT_SERVER_SDK_RELEASE_VERSION}/GameLift-Cpp-ServerSDK" unzip_path = working_directory.root_path.resolve() - for file in f.namelist(): - # Only unzip the GameLift-Cpp-ServerSDK folder, which is the only SDK we build - # because other folders inside the zip such as the __MACOSX metadata file structure - # and the Go SDK can exceed the max path on windows - if file.startswith(cpp_serversdk_folder): - f.extract(file, unzip_path) + f.extractall(unzip_path) # get required custom environment for package build def get_custom_build_env(): @@ -169,10 +162,7 @@ def configure_sdk_project(working_directory: WorkingDirectoryInfo, source_folder: str = working_directory.source_path.resolve() build_shared: str = "ON" if lib_type == "Shared" else "OFF" if PACKAGE_PLATFORM == PACKAGE_PLATFORM_OPTIONS[0]: - # We need to explicitly build using the VS 2019 toolset. If we built using VS 2022 - # then if we try to link against this library from VS 2019 there will be unresolved - # symbols for __std_init_once_link_alternate_names_and_abort and __std_find_trivial_1 - generator: str = "-T v142" + generator: str = '-G "Visual Studio 17 2022" -A x64' elif PACKAGE_PLATFORM in (PACKAGE_PLATFORM_OPTIONS[1], PACKAGE_PLATFORM_OPTIONS[2]): generator: str = "-G \"Unix Makefiles\"" else: @@ -202,12 +192,7 @@ def configure_sdk_project(working_directory: WorkingDirectoryInfo, def build_sdk_project(source_folder: str, build_folder: str, build_type: str) -> None: - if PACKAGE_PLATFORM == PACKAGE_PLATFORM_OPTIONS[0]: - target: str = "--target ALL_BUILD" - elif PACKAGE_PLATFORM in (PACKAGE_PLATFORM_OPTIONS[1], PACKAGE_PLATFORM_OPTIONS[2]): - target: str = "" - else: - raise Exception(f"Error unsupported platform: {PACKAGE_PLATFORM}") + target: str = "--target aws-cpp-sdk-gamelift-server" build_cmd: List[str] = ["cmake", f"--build {build_folder}", @@ -263,7 +248,7 @@ def build_gamelift_server_sdk(working_directory: WorkingDirectoryInfo, lib_type: str) -> None: build_folder: pathlib.Path = working_directory.build_path.joinpath(f"{build_type}_{lib_type}").resolve() - print(f"Generating GameLift Server SDK project with {build_type} {lib_type} configuration...") + print(f"Generating GameLift Server SDK project from source ({working_directory.source_path}) with {build_type} {lib_type} configuration...") configure_sdk_project(working_directory, build_folder.resolve(), build_type, lib_type) print(f"Building GameLift Server SDK project with {build_type} {lib_type} configuration...") From 9d71cf42d3085e1473070ecd9ef57a4fc1ea527e Mon Sep 17 00:00:00 2001 From: AMZN-Gene Date: Wed, 27 Sep 2023 15:48:41 -0700 Subject: [PATCH 03/22] Upgrade Linux GameLift 5.0 -> 5.1.1 Signed-off-by: AMZN-Gene --- package_build_list_host_linux-aarch64.json | 4 ++-- package_build_list_host_linux.json | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package_build_list_host_linux-aarch64.json b/package_build_list_host_linux-aarch64.json index 729acbdb..418ec937 100644 --- a/package_build_list_host_linux-aarch64.json +++ b/package_build_list_host_linux-aarch64.json @@ -6,7 +6,7 @@ "build_from_source": { "assimp-5.2.5-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/assimp --platform-name Linux-aarch64 --clean", "astc-encoder-3.2-rev3-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/astc-encoder --platform-name Linux-aarch64 --clean", - "AWSGameLiftServerSDK-5.0.0-rev3-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux-aarch64 --clean", + "AWSGameLiftServerSDK-5.1.1-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux-aarch64 --clean", "AwsIotDeviceSdkCpp-1.15.2-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AwsIotDeviceSdkCpp --platform-name Linux-aarch64 --clean", "AWSNativeSDK-1.11.144-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux-aarch64 --clean", "azslc-1.8.15-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/azslc --platform-name Linux-aarch64 --clean", @@ -47,7 +47,7 @@ "build_from_folder": { "assimp-5.2.5-rev1-linux-aarch64": "package-system/assimp/temp/assimp-linux-aarch64", "astc-encoder-3.2-rev3-linux-aarch64": "package-system/astc-encoder/temp/astc-encoder-linux-aarch64", - "AWSGameLiftServerSDK-5.0.0-rev3-linux-aarch64": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux-aarch64", + "AWSGameLiftServerSDK-5.1.1-rev1-linux-aarch64": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux-aarch64", "AwsIotDeviceSdkCpp-1.15.2-rev1-linux-aarch64": "package-system/AwsIotDeviceSdkCpp/temp/AwsIotDeviceSdkCpp-linux-aarch64", "AWSNativeSDK-1.11.144-rev1-linux-aarch64": "package-system/AWSNativeSDK/temp/AWSNativeSDK-linux-aarch64", "azslc-1.8.15-rev1-linux-aarch64": "package-system/azslc/temp/azslc-linux-aarch64", diff --git a/package_build_list_host_linux.json b/package_build_list_host_linux.json index d361074c..ec2c26ac 100644 --- a/package_build_list_host_linux.json +++ b/package_build_list_host_linux.json @@ -5,8 +5,8 @@ "comment4" : "Note: Build from source occurs before build_from_folder", "build_from_source": { "assimp-5.2.5-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/assimp --platform-name Linux --package-root ../../package-system --clean", - "AWSGameLiftServerSDK-5.0.0-rev3-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux-aarch64 --clean", - "AWSGameLiftServerSDK-5.0.0-rev3-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux --clean", + "AWSGameLiftServerSDK-5.1.1-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux-aarch64 --clean", + "AWSGameLiftServerSDK-5.1.1-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux --clean", "AWSNativeSDK-1.11.144-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux --clean", "AWSNativeSDK-1.11.144-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux-aarch64 --clean", "cityhash-1.1-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/cityhash --platform-name Linux --clean", @@ -52,8 +52,8 @@ }, "build_from_folder": { "assimp-5.2.5-rev1-linux": "package-system/assimp-linux", - "AWSGameLiftServerSDK-5.0.0-rev3-linux": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux", - "AWSGameLiftServerSDK-5.0.0-rev3-linux-aarch64": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux-aarch64", + "AWSGameLiftServerSDK-5.1.1-rev1-linux": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux", + "AWSGameLiftServerSDK-5.1.1-rev1-linux-aarch64": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux-aarch64", "AWSNativeSDK-1.11.144-rev1-linux": "package-system/AWSNativeSDK/temp/AWSNativeSDK-linux", "AWSNativeSDK-1.11.144-rev1-linux-aarch64": "package-system/AWSNativeSDK/temp/AWSNativeSDK-linux-aarch64", "cityhash-1.1-rev1-linux": "package-system/cityhash/temp/cityhash-linux", From b4230acb2d37e18538b2f3e9fdbe2483454bfd57 Mon Sep 17 00:00:00 2001 From: Steve Pham <82231385+spham-amzn@users.noreply.github.com> Date: Thu, 28 Sep 2023 23:23:22 +0000 Subject: [PATCH 04/22] Updating AWSGameLiftServerSDK linux builder to pull the correct package name Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com> --- package-system/AWSGameLiftServerSDK/docker_build_linux.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-system/AWSGameLiftServerSDK/docker_build_linux.sh b/package-system/AWSGameLiftServerSDK/docker_build_linux.sh index cd17595b..73585030 100755 --- a/package-system/AWSGameLiftServerSDK/docker_build_linux.sh +++ b/package-system/AWSGameLiftServerSDK/docker_build_linux.sh @@ -22,7 +22,7 @@ fi # Copy the source folder from the read-only $WORKSPACE/temp/src to $WORKSPACE/src # since the build process will write/modify the source path echo "Preparing source folder '$WORKSPACE/src'" -cp -r $WORKSPACE/temp/src/GameLift-SDK-Release-5.0.0/GameLift-SDK-Release-5.0.0/GameLift-Cpp-ServerSDK-5.0.0 $WORKSPACE/src || (echo "Error copying src from $WORKSPACE/temp" && exit 1) +cp -r $WORKSPACE/temp/src/GameLift-Cpp-ServerSDK-5.1.1/ $WORKSPACE/src || (echo "Error copying src from $WORKSPACE/temp" && exit 1) SRC_PATH=$WORKSPACE/src From c50d41e6a1f54a211f3ec870e6a5b25a86bd1121 Mon Sep 17 00:00:00 2001 From: AMZN-Gene Date: Mon, 27 Nov 2023 16:58:44 -0800 Subject: [PATCH 05/22] Update Linux GameLift SDK 5.0.0 -> 5.1.1 Signed-off-by: AMZN-Gene --- package-system/AWSGameLiftServerSDK/build_config.json | 2 +- package-system/AWSGameLiftServerSDK/docker_build_linux.sh | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-system/AWSGameLiftServerSDK/build_config.json b/package-system/AWSGameLiftServerSDK/build_config.json index 274d8379..5b936169 100644 --- a/package-system/AWSGameLiftServerSDK/build_config.json +++ b/package-system/AWSGameLiftServerSDK/build_config.json @@ -16,7 +16,7 @@ "cmake_find_source": "FindAWSGameLiftServerSDK.cmake.Linux", "custom_build_cmd": [ "./build-linux.sh", - "aws_gamelift_5_5_0", + "aws_gamelift_5_1_1", "20.04", "x86_64" ], diff --git a/package-system/AWSGameLiftServerSDK/docker_build_linux.sh b/package-system/AWSGameLiftServerSDK/docker_build_linux.sh index cd17595b..93aa7e71 100755 --- a/package-system/AWSGameLiftServerSDK/docker_build_linux.sh +++ b/package-system/AWSGameLiftServerSDK/docker_build_linux.sh @@ -22,7 +22,7 @@ fi # Copy the source folder from the read-only $WORKSPACE/temp/src to $WORKSPACE/src # since the build process will write/modify the source path echo "Preparing source folder '$WORKSPACE/src'" -cp -r $WORKSPACE/temp/src/GameLift-SDK-Release-5.0.0/GameLift-SDK-Release-5.0.0/GameLift-Cpp-ServerSDK-5.0.0 $WORKSPACE/src || (echo "Error copying src from $WORKSPACE/temp" && exit 1) +cp -r $WORKSPACE/temp/src/GameLift-SDK-Release-5.1.1/GameLift-SDK-Release-5.1.1/GameLift-Cpp-ServerSDK-5.1.1 $WORKSPACE/src || (echo "Error copying src from $WORKSPACE/temp" && exit 1) SRC_PATH=$WORKSPACE/src @@ -108,8 +108,8 @@ cp -r ${BUILD_PATH_ROOT}/Static/prefix/lib ${BUILD_FOLDER}/ cp -r ${BUILD_PATH_ROOT}/Shared/prefix/lib ${BUILD_FOLDER}/bin # Copy the license and notice files -cp $WORKSPACE/temp/src/GameLift-SDK-Release-5.0.0/GameLift-SDK-Release-5.0.0/GameLift-Cpp-ServerSDK-5.0.0/LICENSE_AMAZON_GAMELIFT_SDK.TXT ${BUILD_FOLDER}/ -cp $WORKSPACE/temp/src/GameLift-SDK-Release-5.0.0/GameLift-SDK-Release-5.0.0/GameLift-Cpp-ServerSDK-5.0.0/NOTICE_C++_AMAZON_GAMELIFT_SDK.TXT ${BUILD_FOLDER}/ +cp $WORKSPACE/temp/src/GameLift-SDK-Release-5.1.1/GameLift-SDK-Release-5.1.1/GameLift-Cpp-ServerSDK-5.1.1/LICENSE_AMAZON_GAMELIFT_SDK.TXT ${BUILD_FOLDER}/ +cp $WORKSPACE/temp/src/GameLift-SDK-Release-5.1.1/GameLift-SDK-Release-5.1.1/GameLift-Cpp-ServerSDK-5.1.1/NOTICE_C++_AMAZON_GAMELIFT_SDK.TXT ${BUILD_FOLDER}/ echo "Build Succeeded." From 665885b72de6039985f25fe0be858cc2072e5303 Mon Sep 17 00:00:00 2001 From: AMZN-Gene Date: Mon, 27 Nov 2023 17:06:31 -0800 Subject: [PATCH 06/22] Update GameLiftServer SDK C++ download zip package sha Signed-off-by: AMZN-Gene --- package-system/AWSGameLiftServerSDK/build_config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-system/AWSGameLiftServerSDK/build_config.json b/package-system/AWSGameLiftServerSDK/build_config.json index 5b936169..9a5f988f 100644 --- a/package-system/AWSGameLiftServerSDK/build_config.json +++ b/package-system/AWSGameLiftServerSDK/build_config.json @@ -1,6 +1,6 @@ { "src_package_url": "https://gamelift-server-sdk-release.s3.us-west-2.amazonaws.com/cpp/GameLift-Cpp-ServerSDK-5.1.1.zip", - "src_package_sha1": "cbbc5beed46a2e3c4de231e33fb88989bc35ad81", + "src_package_sha1": "847dea8ec09b404e2aa6599a436b6c902c4dfe0e", "package_name": "AWSGameLiftServerSDK", "package_version": "5.1.1-rev1", "package_url": "https://aws.amazon.com/documentation/gamelift/", From cc2ad40f20d1e55b0ae0f7b96e677dcf3d6cd492 Mon Sep 17 00:00:00 2001 From: AMZN-Gene Date: Mon, 27 Nov 2023 17:23:34 -0800 Subject: [PATCH 07/22] Copy AWSGameLift license from the proper folder Signed-off-by: AMZN-Gene --- package-system/AWSGameLiftServerSDK/docker_build_linux.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-system/AWSGameLiftServerSDK/docker_build_linux.sh b/package-system/AWSGameLiftServerSDK/docker_build_linux.sh index 49982b48..ebd70d5c 100755 --- a/package-system/AWSGameLiftServerSDK/docker_build_linux.sh +++ b/package-system/AWSGameLiftServerSDK/docker_build_linux.sh @@ -108,8 +108,8 @@ cp -r ${BUILD_PATH_ROOT}/Static/prefix/lib ${BUILD_FOLDER}/ cp -r ${BUILD_PATH_ROOT}/Shared/prefix/lib ${BUILD_FOLDER}/bin # Copy the license and notice files -cp $WORKSPACE/temp/src/GameLift-Cpp-ServerSDK-5.1.1/GameLift-SDK-Release-5.1.1/LICENSE_AMAZON_GAMELIFT_SDK.TXT ${BUILD_FOLDER}/ -cp $WORKSPACE/temp/src/GameLift-Cpp-ServerSDK-5.1.1/GameLift-SDK-Release-5.1.1/NOTICE_C++_AMAZON_GAMELIFT_SDK.TXT ${BUILD_FOLDER}/ +cp $WORKSPACE/temp/src/GameLift-Cpp-ServerSDK-5.1.1/LICENSE_AMAZON_GAMELIFT_SDK.TXT ${BUILD_FOLDER}/ +cp $WORKSPACE/temp/src/GameLift-Cpp-ServerSDK-5.1.1/NOTICE_C++_AMAZON_GAMELIFT_SDK.TXT ${BUILD_FOLDER}/ echo "Build Succeeded." From a633108bf3f0cf4b69eb96ba66718842dfffeaf6 Mon Sep 17 00:00:00 2001 From: AMZN-Gene Date: Tue, 5 Dec 2023 10:10:06 -0800 Subject: [PATCH 08/22] Removed overkill type hint when creating a string in python Signed-off-by: AMZN-Gene --- package-system/AWSGameLiftServerSDK/build_package_image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-system/AWSGameLiftServerSDK/build_package_image.py b/package-system/AWSGameLiftServerSDK/build_package_image.py index 5edcb3cb..f8ce5434 100644 --- a/package-system/AWSGameLiftServerSDK/build_package_image.py +++ b/package-system/AWSGameLiftServerSDK/build_package_image.py @@ -192,7 +192,7 @@ def configure_sdk_project(working_directory: WorkingDirectoryInfo, def build_sdk_project(source_folder: str, build_folder: str, build_type: str) -> None: - target: str = "--target aws-cpp-sdk-gamelift-server" + target = "--target aws-cpp-sdk-gamelift-server" build_cmd: List[str] = ["cmake", f"--build {build_folder}", From 642741c98b99c3f19ea4213f30ebc16ada57e228 Mon Sep 17 00:00:00 2001 From: Gene Walters Date: Fri, 8 Dec 2023 13:16:27 -0800 Subject: [PATCH 09/22] Wrap the grep inside an if-statement to avoid exiting script upon non-zero exitcode. Signed-off-by: Gene Walters --- .github/workflows/build-package.yaml | 15 ++++++++-- test.sh | 44 ++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 test.sh diff --git a/.github/workflows/build-package.yaml b/.github/workflows/build-package.yaml index 38751caa..29c12522 100644 --- a/.github/workflows/build-package.yaml +++ b/.github/workflows/build-package.yaml @@ -47,9 +47,20 @@ jobs: ;; esac + # Only get the changes that can be built + # Check if the diff contains the word "Scripts" to ensure we only build packages that have changed + # Wrap the grep inside an if-statement to avoid exiting script upon non-zero exitcode. DIFF=$(git diff ${{ github.event.pull_request.base.sha }}...${{ github.event.pull_request.head.sha }} --no-ext-diff --unified=0 \ - --exit-code -a --no-prefix -- $FILE | egrep "^\+" | grep Scripts) # Get oly the changes that can be built - + --exit-code -a --no-prefix -- $FILE | egrep "^\+") + + if echo "$DIFF" | grep Scripts; then + DIFF=$(echo "$DIFF" | grep Scripts) + else + echo "Did not find Scripts changes in file: $FILE. Skipping." + continue + fi + + PACKAGE=$(echo $DIFF | cut -d'"' -f2) PACKPATH=$(echo $DIFF | egrep -o "package-system/[^ ]*") DOCKER=$(test -f "$PACKPATH/Dockerfile" && echo 1 || echo 0) diff --git a/test.sh b/test.sh new file mode 100644 index 00000000..21daaa1d --- /dev/null +++ b/test.sh @@ -0,0 +1,44 @@ +#!/bin/sh +CHANGED_FILES=$(git diff 7901137c1edf74d3f8c7c9fe1081e87cf29a4af2...30cfbab1672419d9f9d8dc123a5da07eb11eb0e9 --name-only) +# Construct the package and os into a json string to be consumed by Github Actions runners +JSON="{\"include\":[" +for FILE in $CHANGED_FILES; do + if [[ $FILE == package_build_list_host_* ]]; then + PLATFORM=$(echo $FILE | sed -n 's/package_build_list_host_\(.*\).json/\1/p') + case $PLATFORM in + linux*) + OS_RUNNER="ubuntu-20.04" + ;; + windows) + OS_RUNNER="windows-latest" # This is bundled with VS2022 + ;; + darwin) + OS_RUNNER="macos-latest" + ;; + *) + OS_RUNNER="windows-latest" # default + ;; + esac + + echo " File: $FILE" + DIFF=$(git diff 7901137c1edf74d3f8c7c9fe1081e87cf29a4af2...30cfbab1672419d9f9d8dc123a5da07eb11eb0e9 --no-ext-diff --unified=0 \ + --exit-code -a --no-prefix -- $FILE | egrep "^\+" | grep Scripts) # Get only the changes that can be built + + echo " Diff: $DIFF" + PACKAGE=$(echo $DIFF | cut -d'"' -f2) + PACKPATH=$(echo $DIFF | egrep -o "package-system/[^ ]*") + DOCKER=$(test -f "$PACKPATH/Dockerfile" && echo 1 || echo 0) + JSONline="{\"package\": \"$PACKAGE\", \"os\": \"$OS_RUNNER\", \"dockerfile\": \"$DOCKER\"}," + if [[ "$JSON" != *"$JSONline"* ]]; then + JSON="$JSON$JSONline" + fi + fi +done + +# Remove last "," and add closing brackets +if [[ $JSON == *, ]]; then + JSON="${JSON%?}" +fi +JSON="$JSON]}" + +echo "Json: $JSON" From 46027fe5362a27c5ceb357d4d882a6abf2de29c6 Mon Sep 17 00:00:00 2001 From: Gene Walters Date: Fri, 8 Dec 2023 14:31:39 -0800 Subject: [PATCH 10/22] remove rogue test script Signed-off-by: Gene Walters --- test.sh | 44 -------------------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 test.sh diff --git a/test.sh b/test.sh deleted file mode 100644 index 21daaa1d..00000000 --- a/test.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh -CHANGED_FILES=$(git diff 7901137c1edf74d3f8c7c9fe1081e87cf29a4af2...30cfbab1672419d9f9d8dc123a5da07eb11eb0e9 --name-only) -# Construct the package and os into a json string to be consumed by Github Actions runners -JSON="{\"include\":[" -for FILE in $CHANGED_FILES; do - if [[ $FILE == package_build_list_host_* ]]; then - PLATFORM=$(echo $FILE | sed -n 's/package_build_list_host_\(.*\).json/\1/p') - case $PLATFORM in - linux*) - OS_RUNNER="ubuntu-20.04" - ;; - windows) - OS_RUNNER="windows-latest" # This is bundled with VS2022 - ;; - darwin) - OS_RUNNER="macos-latest" - ;; - *) - OS_RUNNER="windows-latest" # default - ;; - esac - - echo " File: $FILE" - DIFF=$(git diff 7901137c1edf74d3f8c7c9fe1081e87cf29a4af2...30cfbab1672419d9f9d8dc123a5da07eb11eb0e9 --no-ext-diff --unified=0 \ - --exit-code -a --no-prefix -- $FILE | egrep "^\+" | grep Scripts) # Get only the changes that can be built - - echo " Diff: $DIFF" - PACKAGE=$(echo $DIFF | cut -d'"' -f2) - PACKPATH=$(echo $DIFF | egrep -o "package-system/[^ ]*") - DOCKER=$(test -f "$PACKPATH/Dockerfile" && echo 1 || echo 0) - JSONline="{\"package\": \"$PACKAGE\", \"os\": \"$OS_RUNNER\", \"dockerfile\": \"$DOCKER\"}," - if [[ "$JSON" != *"$JSONline"* ]]; then - JSON="$JSON$JSONline" - fi - fi -done - -# Remove last "," and add closing brackets -if [[ $JSON == *, ]]; then - JSON="${JSON%?}" -fi -JSON="$JSON]}" - -echo "Json: $JSON" From 3e70b03f36475557b2165bd7f013faff32fcca4f Mon Sep 17 00:00:00 2001 From: Gene Walters Date: Fri, 8 Dec 2023 15:31:33 -0800 Subject: [PATCH 11/22] Removing AWSGameLiftServerSDK-5.1.1 ARM from Linux x86 build from source list. Building ARM on x86 is supported, but only if Docker+QEMU is setup. The QEMU step is currently being skipped Signed-off-by: Gene Walters --- package_build_list_host_linux.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package_build_list_host_linux.json b/package_build_list_host_linux.json index 538f9128..bac99c31 100644 --- a/package_build_list_host_linux.json +++ b/package_build_list_host_linux.json @@ -5,7 +5,6 @@ "comment4" : "Note: Build from source occurs before build_from_folder", "build_from_source": { "assimp-5.2.5-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/assimp --platform-name Linux --package-root ../../package-system --clean", - "AWSGameLiftServerSDK-5.1.1-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux-aarch64 --clean", "AWSGameLiftServerSDK-5.1.1-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux --clean", "AWSNativeSDK-1.11.144-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux --clean", "AWSNativeSDK-1.11.144-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux-aarch64 --clean", From c9333f9ab5997439436bbf0627797a496c153c71 Mon Sep 17 00:00:00 2001 From: Gene Walters <32776221+AMZN-Gene@users.noreply.github.com> Date: Fri, 8 Dec 2023 15:40:49 -0800 Subject: [PATCH 12/22] Update package_build_list_host_linux.json Co-authored-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com> Signed-off-by: Gene Walters <32776221+AMZN-Gene@users.noreply.github.com> --- package_build_list_host_linux.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package_build_list_host_linux.json b/package_build_list_host_linux.json index bac99c31..5392ebc6 100644 --- a/package_build_list_host_linux.json +++ b/package_build_list_host_linux.json @@ -52,7 +52,6 @@ "build_from_folder": { "assimp-5.2.5-rev1-linux": "package-system/assimp-linux", "AWSGameLiftServerSDK-5.1.1-rev1-linux": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux", - "AWSGameLiftServerSDK-5.1.1-rev1-linux-aarch64": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux-aarch64", "AWSNativeSDK-1.11.144-rev1-linux": "package-system/AWSNativeSDK/temp/AWSNativeSDK-linux", "AWSNativeSDK-1.11.144-rev1-linux-aarch64": "package-system/AWSNativeSDK/temp/AWSNativeSDK-linux-aarch64", "cityhash-1.1-rev1-linux": "package-system/cityhash/temp/cityhash-linux", From 181ae861001ad790a4cd6bccb92d87b8ca8e3c80 Mon Sep 17 00:00:00 2001 From: AMZN-Gene Date: Mon, 11 Dec 2023 16:56:35 -0800 Subject: [PATCH 13/22] Adding cmake find_package(Threads) to (hopefully) bring in pthreads Signed-off-by: AMZN-Gene --- package-system/AWSGameLiftServerSDK/test/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt b/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt index 34e63406..8a7ea5c6 100644 --- a/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt +++ b/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt @@ -40,6 +40,7 @@ endfunction() PROJECT(test_AWSGameLift VERSION 1.0 LANGUAGES CXX) +find_package(Threads REQUIRED) find_package(OpenSSL) find_package(AWSGameLiftServerSDK) From f76ec730930b8a9d2c82520b0c7132f9d553f1ff Mon Sep 17 00:00:00 2001 From: AMZN-Gene Date: Thu, 14 Dec 2023 16:51:49 -0800 Subject: [PATCH 14/22] WiP. cmake stores a CMAKE_THREAD_LIBS_INIT variable for which thread library to use. I think this might be required higher up, in the GameLiftSDK, and not in the test, but the test is failing here (starting small) Signed-off-by: AMZN-Gene --- package-system/AWSGameLiftServerSDK/test/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt b/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt index 8a7ea5c6..ffbe994f 100644 --- a/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt +++ b/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt @@ -41,6 +41,10 @@ endfunction() PROJECT(test_AWSGameLift VERSION 1.0 LANGUAGES CXX) find_package(Threads REQUIRED) +if (CMAKE_USE_PTHREADS_INIT) + target_link_libraries(test_AWSGameLift INTERFACE ${CMAKE_THREAD_LIBS_INIT}) +endif () + find_package(OpenSSL) find_package(AWSGameLiftServerSDK) From 2cebd13fff7338da9738a1ff2529fe13daccc5e3 Mon Sep 17 00:00:00 2001 From: AMZN-Gene Date: Thu, 14 Dec 2023 17:05:39 -0800 Subject: [PATCH 15/22] Target lib after the exe is defined Signed-off-by: AMZN-Gene --- .../AWSGameLiftServerSDK/test/CMakeLists.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt b/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt index ffbe994f..2d321794 100644 --- a/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt +++ b/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt @@ -40,14 +40,14 @@ endfunction() PROJECT(test_AWSGameLift VERSION 1.0 LANGUAGES CXX) -find_package(Threads REQUIRED) -if (CMAKE_USE_PTHREADS_INIT) - target_link_libraries(test_AWSGameLift INTERFACE ${CMAKE_THREAD_LIBS_INIT}) -endif () - find_package(OpenSSL) find_package(AWSGameLiftServerSDK) add_executable(test_AWSGameLift test_AWSGameLiftServer.cpp) +find_package(Threads REQUIRED) +if (CMAKE_USE_PTHREADS_INIT) + target_link_libraries(test_AWSGameLift INTERFACE ${CMAKE_THREAD_LIBS_INIT}) +endif () + target_link_libraries(test_AWSGameLift PRIVATE 3rdParty::OpenSSL 3rdParty::AWSGameLiftServerSDK) From aa2d5f1647c29751e2472fff0c59a72f07ca52f3 Mon Sep 17 00:00:00 2001 From: Gene Walters Date: Fri, 15 Dec 2023 16:46:17 -0800 Subject: [PATCH 16/22] Still not seeing pthreads making it into the compiler commandline. Adding explicit threads flag and printing a warning Signed-off-by: Gene Walters --- package-system/AWSGameLiftServerSDK/test/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt b/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt index 2d321794..a1fac110 100644 --- a/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt +++ b/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt @@ -45,9 +45,13 @@ find_package(AWSGameLiftServerSDK) add_executable(test_AWSGameLift test_AWSGameLiftServer.cpp) +set(CMAKE_THREAD_PREFER_PTHREAD TRUE) +set(THREADS_PREFER_PTHREAD_FLAG TRUE) find_package(Threads REQUIRED) if (CMAKE_USE_PTHREADS_INIT) target_link_libraries(test_AWSGameLift INTERFACE ${CMAKE_THREAD_LIBS_INIT}) +else() + message(WARNING "CMAKE_USE_PTHREADS_INIT is undefined!") endif () target_link_libraries(test_AWSGameLift PRIVATE 3rdParty::OpenSSL 3rdParty::AWSGameLiftServerSDK) From 045da6c319ddb7105be1d9a5935f0d1087c21fdb Mon Sep 17 00:00:00 2001 From: Gene Walters Date: Fri, 15 Dec 2023 17:11:45 -0800 Subject: [PATCH 17/22] Still not seeing pthreads making it into the compiler commandline... explicit add Threads::Threads Signed-off-by: Gene Walters --- .../AWSGameLiftServerSDK/test/CMakeLists.txt | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt b/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt index a1fac110..05696c32 100644 --- a/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt +++ b/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt @@ -40,18 +40,22 @@ endfunction() PROJECT(test_AWSGameLift VERSION 1.0 LANGUAGES CXX) -find_package(OpenSSL) -find_package(AWSGameLiftServerSDK) - -add_executable(test_AWSGameLift test_AWSGameLiftServer.cpp) - set(CMAKE_THREAD_PREFER_PTHREAD TRUE) set(THREADS_PREFER_PTHREAD_FLAG TRUE) find_package(Threads REQUIRED) if (CMAKE_USE_PTHREADS_INIT) - target_link_libraries(test_AWSGameLift INTERFACE ${CMAKE_THREAD_LIBS_INIT}) + message(WARNING "${CMAKE_THREAD_LIBS_INIT} is defined") else() - message(WARNING "CMAKE_USE_PTHREADS_INIT is undefined!") + message(WARNING "CMAKE_USE_PTHREADS_INIT is false!") endif () +find_package(OpenSSL) +find_package(AWSGameLiftServerSDK) + + +add_executable(test_AWSGameLift test_AWSGameLiftServer.cpp) + +target_link_libraries(test_AWSGameLift Threads::Threads) + + target_link_libraries(test_AWSGameLift PRIVATE 3rdParty::OpenSSL 3rdParty::AWSGameLiftServerSDK) From ac3fa54aacb7dcae10b520148f9913b6d808a049 Mon Sep 17 00:00:00 2001 From: Gene Walters Date: Fri, 15 Dec 2023 17:39:18 -0800 Subject: [PATCH 18/22] oops, forgot the dep type Signed-off-by: Gene Walters --- package-system/AWSGameLiftServerSDK/test/CMakeLists.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt b/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt index 05696c32..48c669ed 100644 --- a/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt +++ b/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt @@ -55,7 +55,5 @@ find_package(AWSGameLiftServerSDK) add_executable(test_AWSGameLift test_AWSGameLiftServer.cpp) -target_link_libraries(test_AWSGameLift Threads::Threads) - -target_link_libraries(test_AWSGameLift PRIVATE 3rdParty::OpenSSL 3rdParty::AWSGameLiftServerSDK) +target_link_libraries(test_AWSGameLift PRIVATE Threads::Threads 3rdParty::OpenSSL 3rdParty::AWSGameLiftServerSDK) From bf1f0c7582ac534ece6666f5db446281116bcf5c Mon Sep 17 00:00:00 2001 From: Gene Walters Date: Mon, 18 Dec 2023 12:01:20 -0800 Subject: [PATCH 19/22] Pulling in -pThread commandline arg so anyone using 3rdParty::AWSGameLiftServerSDK will pull in -pThread Signed-off-by: Gene Walters --- .../FindAWSGameLiftServerSDK.cmake.Linux | 6 ++++++ .../AWSGameLiftServerSDK/test/CMakeLists.txt | 11 +---------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/package-system/AWSGameLiftServerSDK/FindAWSGameLiftServerSDK.cmake.Linux b/package-system/AWSGameLiftServerSDK/FindAWSGameLiftServerSDK.cmake.Linux index e544d192..0d4e747d 100644 --- a/package-system/AWSGameLiftServerSDK/FindAWSGameLiftServerSDK.cmake.Linux +++ b/package-system/AWSGameLiftServerSDK/FindAWSGameLiftServerSDK.cmake.Linux @@ -48,6 +48,12 @@ ly_target_include_system_directories(TARGET ${TARGET_WITH_NAMESPACE} INTERFACE $ if (LY_MONOLITHIC_GAME) target_link_libraries(${TARGET_WITH_NAMESPACE} INTERFACE ${AWSGAMELIFTSERVERSDK_LIBS}) else() + # Modules using aws-cpp-sdk-gamelift-server functionality will needs pThreads to link. + set(CMAKE_THREAD_PREFER_PTHREAD TRUE) + set(THREADS_PREFER_PTHREAD_FLAG TRUE) + find_package(Threads REQUIRED) + target_link_libraries(test_AWSGameLift PRIVATE Threads::Threads) + target_link_libraries(${TARGET_WITH_NAMESPACE} INTERFACE ${AWSGAMELIFTSERVERSDK_LIBS}) ly_add_dependencies(${TARGET_WITH_NAMESPACE} ${AWSGAMELIFTSERVERSDK_LIBS}) endif() diff --git a/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt b/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt index 48c669ed..9fea583d 100644 --- a/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt +++ b/package-system/AWSGameLiftServerSDK/test/CMakeLists.txt @@ -40,15 +40,6 @@ endfunction() PROJECT(test_AWSGameLift VERSION 1.0 LANGUAGES CXX) -set(CMAKE_THREAD_PREFER_PTHREAD TRUE) -set(THREADS_PREFER_PTHREAD_FLAG TRUE) -find_package(Threads REQUIRED) -if (CMAKE_USE_PTHREADS_INIT) - message(WARNING "${CMAKE_THREAD_LIBS_INIT} is defined") -else() - message(WARNING "CMAKE_USE_PTHREADS_INIT is false!") -endif () - find_package(OpenSSL) find_package(AWSGameLiftServerSDK) @@ -56,4 +47,4 @@ find_package(AWSGameLiftServerSDK) add_executable(test_AWSGameLift test_AWSGameLiftServer.cpp) -target_link_libraries(test_AWSGameLift PRIVATE Threads::Threads 3rdParty::OpenSSL 3rdParty::AWSGameLiftServerSDK) +target_link_libraries(test_AWSGameLift PRIVATE 3rdParty::OpenSSL 3rdParty::AWSGameLiftServerSDK) From b66c5141f3fb3a7dcc06b7818cc25479e5c6276b Mon Sep 17 00:00:00 2001 From: Gene Walters Date: Mon, 18 Dec 2023 12:48:39 -0800 Subject: [PATCH 20/22] Fixed wrong target Signed-off-by: Gene Walters --- .../AWSGameLiftServerSDK/FindAWSGameLiftServerSDK.cmake.Linux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-system/AWSGameLiftServerSDK/FindAWSGameLiftServerSDK.cmake.Linux b/package-system/AWSGameLiftServerSDK/FindAWSGameLiftServerSDK.cmake.Linux index 0d4e747d..c060209c 100644 --- a/package-system/AWSGameLiftServerSDK/FindAWSGameLiftServerSDK.cmake.Linux +++ b/package-system/AWSGameLiftServerSDK/FindAWSGameLiftServerSDK.cmake.Linux @@ -52,7 +52,7 @@ else() set(CMAKE_THREAD_PREFER_PTHREAD TRUE) set(THREADS_PREFER_PTHREAD_FLAG TRUE) find_package(Threads REQUIRED) - target_link_libraries(test_AWSGameLift PRIVATE Threads::Threads) + target_link_libraries(${TARGET_WITH_NAMESPACE} PRIVATE Threads::Threads) target_link_libraries(${TARGET_WITH_NAMESPACE} INTERFACE ${AWSGAMELIFTSERVERSDK_LIBS}) ly_add_dependencies(${TARGET_WITH_NAMESPACE} ${AWSGAMELIFTSERVERSDK_LIBS}) From 1bc3e24d22ef01f59256a5f46042c0e5705e67b2 Mon Sep 17 00:00:00 2001 From: Gene Walters Date: Mon, 18 Dec 2023 13:05:21 -0800 Subject: [PATCH 21/22] Dont duplicate target Signed-off-by: Gene Walters --- .../AWSGameLiftServerSDK/FindAWSGameLiftServerSDK.cmake.Linux | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package-system/AWSGameLiftServerSDK/FindAWSGameLiftServerSDK.cmake.Linux b/package-system/AWSGameLiftServerSDK/FindAWSGameLiftServerSDK.cmake.Linux index c060209c..00a66dae 100644 --- a/package-system/AWSGameLiftServerSDK/FindAWSGameLiftServerSDK.cmake.Linux +++ b/package-system/AWSGameLiftServerSDK/FindAWSGameLiftServerSDK.cmake.Linux @@ -52,9 +52,8 @@ else() set(CMAKE_THREAD_PREFER_PTHREAD TRUE) set(THREADS_PREFER_PTHREAD_FLAG TRUE) find_package(Threads REQUIRED) - target_link_libraries(${TARGET_WITH_NAMESPACE} PRIVATE Threads::Threads) - target_link_libraries(${TARGET_WITH_NAMESPACE} INTERFACE ${AWSGAMELIFTSERVERSDK_LIBS}) + target_link_libraries(${TARGET_WITH_NAMESPACE} INTERFACE Threads::Threads ${AWSGAMELIFTSERVERSDK_LIBS}) ly_add_dependencies(${TARGET_WITH_NAMESPACE} ${AWSGAMELIFTSERVERSDK_LIBS}) endif() From 2a8cd40ac10ff3756209ba8c314029ee9974a67b Mon Sep 17 00:00:00 2001 From: Gene Walters Date: Mon, 18 Dec 2023 16:07:41 -0800 Subject: [PATCH 22/22] github workflows doesn't have native linux-arm. allow building aarch on linux x86 Signed-off-by: Gene Walters --- package_build_list_host_linux.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package_build_list_host_linux.json b/package_build_list_host_linux.json index 5392ebc6..9c6403d0 100644 --- a/package_build_list_host_linux.json +++ b/package_build_list_host_linux.json @@ -6,6 +6,7 @@ "build_from_source": { "assimp-5.2.5-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/assimp --platform-name Linux --package-root ../../package-system --clean", "AWSGameLiftServerSDK-5.1.1-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux --clean", + "AWSGameLiftServerSDK-5.1.1-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux-aarch64 --clean", "AWSNativeSDK-1.11.144-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux --clean", "AWSNativeSDK-1.11.144-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux-aarch64 --clean", "cityhash-1.1-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/cityhash --platform-name Linux --clean", @@ -52,6 +53,7 @@ "build_from_folder": { "assimp-5.2.5-rev1-linux": "package-system/assimp-linux", "AWSGameLiftServerSDK-5.1.1-rev1-linux": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux", + "AWSGameLiftServerSDK-5.1.1-rev1-linux-aarch64": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux-aarch64", "AWSNativeSDK-1.11.144-rev1-linux": "package-system/AWSNativeSDK/temp/AWSNativeSDK-linux", "AWSNativeSDK-1.11.144-rev1-linux-aarch64": "package-system/AWSNativeSDK/temp/AWSNativeSDK-linux-aarch64", "cityhash-1.1-rev1-linux": "package-system/cityhash/temp/cityhash-linux",