Merged main in

This commit is contained in:
Aristo7
2021-04-21 15:34:29 -04:00
490 changed files with 28443 additions and 7835 deletions
-4
View File
@@ -116,10 +116,6 @@ function(ly_add_external_target)
# Setting BASE_PATH variable in the parent scope to allow for the Find<3rdParty>.cmake scripts to use them
set(BASE_PATH ${BASE_PATH} PARENT_SCOPE)
if(NOT EXISTS ${BASE_PATH})
message(FATAL_ERROR "Cannot find 3rdParty library ${ly_add_external_target_NAME} on path ${BASE_PATH}")
endif()
add_library(3rdParty::${NAME_WITH_NAMESPACE} INTERFACE IMPORTED GLOBAL)
if(ly_add_external_target_INCLUDE_DIRECTORIES)
-20
View File
@@ -1,20 +0,0 @@
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
ly_add_external_target(
NAME AWSGameLiftServerSDK
VERSION 3.4.0
3RDPARTY_DIRECTORY AWS/GameLift
INCLUDE_DIRECTORIES include
COMPILE_DEFINITIONS
AWS_CUSTOM_MEMORY_MANAGEMENT
PLATFORM_SUPPORTS_AWS_NATIVE_SDK
GAMELIFT_USE_STD
)
@@ -9,8 +9,11 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
find_package(OpenGL)
ly_add_external_target(
NAME civetweb
VERSION civetweb-20160922-az.2
INCLUDE_DIRECTORIES include
)
NAME OpenGLInterface
VERSION ""
BUILD_DEPENDENCIES
OpenGL::GL
)
-10
View File
@@ -1,10 +0,0 @@
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
@@ -11,7 +11,6 @@
set(FILES
BuiltInPackages_android.cmake
civetweb_android.cmake
VkValidation_android.cmake
Wwise_android.cmake
)
@@ -1,21 +0,0 @@
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
# TODO AWSGameLiftServerSDK Linux shared libs are not compiled.
set(AWSGAMELIFTSERVERSDK_LIB_PATH ${BASE_PATH}/lib/linux/libstdcxx/intel64/clang-6.0.0/$<IF:$<CONFIG:Debug>,Debug,Release>)
set(AWSGAMELIFTSERVERSDK_LIBS ${AWSGAMELIFTSERVERSDK_LIB_PATH}/libaws-cpp-sdk-gamelift-server.a
${AWSGAMELIFTSERVERSDK_LIB_PATH}/libsioclient.a
${AWSGAMELIFTSERVERSDK_LIB_PATH}/libboost_date_time.a
${AWSGAMELIFTSERVERSDK_LIB_PATH}/libboost_random.a
${AWSGAMELIFTSERVERSDK_LIB_PATH}/libboost_system.a
${AWSGAMELIFTSERVERSDK_LIB_PATH}/libprotobuf.a
)
+2 -3
View File
@@ -15,7 +15,7 @@ ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev3-multiplatform TARG
ly_associate_package(PACKAGE_NAME ilmbase-2.3.0-rev4-multiplatform TARGETS ilmbase PACKAGE_HASH 97547fdf1fbc4d81b8ccf382261f8c25514ed3b3c4f8fd493f0a4fa873bba348)
ly_associate_package(PACKAGE_NAME hdf5-1.0.11-rev2-multiplatform TARGETS hdf5 PACKAGE_HASH 11d5e04df8a93f8c52a5684a4cacbf0d9003056360983ce34f8d7b601082c6bd)
ly_associate_package(PACKAGE_NAME alembic-1.7.11-rev3-multiplatform TARGETS alembic PACKAGE_HASH ba7a7d4943dd752f5a662374f6c48b93493df1d8e2c5f6a8d101f3b50700dd25)
ly_associate_package(PACKAGE_NAME assimp-5.0.1-rev6-multiplatform TARGETS assimplib PACKAGE_HASH 47f1a6d05d101def036c030484c4a6e19d745aacd57037174715c7afe2b19b4c)
ly_associate_package(PACKAGE_NAME assimp-5.0.1-rev7-multiplatform TARGETS assimplib PACKAGE_HASH def855c89d8210db3040f1cb6ec837141ab9b8e74c158eae7c03d50160fcf30b)
ly_associate_package(PACKAGE_NAME squish-ccr-20150601-rev3-multiplatform TARGETS squish-ccr PACKAGE_HASH c878c6c0c705e78403c397d03f5aa7bc87e5978298710e14d09c9daf951a83b3)
ly_associate_package(PACKAGE_NAME ASTCEncoder-2017_11_14-rev2-multiplatform TARGETS ASTCEncoder PACKAGE_HASH c240ffc12083ee39a5ce9dc241de44d116e513e1e3e4cc1d05305e7aa3bdc326)
ly_associate_package(PACKAGE_NAME md5-2.0-multiplatform TARGETS md5 PACKAGE_HASH 29e52ad22c78051551f78a40c2709594f0378762ae03b417adca3f4b700affdf)
@@ -31,10 +31,9 @@ ly_associate_package(PACKAGE_NAME glad-2.0.0-beta-rev2-multiplatform TARG
ly_associate_package(PACKAGE_NAME lux_core-2.2-rev5-multiplatform TARGETS lux_core PACKAGE_HASH c8c13cf7bc351643e1abd294d0841b24dee60e51647dff13db7aec396ad1e0b5)
ly_associate_package(PACKAGE_NAME xxhash-0.7.4-rev1-multiplatform TARGETS xxhash PACKAGE_HASH e81f3e6c4065975833996dd1fcffe46c3cf0f9e3a4207ec5f4a1b564ba75861e)
ly_associate_package(PACKAGE_NAME PVRTexTool-4.24.0-rev4-multiplatform TARGETS PVRTexTool PACKAGE_HASH d0d6da61c7557de0d2c71fc35ba56c3be49555b703f0e853d4c58225537acf1e)
ly_associate_package(PACKAGE_NAME poly2tri-0.3.3-rev2-multiplatform TARGETS poly2tri PACKAGE_HASH 04092d06716f59b936b61906eaf3647db23b685d81d8b66131eb53e0aeaa1a38)
ly_associate_package(PACKAGE_NAME v-hacd-2.0-rev1-multiplatform TARGETS v-hacd PACKAGE_HASH 5c71aef19cc9787d018d64eec076e9f51ea5a3e0dc6b6e22e57c898f6cc4afe3)
# platform-specific:
ly_associate_package(PACKAGE_NAME AWSGameLiftServerSDK-3.4.1-rev1-linux TARGETS AWSGameLiftServerSDK PACKAGE_HASH a8149a95bd100384af6ade97e2b21a56173740d921e6c3da8188cd51554d39af)
ly_associate_package(PACKAGE_NAME freetype-2.10.4.14-linux TARGETS freetype PACKAGE_HASH 9ad246873067717962c6b780d28a5ce3cef3321b73c9aea746a039c798f52e93)
ly_associate_package(PACKAGE_NAME tiff-4.2.0.15-linux TARGETS tiff PACKAGE_HASH ae92b4d3b189c42ef644abc5cac865d1fb2eb7cb5622ec17e35642b00d1a0a76)
ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.7.167-rev3-linux TARGETS AWSNativeSDK PACKAGE_HASH e69c55682638dc1e7fa571a61a82c8a69d395c74a008543a5188f4bd2b6b10c4)
-43
View File
@@ -1,43 +0,0 @@
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
set(CLANG_PLATFORM_LIB_PATH ${BASE_PATH}/linux_x64/release/lib)
set(CLANG_INCLUDE_DIRECTORIES
llvm/include
linux_x64/release/include
)
set(CLANG_LIBS
${CLANG_PLATFORM_LIB_PATH}/libclangFrontend.a
${CLANG_PLATFORM_LIB_PATH}/libclangSerialization.a
${CLANG_PLATFORM_LIB_PATH}/libclangDriver.a
${CLANG_PLATFORM_LIB_PATH}/libclangTooling.a
${CLANG_PLATFORM_LIB_PATH}/libclangParse.a
${CLANG_PLATFORM_LIB_PATH}/libclangSema.a
${CLANG_PLATFORM_LIB_PATH}/libclangAnalysis.a
${CLANG_PLATFORM_LIB_PATH}/libclangRewriteFrontend.a
${CLANG_PLATFORM_LIB_PATH}/libclangRewrite.a
${CLANG_PLATFORM_LIB_PATH}/libclangEdit.a
${CLANG_PLATFORM_LIB_PATH}/libclangAST.a
${CLANG_PLATFORM_LIB_PATH}/libclangLex.a
${CLANG_PLATFORM_LIB_PATH}/libclangBasic.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMCore.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMBinaryFormat.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMDebugInfoDWARF.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMMC.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMOption.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMBitReader.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMMCParser.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMProfileData.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMTarget.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMSupport.a
)
-3
View File
@@ -10,10 +10,7 @@
#
set(FILES
AWSGameLiftServerSDK_linux.cmake
BuiltInPackages_linux.cmake
civetweb_linux.cmake
Clang_linux.cmake
dyad_linux.cmake
FbxSdk_linux.cmake
OpenSSL_linux.cmake
+1 -3
View File
@@ -15,7 +15,7 @@ ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev3-multiplatform
ly_associate_package(PACKAGE_NAME ilmbase-2.3.0-rev4-multiplatform TARGETS ilmbase PACKAGE_HASH 97547fdf1fbc4d81b8ccf382261f8c25514ed3b3c4f8fd493f0a4fa873bba348)
ly_associate_package(PACKAGE_NAME hdf5-1.0.11-rev2-multiplatform TARGETS hdf5 PACKAGE_HASH 11d5e04df8a93f8c52a5684a4cacbf0d9003056360983ce34f8d7b601082c6bd)
ly_associate_package(PACKAGE_NAME alembic-1.7.11-rev3-multiplatform TARGETS alembic PACKAGE_HASH ba7a7d4943dd752f5a662374f6c48b93493df1d8e2c5f6a8d101f3b50700dd25)
ly_associate_package(PACKAGE_NAME assimp-5.0.1-rev6-multiplatform TARGETS assimplib PACKAGE_HASH 47f1a6d05d101def036c030484c4a6e19d745aacd57037174715c7afe2b19b4c)
ly_associate_package(PACKAGE_NAME assimp-5.0.1-rev7-multiplatform TARGETS assimplib PACKAGE_HASH def855c89d8210db3040f1cb6ec837141ab9b8e74c158eae7c03d50160fcf30b)
ly_associate_package(PACKAGE_NAME squish-ccr-20150601-rev3-multiplatform TARGETS squish-ccr PACKAGE_HASH c878c6c0c705e78403c397d03f5aa7bc87e5978298710e14d09c9daf951a83b3)
ly_associate_package(PACKAGE_NAME ASTCEncoder-2017_11_14-rev2-multiplatform TARGETS ASTCEncoder PACKAGE_HASH c240ffc12083ee39a5ce9dc241de44d116e513e1e3e4cc1d05305e7aa3bdc326)
ly_associate_package(PACKAGE_NAME md5-2.0-multiplatform TARGETS md5 PACKAGE_HASH 29e52ad22c78051551f78a40c2709594f0378762ae03b417adca3f4b700affdf)
@@ -36,8 +36,6 @@ ly_associate_package(PACKAGE_NAME glad-2.0.0-beta-rev2-multiplatform
ly_associate_package(PACKAGE_NAME lux_core-2.2-rev5-multiplatform TARGETS lux_core PACKAGE_HASH c8c13cf7bc351643e1abd294d0841b24dee60e51647dff13db7aec396ad1e0b5)
ly_associate_package(PACKAGE_NAME xxhash-0.7.4-rev1-multiplatform TARGETS xxhash PACKAGE_HASH e81f3e6c4065975833996dd1fcffe46c3cf0f9e3a4207ec5f4a1b564ba75861e)
ly_associate_package(PACKAGE_NAME PVRTexTool-4.24.0-rev4-multiplatform TARGETS PVRTexTool PACKAGE_HASH d0d6da61c7557de0d2c71fc35ba56c3be49555b703f0e853d4c58225537acf1e)
ly_associate_package(PACKAGE_NAME poly2tri-0.3.3-rev2-multiplatform TARGETS poly2tri PACKAGE_HASH 04092d06716f59b936b61906eaf3647db23b685d81d8b66131eb53e0aeaa1a38)
ly_associate_package(PACKAGE_NAME v-hacd-2.0-rev1-multiplatform TARGETS v-hacd PACKAGE_HASH 5c71aef19cc9787d018d64eec076e9f51ea5a3e0dc6b6e22e57c898f6cc4afe3)
# platform-specific:
ly_associate_package(PACKAGE_NAME freetype-2.10.4.14-mac-ios TARGETS freetype PACKAGE_HASH 67b4f57aed92082d3fd7c16aa244a7d908d90122c296b0a63f73e0a0b8761977)
-49
View File
@@ -1,49 +0,0 @@
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
set(CLANG_PLATFORM_LIB_PATH ${BASE_PATH}/xcode/$<IF:$<CONFIG:Debug>,debug,release>/lib)
set(CLANG_INCLUDE_DIRECTORIES
llvm/include
xcode/$<IF:$<CONFIG:Debug>,debug,release>/include
)
set(CLANG_LIBS
${CLANG_PLATFORM_LIB_PATH}/libclangFrontend.a
${CLANG_PLATFORM_LIB_PATH}/libclangSerialization.a
${CLANG_PLATFORM_LIB_PATH}/libclangDriver.a
${CLANG_PLATFORM_LIB_PATH}/libclangTooling.a
${CLANG_PLATFORM_LIB_PATH}/libclangParse.a
${CLANG_PLATFORM_LIB_PATH}/libclangSema.a
${CLANG_PLATFORM_LIB_PATH}/libclangAnalysis.a
${CLANG_PLATFORM_LIB_PATH}/libclangRewriteFrontend.a
${CLANG_PLATFORM_LIB_PATH}/libclangRewrite.a
${CLANG_PLATFORM_LIB_PATH}/libclangEdit.a
${CLANG_PLATFORM_LIB_PATH}/libclangAST.a
${CLANG_PLATFORM_LIB_PATH}/libclangASTMatchers.a
${CLANG_PLATFORM_LIB_PATH}/libclangLex.a
${CLANG_PLATFORM_LIB_PATH}/libclangBasic.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMCore.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMBinaryFormat.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMDebugInfoDWARF.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMMC.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMOption.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMBitReader.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMMCParser.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMProfileData.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMTarget.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMSupport.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMDemangle.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMSupport.a
${CLANG_PLATFORM_LIB_PATH}/libLLVMCore.a
)
@@ -9,5 +9,5 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
set(CIVETWEB_LIBS ${BASE_PATH}/lib/Windows/$<IF:$<CONFIG:Debug>,debug,release>/civetweb.lib)
# MacOS 10.14 deprecates OpenGL. This silences the warnings for now.
set(OPENGLINTERFACE_COMPILE_DEFINITIONS GL_SILENCE_DEPRECATION)
-10
View File
@@ -1,10 +0,0 @@
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
+1 -2
View File
@@ -11,9 +11,8 @@
set(FILES
BuiltInPackages_mac.cmake
civetweb_mac.cmake
Clang_mac.cmake
FbxSdk_mac.cmake
OpenGLInterface_mac.cmake
OpenSSL_mac.cmake
Wwise_mac.cmake
)
@@ -1,47 +0,0 @@
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
if (LY_MONOLITHIC_GAME)
# Import Libs
set(AWSGAMELIFTSERVERSDK_LIB_PATH ${BASE_PATH}/lib/windows/intel64/vs2017/$<IF:$<CONFIG:Debug>,Debug,Release>)
else()
# Static Libs
set(AWSGAMELIFTSERVERSDK_LIB_PATH ${BASE_PATH}/bin/windows/intel64/vs2017/$<IF:$<CONFIG:Debug>,Debug,Release>)
endif()
set(AWSGAMELIFTSERVERSDK_LIBS
${AWSGAMELIFTSERVERSDK_LIB_PATH}/sioclient.lib
${AWSGAMELIFTSERVERSDK_LIB_PATH}/libboost_date_time.lib
${AWSGAMELIFTSERVERSDK_LIB_PATH}/libboost_random.lib
${AWSGAMELIFTSERVERSDK_LIB_PATH}/libboost_system.lib
${AWSGAMELIFTSERVERSDK_LIB_PATH}/libprotobuf$<$<CONFIG:Debug>:d>.lib
)
set(AWSGAMELIFTSERVERSDK_COMPILE_DEFINITIONS
USE_IMPORT_EXPORT
AWS_CUSTOM_MEMORY_MANAGEMENT
PLATFORM_SUPPORTS_AWS_NATIVE_SDK
GAMELIFT_USE_STD
)
if (NOT LY_MONOLITHIC_GAME)
# Add 'USE_IMPORT_EXPORT' for external linkage
LIST(APPEND AWSGAMELIFTSERVERSDK_COMPILE_DEFINITIONS USE_IMPORT_EXPORT)
# Import Lib
LIST(APPEND AWSGAMELIFTSERVERSDK_LIBS ${AWSGAMELIFTSERVERSDK_LIB_PATH}/aws-cpp-sdk-gamelift-server.lib)
# Shared libs
set(AWSGAMELIFTSERVERSDK_SHARED_LIB_PATH ${BASE_PATH}/bin/windows/intel64/vs2017/$<IF:$<CONFIG:Debug>,Debug,Release>)
set(AWSGAMELIFTSERVERSDK_RUNTIME_DEPENDENCIES ${AWSGAMELIFTSERVERSDK_SHARED_LIB_PATH}/aws-cpp-sdk-gamelift-server.dll)
endif()
@@ -15,7 +15,7 @@ ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev3-multiplatform
ly_associate_package(PACKAGE_NAME ilmbase-2.3.0-rev4-multiplatform TARGETS ilmbase PACKAGE_HASH 97547fdf1fbc4d81b8ccf382261f8c25514ed3b3c4f8fd493f0a4fa873bba348)
ly_associate_package(PACKAGE_NAME hdf5-1.0.11-rev2-multiplatform TARGETS hdf5 PACKAGE_HASH 11d5e04df8a93f8c52a5684a4cacbf0d9003056360983ce34f8d7b601082c6bd)
ly_associate_package(PACKAGE_NAME alembic-1.7.11-rev3-multiplatform TARGETS alembic PACKAGE_HASH ba7a7d4943dd752f5a662374f6c48b93493df1d8e2c5f6a8d101f3b50700dd25)
ly_associate_package(PACKAGE_NAME assimp-5.0.1-rev6-multiplatform TARGETS assimplib PACKAGE_HASH 47f1a6d05d101def036c030484c4a6e19d745aacd57037174715c7afe2b19b4c)
ly_associate_package(PACKAGE_NAME assimp-5.0.1-rev7-multiplatform TARGETS assimplib PACKAGE_HASH def855c89d8210db3040f1cb6ec837141ab9b8e74c158eae7c03d50160fcf30b)
ly_associate_package(PACKAGE_NAME squish-ccr-20150601-rev3-multiplatform TARGETS squish-ccr PACKAGE_HASH c878c6c0c705e78403c397d03f5aa7bc87e5978298710e14d09c9daf951a83b3)
ly_associate_package(PACKAGE_NAME ASTCEncoder-2017_11_14-rev2-multiplatform TARGETS ASTCEncoder PACKAGE_HASH c240ffc12083ee39a5ce9dc241de44d116e513e1e3e4cc1d05305e7aa3bdc326)
ly_associate_package(PACKAGE_NAME md5-2.0-multiplatform TARGETS md5 PACKAGE_HASH 29e52ad22c78051551f78a40c2709594f0378762ae03b417adca3f4b700affdf)
@@ -37,11 +37,9 @@ ly_associate_package(PACKAGE_NAME lux_core-2.2-rev5-multiplatform
ly_associate_package(PACKAGE_NAME xxhash-0.7.4-rev1-multiplatform TARGETS xxhash PACKAGE_HASH e81f3e6c4065975833996dd1fcffe46c3cf0f9e3a4207ec5f4a1b564ba75861e)
ly_associate_package(PACKAGE_NAME Blast-1.1.7-rev1-multiplatform TARGETS Blast PACKAGE_HASH 36b8f393bcd25d0f85cfc7a831ebbdac881e6054c4f0735649966aa6aa86e6f0)
ly_associate_package(PACKAGE_NAME PVRTexTool-4.24.0-rev4-multiplatform TARGETS PVRTexTool PACKAGE_HASH d0d6da61c7557de0d2c71fc35ba56c3be49555b703f0e853d4c58225537acf1e)
ly_associate_package(PACKAGE_NAME NvCloth-1.1.6-rev1-multiplatform TARGETS NvCloth PACKAGE_HASH 05fc62634ca28644e7659a89e97f4520d791e6ddf4b66f010ac669e4e2ed4454)
ly_associate_package(PACKAGE_NAME poly2tri-0.3.3-rev2-multiplatform TARGETS poly2tri PACKAGE_HASH 04092d06716f59b936b61906eaf3647db23b685d81d8b66131eb53e0aeaa1a38)
ly_associate_package(PACKAGE_NAME v-hacd-2.0-rev1-multiplatform TARGETS v-hacd PACKAGE_HASH 5c71aef19cc9787d018d64eec076e9f51ea5a3e0dc6b6e22e57c898f6cc4afe3)
# platform-specific:
ly_associate_package(PACKAGE_NAME AWSGameLiftServerSDK-3.4.1-rev1-windows TARGETS AWSGameLiftServerSDK PACKAGE_HASH a0586b006e4def65cc25f388de17dc475e417dc1e6f9d96749777c88aa8271b0)
ly_associate_package(PACKAGE_NAME freetype-2.10.4.14-windows TARGETS freetype PACKAGE_HASH 88dedc86ccb8c92f14c2c033e51ee7d828fa08eafd6475c6aa963938a99f4bf3)
ly_associate_package(PACKAGE_NAME tiff-4.2.0.14-windows TARGETS tiff PACKAGE_HASH ab60d1398e4e1e375ec0f1a00cdb1d812a07c0096d827db575ce52dd6d714207)
ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.7.167-rev3-windows TARGETS AWSNativeSDK PACKAGE_HASH 929873d4252c464620a9d288e41bd5d47c0bd22750aeb3a1caa68a3da8247c48)
@@ -52,7 +50,8 @@ ly_associate_package(PACKAGE_NAME googletest-1.8.1-rev4-windows TARGETS goo
ly_associate_package(PACKAGE_NAME googlebenchmark-1.5.0-rev2-windows TARGETS GoogleBenchmark PACKAGE_HASH 0c94ca69ae8e7e4aab8e90032b5c82c5964410429f3dd9dbb1f9bf4fe032b1d4)
ly_associate_package(PACKAGE_NAME d3dx12-headers-rev1-windows TARGETS d3dx12 PACKAGE_HASH 088c637159fba4a3e4c0cf08fb4921906fd4cca498939bd239db7c54b5b2f804)
ly_associate_package(PACKAGE_NAME pyside2-qt-5.15.1-rev2-windows TARGETS pyside2 PACKAGE_HASH c90f3efcc7c10e79b22a33467855ad861f9dbd2e909df27a5cba9db9fa3edd0f)
ly_associate_package(PACKAGE_NAME openimageio-2.1.16.0-rev1-windows TARGETS OpenImageIO PACKAGE_HASH b9f6d6df180ad240b9f17a68c1862c7d8f38234de0e692e83116254b0ee467e5)
ly_associate_package(PACKAGE_NAME openimageio-2.1.16.0-rev2-windows TARGETS OpenImageIO PACKAGE_HASH 85a2a6cf35cbc4c967c56ca8074babf0955c5b490c90c6e6fd23c78db99fc282)
ly_associate_package(PACKAGE_NAME qt-5.15.2-windows TARGETS Qt PACKAGE_HASH edaf954c647c99727bfd313dab2959803d2df0873914bb96368c3d8286eed6d9)
ly_associate_package(PACKAGE_NAME libsamplerate-0.2.1-rev2-windows TARGETS libsamplerate PACKAGE_HASH dcf3c11a96f212a52e2c9241abde5c364ee90b0f32fe6eeb6dcdca01d491829f)
ly_associate_package(PACKAGE_NAME OpenMesh-8.1-rev1-windows TARGETS OpenMesh PACKAGE_HASH 1c1df639358526c368e790dfce40c45cbdfcfb1c9a041b9d7054a8949d88ee77)
ly_associate_package(PACKAGE_NAME OpenMesh-8.1-rev1-windows TARGETS OpenMesh PACKAGE_HASH 1c1df639358526c368e790dfce40c45cbdfcfb1c9a041b9d7054a8949d88ee77)
ly_associate_package(PACKAGE_NAME civetweb-1.8-rev1-windows TARGETS civetweb PACKAGE_HASH 36d0e58a59bcdb4dd70493fb1b177aa0354c945b06c30416348fd326cf323dd4)
-44
View File
@@ -1,44 +0,0 @@
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
set(CLANG_PLATFORM_LIB_PATH ${BASE_PATH}/vs2015/$<IF:$<CONFIG:Debug>,debug,release>/lib)
set(CLANG_INCLUDE_DIRECTORIES
llvm/include
vs2015/$<IF:$<CONFIG:Debug>,debug,release>/include
)
set(CLANG_LIBS
${CLANG_PLATFORM_LIB_PATH}/clangFrontend.lib
${CLANG_PLATFORM_LIB_PATH}/clangSerialization.lib
${CLANG_PLATFORM_LIB_PATH}/clangDriver.lib
${CLANG_PLATFORM_LIB_PATH}/clangTooling.lib
${CLANG_PLATFORM_LIB_PATH}/clangParse.lib
${CLANG_PLATFORM_LIB_PATH}/clangSema.lib
${CLANG_PLATFORM_LIB_PATH}/clangAnalysis.lib
${CLANG_PLATFORM_LIB_PATH}/clangRewriteFrontend.lib
${CLANG_PLATFORM_LIB_PATH}/clangRewrite.lib
${CLANG_PLATFORM_LIB_PATH}/clangEdit.lib
${CLANG_PLATFORM_LIB_PATH}/clangAST.lib
${CLANG_PLATFORM_LIB_PATH}/clangLex.lib
${CLANG_PLATFORM_LIB_PATH}/clangBasic.lib
${CLANG_PLATFORM_LIB_PATH}/LLVMBinaryFormat.lib
${CLANG_PLATFORM_LIB_PATH}/LLVMDebugInfoDWARF.lib
${CLANG_PLATFORM_LIB_PATH}/LLVMMC.lib
${CLANG_PLATFORM_LIB_PATH}/LLVMOption.lib
${CLANG_PLATFORM_LIB_PATH}/LLVMBitReader.lib
${CLANG_PLATFORM_LIB_PATH}/LLVMMCParser.lib
${CLANG_PLATFORM_LIB_PATH}/LLVMProfileData.lib
${CLANG_PLATFORM_LIB_PATH}/LLVMTarget.lib
${CLANG_PLATFORM_LIB_PATH}/LLVMCore.lib
${CLANG_PLATFORM_LIB_PATH}/LLVMSupport.lib
Version.lib
)
@@ -10,9 +10,7 @@
#
set(FILES
AWSGameLiftServerSDK_windows.cmake
BuiltInPackages_windows.cmake
Clang_windows.cmake
Crashpad_windows.cmake
dyad_windows.cmake
FbxSdk_windows.cmake
+1 -1
View File
@@ -26,7 +26,7 @@ ly_associate_package(PACKAGE_NAME lux_core-2.2-rev5-multiplatform TARGETS lux
ly_associate_package(PACKAGE_NAME freetype-2.10.4.14-mac-ios TARGETS freetype PACKAGE_HASH 67b4f57aed92082d3fd7c16aa244a7d908d90122c296b0a63f73e0a0b8761977)
ly_associate_package(PACKAGE_NAME tiff-4.2.0.15-mac-ios TARGETS tiff PACKAGE_HASH a23ae1f8991a29f8e5df09d6d5b00d7768a740f90752cef465558c1768343709)
ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.7.167-rev3-ios TARGETS AWSNativeSDK PACKAGE_HASH 1246219a213ccfff76b526011febf521586d44dbc1753e474f8fb5fd861654a4)
ly_associate_package(PACKAGE_NAME PhysX-4.1.0.25992954-rev1-ios TARGETS PhysX PACKAGE_HASH a2a48a09128337c72b9c2c1b8f43187c6c914e8509c9c6cd91810108748d7e09)
ly_associate_package(PACKAGE_NAME PhysX-4.1.0.25992954-rev2-ios TARGETS PhysX PACKAGE_HASH 27e68bd90915dbd0bd5f26cae714e9a137f6b1aa8a8e0bf354a4a9176aa553d5)
ly_associate_package(PACKAGE_NAME mikkelsen-1.0.0.4-ios TARGETS mikkelsen PACKAGE_HASH 976aaa3ccd8582346132a10af253822ccc5d5bcc9ea5ba44d27848f65ee88a8a)
ly_associate_package(PACKAGE_NAME googletest-1.8.1-rev4-ios TARGETS googletest PACKAGE_HASH 2f121ad9784c0ab73dfaa58e1fee05440a82a07cc556bec162eeb407688111a7)
ly_associate_package(PACKAGE_NAME googlebenchmark-1.5.0-rev2-ios TARGETS GoogleBenchmark PACKAGE_HASH c2ffaed2b658892b1bcf81dee4b44cd1cb09fc78d55584ef5cb8ab87f2d8d1ae)
+1 -2
View File
@@ -11,12 +11,11 @@
set(FILES
BuiltInPackages.cmake
FindAWSGameLiftServerSDK.cmake
Findcivetweb.cmake
FindClang.cmake
Finddyad.cmake
FindFbxSdk.cmake
Findlibav.cmake
FindOpenGLInterface.cmake
FindOpenSSL.cmake
FindRadTelemetry.cmake
FindVkValidation.cmake
+3 -1
View File
@@ -621,7 +621,6 @@ endfunction()
# - this waill cause it to automatically download and activate this package if it finds a target that
# depends on '3rdParty::zlib' in its runtime or its build time dependency list.
# - note that '3rdParty' is implied, do not specify it in the TARGETS list.
function(ly_associate_package)
set(_oneValueArgs PACKAGE_NAME PACKAGE_HASH)
set(_multiValueArgs TARGETS)
@@ -643,6 +642,9 @@ function(ly_associate_package)
set_property(GLOBAL PROPERTY LY_PACKAGE_ASSOCIATION_${find_package_name} ${ly_associate_package_PACKAGE_NAME})
set_property(GLOBAL PROPERTY LY_PACKAGE_HASH_${ly_associate_package_PACKAGE_NAME} ${ly_associate_package_PACKAGE_HASH})
endforeach()
set_property(GLOBAL APPEND PROPERTY LY_PACKAGE_NAMES ${ly_associate_package_PACKAGE_NAME})
set_property(GLOBAL PROPERTY LY_PACKAGE_TARGETS_${ly_associate_package_PACKAGE_NAME} ${ly_associate_package_TARGETS})
endfunction()
#! Given a package find_package name (eg, 'zlib' not the actual package name)
+15 -26
View File
@@ -14,32 +14,21 @@
include(FindPackageHandleStandardArgs)
ly_add_target(
NAME @NAME_PLACEHOLDER@ UNKNOWN IMPORTED
@NAMESPACE_PLACEHOLDER@
@INCLUDE_DIRECTORIES_PLACEHOLDER@
@BUILD_DEPENDENCIES_PLACEHOLDER@
@RUNTIME_DEPENDENCIES_PLACEHOLDER@
NAME @NAME_PLACEHOLDER@ UNKNOWN IMPORTED
@NAMESPACE_PLACEHOLDER@
COMPILE_DEFINITIONS
INTERFACE
@COMPILE_DEFINITIONS_PLACEHOLDER@
INCLUDE_DIRECTORIES
INTERFACE
@INCLUDE_DIRECTORIES_PLACEHOLDER@
BUILD_DEPENDENCIES
INTERFACE
@BUILD_DEPENDENCIES_PLACEHOLDER@
RUNTIME_DEPENDENCIES
@RUNTIME_DEPENDENCIES_PLACEHOLDER@
)
# The below if was generated from if (NOT HEADER_ONLY_PLACEHOLDER)
# HEADER_ONLY_PLACEHOLDER evaluates to TRUE or FALSE
if (NOT @HEADER_ONLY_PLACEHOLDER@)
# Load information for each installed configuration.
foreach(config @ALL_CONFIGS@)
set(@NAME_PLACEHOLDER@_${config}_FOUND FALSE)
include("${LY_ROOT_FOLDER}/cmake_autogen/@NAME_PLACEHOLDER@/@NAME_PLACEHOLDER@_${config}.cmake")
endforeach()
find_package_handle_standard_args(@NAME_PLACEHOLDER@
"Could not find package @NAME_PLACEHOLDER@"
@TARGET_CONFIG_FOUND_VARS_PLACEHOLDER@)
else()
set(@NAME_PLACEHOLDER@_FOUND TRUE)
endif()
foreach(config @CMAKE_CONFIGURATION_TYPES@)
include("${LY_ROOT_FOLDER}/cmake_autogen/@NAME_PLACEHOLDER@/@NAME_PLACEHOLDER@_${config}.cmake" OPTIONAL)
endforeach()
-45
View File
@@ -1,45 +0,0 @@
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
# Generated by O3DE
include(FindPackageHandleStandardArgs)
ly_add_target(
NAME @NAME_PLACEHOLDER@ UNKNOWN IMPORTED
@NAMESPACE_PLACEHOLDER@
@INCLUDE_DIRECTORIES_PLACEHOLDER@
@BUILD_DEPENDENCIES_PLACEHOLDER@
@RUNTIME_DEPENDENCIES_PLACEHOLDER@
@COMPILE_DEFINITIONS_PLACEHOLDER@
)
# The below if was generated from if (NOT HEADER_ONLY_PLACEHOLDER)
# HEADER_ONLY_PLACEHOLDER evaluates to TRUE or FALSE
if (NOT @HEADER_ONLY_PLACEHOLDER@)
# Load information for each installed configuration.
foreach(config @ALL_CONFIGS@)
set(@NAME_PLACEHOLDER@_${config}_FOUND FALSE)
include("${LY_ROOT_FOLDER}/cmake_autogen/@NAME_PLACEHOLDER@/@NAME_PLACEHOLDER@_${config}.cmake")
endforeach()
find_package_handle_standard_args(@NAME_PLACEHOLDER@
"Could not find package @NAME_PLACEHOLDER@"
@TARGET_CONFIG_FOUND_VARS_PLACEHOLDER@)
else()
set(@NAME_PLACEHOLDER@_FOUND TRUE)
endif()
+1 -1
View File
@@ -15,7 +15,7 @@ include(FindPackageHandleStandardArgs)
# This will be called from within the installed engine's CMakeLists.txt
macro(ly_find_o3de_packages)
@FIND_PACKAGES_PLACEHOLDER@
@FIND_PACKAGES_PLACEHOLDER@
find_package(LauncherGenerator)
endmacro()
-35
View File
@@ -1,35 +0,0 @@
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
# Generated by O3DE
include(FindPackageHandleStandardArgs)
# This will be called from within the installed engine's CMakeLists.txt
macro(ly_find_o3de_packages)
@FIND_PACKAGES_PLACEHOLDER@
find_package(LauncherGenerator)
endmacro()
function(o3de_current_file_path path)
set(${path} ${CMAKE_CURRENT_FUNCTION_LIST_DIR} PARENT_SCOPE)
endfunction()
# We are using the engine's CMakeLists.txt to handle initialization/importing targets
# Since this is external to the project's source, we need to specify an output directory
# even though we don't build
macro(o3de_initialize)
set(LY_PROJECTS ${CMAKE_SOURCE_DIR})
o3de_current_file_path(current_path)
add_subdirectory(${current_path}/.. o3de)
endmacro()
@@ -17,12 +17,6 @@ include(cmake/LySet.cmake)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
ly_set(CMAKE_WARN_DEPRECATED ON)
# Set output directories
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib CACHE PATH "Build directory for static libraries and import libraries")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin CACHE PATH "Build directory for shared libraries")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin CACHE PATH "Build directory for executables")
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "Installation prefix")
set(LY_EXTERNAL_SUBDIRS "" CACHE STRING "Additional list of subdirectory to recurse into via the cmake `add_subdirectory()` command. \
The subdirectories are included after the restricted platform folders have been visited by a call to `add_subdirectory(restricted/\${restricted_platform})`")
@@ -8,3 +8,9 @@
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
# Set output directories
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib CACHE PATH "Build directory for static libraries and import libraries")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin CACHE PATH "Build directory for shared libraries")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin CACHE PATH "Build directory for executables")
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "Installation prefix")
+6
View File
@@ -85,3 +85,9 @@ ly_include_cmake_file_list(${pal_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}_fi
include(${pal_dir}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
include(${pal_dir}/Toolchain_${PAL_PLATFORM_NAME_LOWERCASE}.cmake OPTIONAL)
set(LY_DISABLE_TEST_MODULES FALSE CACHE BOOL "Option to forcibly disable the inclusion of test targets in the build")
if(LY_DISABLE_TEST_MODULES)
ly_set(PAL_TRAIT_BUILD_TESTS_SUPPORTED FALSE)
endif()
+119 -108
View File
@@ -9,6 +9,7 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
set(CMAKE_INSTALL_MESSAGE NEVER) # Simplify messages to reduce output noise
#! ly_install_target: registers the target to be installed by cmake install.
#
@@ -35,27 +36,16 @@ function(ly_install_target ly_install_target_NAME)
install(
TARGETS ${ly_install_target_NAME}
EXPORT ${ly_install_target_NAME}Targets
LIBRARY DESTINATION lib/$<CONFIG>
ARCHIVE DESTINATION lib/$<CONFIG>
RUNTIME DESTINATION bin/$<CONFIG>
PUBLIC_HEADER DESTINATION ${include_location}
)
install(EXPORT ${ly_install_target_NAME}Targets
ly_generate_target_config_file(${ly_install_target_NAME})
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${ly_install_target_NAME}_$<CONFIG>.cmake"
DESTINATION cmake_autogen/${ly_install_target_NAME}
)
# Header only targets(i.e., INTERFACE) don't have outputs
get_target_property(target_type ${ly_install_target_NAME} TYPE)
if(NOT ${target_type} STREQUAL "INTERFACE_LIBRARY")
ly_generate_target_config_file(${ly_install_target_NAME})
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${ly_install_target_NAME}_$<CONFIG>.cmake"
DESTINATION cmake_autogen/${ly_install_target_NAME}
)
endif()
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Find${ly_install_target_NAME}.cmake"
DESTINATION cmake
)
@@ -66,8 +56,8 @@ endfunction()
#! ly_generate_target_find_file: generates the Find${target}.cmake file which is used when importing installed packages.
#
# \arg:NAME name of the target
# \arg:INCLUDE_DIRECTORIES paths to the include directories
# \arg:NAMESPACE namespace declaration for this target. It will be used for IDE and dependencies
# \arg:INCLUDE_DIRECTORIES paths to the include directories
# \arg:BUILD_DEPENDENCIES list of interfaces this target depends on (could be a compilation dependency
# if the dependency is only exposing an include path, or could be a linking
# dependency is exposing a lib)
@@ -77,64 +67,38 @@ function(ly_generate_target_find_file)
set(options)
set(oneValueArgs NAME NAMESPACE)
set(multiValueArgs COMPILE_DEFINITIONS BUILD_DEPENDENCIES RUNTIME_DEPENDENCIES INCLUDE_DIRECTORIES)
set(multiValueArgs INCLUDE_DIRECTORIES COMPILE_DEFINITIONS BUILD_DEPENDENCIES RUNTIME_DEPENDENCIES)
cmake_parse_arguments(ly_generate_target_find_file "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
# These targets will be imported. So we strip PRIVATE properties.
# We can only set INTERFACE properties on imported targets
unset(build_dependencies_interface_props)
unset(compile_definitions_interface_props)
unset(include_directories_interface_props)
unset(installed_include_directories_interface_props)
ly_strip_non_interface_properties(build_dependencies_interface_props ${ly_generate_target_find_file_BUILD_DEPENDENCIES})
ly_strip_non_interface_properties(compile_definitions_interface_props ${ly_generate_target_find_file_COMPILE_DEFINITIONS})
ly_strip_non_interface_properties(include_directories_interface_props ${ly_generate_target_find_file_INCLUDE_DIRECTORIES})
set(NAME_PLACEHOLDER ${ly_generate_target_find_file_NAME})
unset(NAMESPACE_PLACEHOLDER)
unset(COMPILE_DEFINITIONS_PLACEHOLDER)
unset(include_directories_interface_props)
unset(INCLUDE_DIRECTORIES_PLACEHOLDER)
set(RUNTIME_DEPENDENCIES_PLACEHOLDER ${ly_generate_target_find_file_RUNTIME_DEPENDENCIES})
# These targets will be imported. We will expose PUBLIC and INTERFACE properties as INTERFACE properties since
# only INTERFACE properties can be exposed on imported targets
ly_strip_private_properties(COMPILE_DEFINITIONS_PLACEHOLDER ${ly_generate_target_find_file_COMPILE_DEFINITIONS})
ly_strip_private_properties(include_directories_interface_props ${ly_generate_target_find_file_INCLUDE_DIRECTORIES})
ly_strip_private_properties(BUILD_DEPENDENCIES_PLACEHOLDER ${ly_generate_target_find_file_BUILD_DEPENDENCIES})
if(ly_generate_target_find_file_NAMESPACE)
set(NAMESPACE_PLACEHOLDER "NAMESPACE ${ly_generate_target_find_file_NAMESPACE}")
endif()
string(REPLACE ";" "\n" COMPILE_DEFINITIONS_PLACEHOLDER "${COMPILE_DEFINITIONS_PLACEHOLDER}")
# Includes need additional processing to add the install root
foreach(include ${include_directories_interface_props})
set(installed_include_prefix "\${LY_ROOT_FOLDER}/include/")
file(RELATIVE_PATH relative_path ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/${include})
string(APPEND installed_include_prefix ${relative_path})
list(APPEND installed_include_directories_interface_props ${installed_include_prefix})
list(APPEND INCLUDE_DIRECTORIES_PLACEHOLDER "include/${relative_path}")
endforeach()
string(REPLACE ";" "\n" INCLUDE_DIRECTORIES_PLACEHOLDER "${INCLUDE_DIRECTORIES_PLACEHOLDER}")
if(ly_generate_target_find_file_NAMESPACE)
set(NAMESPACE_PLACEHOLDER "NAMESPACE ${ly_generate_target_find_file_NAMESPACE}")
endif()
if(installed_include_directories_interface_props)
string(REPLACE ";" "\n" include_dirs "${installed_include_directories_interface_props}")
set(INCLUDE_DIRECTORIES_PLACEHOLDER "INCLUDE_DIRECTORIES\nINTERFACE\n${include_dirs}")
endif()
if(build_dependencies_interface_props)
string(REPLACE ";" "\n" build_deps "${build_dependencies_interface_props}")
set(BUILD_DEPENDENCIES_PLACEHOLDER "BUILD_DEPENDENCIES\nINTERFACE\n${build_deps}")
endif()
if(ly_generate_target_find_file_RUNTIME_DEPENDENCIES)
string(REPLACE ";" "\n" runtime_deps "${ly_generate_target_find_file_RUNTIME_DEPENDENCIES}")
set(RUNTIME_DEPENDENCIES_PLACEHOLDER "RUNTIME_DEPENDENCIES\n${runtime_deps}")
endif()
if(compile_definitions_interface_props)
string(REPLACE ";" "\n" compile_defs "${compile_definitions_interface_props}")
set(COMPILE_DEFINITIONS_PLACEHOLDER "COMPILE_DEFINITIONS\nINTERFACE\n${compile_defs}")
endif()
string(REPLACE ";" " " ALL_CONFIGS "${CMAKE_CONFIGURATION_TYPES}")
set(target_config_found_vars "")
foreach(config ${CMAKE_CONFIGURATION_TYPES})
string(APPEND target_config_found_vars "\n${ly_generate_target_find_file_NAME}_${config}_FOUND")
endforeach()
set(TARGET_CONFIG_FOUND_VARS_PLACEHOLDER "${target_config_found_vars}")
# Interface libs aren't built so they don't generate a library. These are our HEADER_ONLY targets.
get_target_property(target_type ${ly_generate_target_find_file_NAME} TYPE)
if(NOT ${target_type} STREQUAL "INTERFACE_LIBRARY")
set(HEADER_ONLY_PLACEHOLDER FALSE)
else()
set(HEADER_ONLY_PLACEHOLDER TRUE)
endif()
string(REPLACE ";" "\n" BUILD_DEPENDENCIES_PLACEHOLDER "${BUILD_DEPENDENCIES_PLACEHOLDER}")
string(REPLACE ";" "\n" RUNTIME_DEPENDENCIES_PLACEHOLDER "${RUNTIME_DEPENDENCIES_PLACEHOLDER}")
configure_file(${LY_ROOT_FOLDER}/cmake/FindTarget.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/Find${ly_generate_target_find_file_NAME}.cmake @ONLY)
@@ -148,37 +112,47 @@ endfunction()
# \arg:NAME name of the target
function(ly_generate_target_config_file NAME)
# SHARED_LIBRARY is omitted from this list because we link to the implib on Windows
set(BINARY_DIR_OUTPUTS EXECUTABLE APPLICATION)
set(target_file_contents "")
if(${target_type} IN_LIST BINARY_DIR_OUTPUTS)
set(out_file_generator TARGET_FILE_NAME)
set(out_dir bin)
else()
set(out_file_generator TARGET_LINKER_FILE_NAME)
set(out_dir lib)
endif()
get_target_property(target_type ${NAME} TYPE)
unset(target_file_contents)
if(NOT target_type STREQUAL INTERFACE_LIBRARY)
string(APPEND target_file_contents "
# Generated by O3DE
set(BINARY_DIR_OUTPUTS EXECUTABLE APPLICATION)
set(target_file_contents "")
if(${target_type} IN_LIST BINARY_DIR_OUTPUTS)
set(out_file_generator TARGET_FILE_NAME)
set(out_dir bin)
else()
set(out_file_generator TARGET_LINKER_FILE_NAME)
set(out_dir lib)
endif()
set_target_properties(${NAME} PROPERTIES IMPORTED_LOCATION \"\${LY_ROOT_FOLDER}/${out_dir}/$<CONFIG>/$<${out_file_generator}:${NAME}>\")
string(APPEND target_file_contents
"# Generated by O3DE install
if(EXISTS \"\${LY_ROOT_FOLDER}/${out_dir}/$<CONFIG>/$<${out_file_generator}:${NAME}>\")
set(target_location \"\${LY_ROOT_FOLDER}/${out_dir}/$<CONFIG>/$<${out_file_generator}:${NAME}>\")
set_target_properties(${NAME}
PROPERTIES
$<$<CONFIG:profile>:IMPORTED_LOCATION \"\${target_location}>\"
IMPORTED_LOCATION_$<UPPER_CASE:$<CONFIG>> \"\${target_location}\"
)
if(EXISTS \"\${target_location}\")
set(${NAME}_$<CONFIG>_FOUND TRUE)
else()
set(${NAME}_$<CONFIG>_FOUND FALSE)
endif()")
endif()
")
endif()
file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${NAME}_$<CONFIG>.cmake" CONTENT ${target_file_contents})
file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${NAME}_$<CONFIG>.cmake" CONTENT "${target_file_contents}")
endfunction()
#! ly_strip_non_interface_properties: strips private properties since we're exporting an interface target
#! ly_strip_private_properties: strips private properties since we're exporting an interface target
#
# \arg:INTERFACE_PROPERTIES list of interface properties to be returned
function(ly_strip_non_interface_properties INTERFACE_PROPERTIES)
function(ly_strip_private_properties INTERFACE_PROPERTIES)
set(reserved_keywords PRIVATE PUBLIC INTERFACE)
unset(last_keyword)
unset(stripped_props)
@@ -196,36 +170,79 @@ function(ly_strip_non_interface_properties INTERFACE_PROPERTIES)
endfunction()
#! ly_setup_o3de_install: generates the Findo3de.cmake file and setup install locations for scripts, tools, assets etc.,
#! ly_setup_o3de_install: orchestrates the installation of the different parts. This is the entry point from the root CMakeLists.txt
function(ly_setup_o3de_install)
get_property(all_targets GLOBAL PROPERTY LY_ALL_TARGETS)
unset(find_package_list)
foreach(target IN LISTS all_targets)
list(APPEND find_package_list "find_package(${target})")
endforeach()
ly_setup_cmake_install()
ly_setup_target_generator()
ly_setup_others()
string(REPLACE ";" "\n" FIND_PACKAGES_PLACEHOLDER "${find_package_list}")
endfunction()
configure_file(${LY_ROOT_FOLDER}/cmake/Findo3de.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/Findo3de.cmake @ONLY)
#! ly_setup_cmake_install: install the "cmake" folder
function(ly_setup_cmake_install)
ly_install_launcher_target_generator()
ly_install_o3de_directories()
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Findo3de.cmake"
DESTINATION cmake
install(DIRECTORY "${CMAKE_SOURCE_DIR}/cmake"
DESTINATION .
REGEX "Findo3de.cmake" EXCLUDE
REGEX "Platform\/.*\/BuiltInPackages_.*\.cmake" EXCLUDE
)
install(
FILES
"${CMAKE_SOURCE_DIR}/CMakeLists.txt"
"${CMAKE_SOURCE_DIR}/engine.json"
DESTINATION .
)
install(FILES "${CMAKE_SOURCE_DIR}/CMakeLists.txt"
DESTINATION .
# Collect all Find files that were added with ly_add_external_target_path
unset(additional_find_files)
get_property(additional_module_paths GLOBAL PROPERTY LY_ADDITIONAL_MODULE_PATH)
foreach(additional_module_path ${additional_module_paths})
unset(find_files)
file(GLOB find_files "${additional_module_path}/Find*.cmake")
list(APPEND additional_find_files "${find_files}")
endforeach()
install(FILES ${additional_find_files}
DESTINATION cmake/3rdParty
)
# Findo3de.cmake file: we generate a different Findo3de.camke file than the one we have in cmake. This one is going to expose all
# targets that are pre-built
get_property(all_targets GLOBAL PROPERTY LY_ALL_TARGETS)
unset(FIND_PACKAGES_PLACEHOLDER)
foreach(target IN LISTS all_targets)
string(APPEND FIND_PACKAGES_PLACEHOLDER " find_package(${target})\n")
endforeach()
configure_file(${LY_ROOT_FOLDER}/cmake/Findo3de.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/cmake/Findo3de.cmake @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/cmake/Findo3de.cmake"
DESTINATION cmake
)
# BuiltInPackage_<platform>.cmake: since associations could happen in any cmake file across the engine. We collect
# all the associations in ly_associate_package and then generate them into BuiltInPackages_<platform>.cmake. This
# will consolidate all associations in one file
get_property(all_package_names GLOBAL PROPERTY LY_PACKAGE_NAMES)
set(builtinpackages "# Generated by O3DE install\n\n")
foreach(package_name IN LISTS all_package_names)
get_property(package_hash GLOBAL PROPERTY LY_PACKAGE_HASH_${package_name})
get_property(targets GLOBAL PROPERTY LY_PACKAGE_TARGETS_${package_name})
string(APPEND builtinpackages "ly_associate_package(PACKAGE_NAME ${package_name} TARGETS ${targets} PACKAGE_HASH ${package_hash})\n")
endforeach()
ly_get_absolute_pal_filename(pal_builtin_file ${CMAKE_CURRENT_BINARY_DIR}/cmake/3rdParty/Platform/${PAL_PLATFORM_NAME}/BuiltInPackages_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
file(GENERATE OUTPUT ${pal_builtin_file}
CONTENT ${builtinpackages}
)
install(FILES "${pal_builtin_file}"
DESTINATION cmake/3rdParty/Platform/${PAL_PLATFORM_NAME}
)
endfunction()
#! ly_install_o3de_directories: install directories required by the engine
function(ly_install_o3de_directories)
#! ly_setup_others: install directories required by the engine
function(ly_setup_others)
# List of directories we want to install relative to engine root
set(DIRECTORIES_TO_INSTALL Tools/LyTestTools Tools/RemoteConsole ctest_scripts scripts)
@@ -242,12 +259,6 @@ function(ly_install_o3de_directories)
endforeach()
# Directories which have excludes
install(DIRECTORY "${CMAKE_SOURCE_DIR}/cmake"
DESTINATION .
REGEX "Findo3de.cmake" EXCLUDE
)
install(DIRECTORY "${CMAKE_SOURCE_DIR}/python"
DESTINATION .
REGEX "downloaded_packages" EXCLUDE
@@ -257,8 +268,8 @@ function(ly_install_o3de_directories)
endfunction()
#! ly_install_launcher_target_generator: install source files needed for project launcher generation
function(ly_install_launcher_target_generator)
#! ly_setup_target_generator: install source files needed for project launcher generation
function(ly_setup_target_generator)
install(FILES
${CMAKE_SOURCE_DIR}/Code/LauncherUnified/launcher_generator.cmake
+6 -3
View File
@@ -628,8 +628,8 @@ def get_test_module_registry(build_dir_path):
test_module_items = unit_test_json['Amazon']
for _, test_module_item in test_module_items.items():
module_file = test_module_item['Modules']
dep_modules.append(module_file)
module_files = test_module_item['Modules']
dep_modules.extend(module_files)
except FileNotFoundError:
raise LmbrCmdError(f"Unit test registry not found ('{str(unit_test_module_path)}')")
@@ -659,7 +659,10 @@ def get_validated_test_modules(test_modules, build_dir_path):
for test_target_check in test_modules:
if test_target_check not in all_test_modules:
raise LmbrCmdError(f"Invalid test module {test_target_check}")
validated_test_modules.append(test_target_check)
if isinstance(test_target_check, list):
validated_test_modules.extend(test_target_check)
else:
validated_test_modules.append(test_target_check)
else:
validated_test_modules = all_test_modules