Merge branch 'main' into ATOM/tonypeng/ATOM-15175
This commit is contained in:
-20
@@ -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
|
||||
)
|
||||
@@ -11,7 +11,6 @@
|
||||
|
||||
# shared by other platforms:
|
||||
ly_associate_package(PACKAGE_NAME zlib-1.2.8-rev2-multiplatform TARGETS zlib PACKAGE_HASH e6f34b8ac16acf881e3d666ef9fd0c1aee94c3f69283fb6524d35d6f858eebbb)
|
||||
ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev3-multiplatform TARGETS Lua PACKAGE_HASH 171dcdd60bd91fb325feaab0e53dd185c9d6e7b701d53e66fc6c2c6ee91d8bff)
|
||||
ly_associate_package(PACKAGE_NAME md5-2.0-multiplatform TARGETS md5 PACKAGE_HASH 29e52ad22c78051551f78a40c2709594f0378762ae03b417adca3f4b700affdf)
|
||||
ly_associate_package(PACKAGE_NAME RapidJSON-1.1.0-multiplatform TARGETS RapidJSON PACKAGE_HASH 18b0aef4e6e849389916ff6de6682ab9c591ebe15af6ea6017014453c1119ea1)
|
||||
ly_associate_package(PACKAGE_NAME RapidXML-1.13-multiplatform TARGETS RapidXML PACKAGE_HASH 510b3c12f8872c54b34733e34f2f69dd21837feafa55bfefa445c98318d96ebf)
|
||||
@@ -25,6 +24,7 @@ ly_associate_package(PACKAGE_NAME lux_core-2.2-rev5-multiplatform TARGETS lux
|
||||
ly_associate_package(PACKAGE_NAME freetype-2.10.4.14-android TARGETS freetype PACKAGE_HASH 74dd75382688323c3a2a5090f473840b5d7e9d2aed1a4fcdff05ed2a09a664f2)
|
||||
ly_associate_package(PACKAGE_NAME tiff-4.2.0.14-android TARGETS tiff PACKAGE_HASH a9b30a1980946390c2fad0ed94562476a1d7ba8c1f36934ae140a89c54a8efd0)
|
||||
ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.7.167-rev3-android TARGETS AWSNativeSDK PACKAGE_HASH e2192157534cc8c4e22769545d88dff03ec6c1031599716ef63de3ebbb8c9a44)
|
||||
ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev5-android TARGETS Lua PACKAGE_HASH 1f638e94a17a87fe9e588ea456d5893876094b4db191234380e4c4eb9e06c300)
|
||||
ly_associate_package(PACKAGE_NAME PhysX-4.1.0.25992954-rev1-android TARGETS PhysX PACKAGE_HASH 9c494576c2d4ff04dee5a9e092fcd9d5af4b2845f15ffdfcaabb0dbc5b88a7a9)
|
||||
ly_associate_package(PACKAGE_NAME mikkelsen-1.0.0.4-android TARGETS mikkelsen PACKAGE_HASH 075e8e4940884971063b5a9963014e2e517246fa269c07c7dc55b8cf2cd99705)
|
||||
ly_associate_package(PACKAGE_NAME googletest-1.8.1-rev4-android TARGETS googletest PACKAGE_HASH 95671be75287a61c9533452835c3647e9c1b30f81b34b43bcb0ec1997cc23894)
|
||||
|
||||
@@ -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
|
||||
)
|
||||
@@ -11,7 +11,6 @@
|
||||
|
||||
# shared by other platforms:
|
||||
ly_associate_package(PACKAGE_NAME zlib-1.2.8-rev2-multiplatform TARGETS zlib PACKAGE_HASH e6f34b8ac16acf881e3d666ef9fd0c1aee94c3f69283fb6524d35d6f858eebbb)
|
||||
ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev3-multiplatform TARGETS Lua PACKAGE_HASH 171dcdd60bd91fb325feaab0e53dd185c9d6e7b701d53e66fc6c2c6ee91d8bff)
|
||||
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)
|
||||
@@ -31,13 +30,13 @@ 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)
|
||||
ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.7.167-rev4-linux TARGETS AWSNativeSDK PACKAGE_HASH b4db38de49d35a5f7500aed7f4aee5ec511dd3b584ee06fe9097885690191a5d)
|
||||
ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev5-linux TARGETS Lua PACKAGE_HASH 1adc812abe3dd0dbb2ca9756f81d8f0e0ba45779ac85bf1d8455b25c531a38b0)
|
||||
ly_associate_package(PACKAGE_NAME PhysX-4.1.0.25992954-rev1-linux TARGETS PhysX PACKAGE_HASH e3ca36106a8dbf1524709f8bb82d520920ebd3ff3a92672d382efff406c75ee3)
|
||||
ly_associate_package(PACKAGE_NAME etc2comp-9cd0f9cae0-rev1-linux TARGETS etc2comp PACKAGE_HASH 9283aa5db5bb7fb90a0ddb7a9f3895317c8ebe8044943124bbb3673a41407430)
|
||||
ly_associate_package(PACKAGE_NAME mikkelsen-1.0.0.4-linux TARGETS mikkelsen PACKAGE_HASH 5973b1e71a64633588eecdb5b5c06ca0081f7be97230f6ef64365cbda315b9c8)
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#
|
||||
|
||||
set(FILES
|
||||
AWSGameLiftServerSDK_linux.cmake
|
||||
BuiltInPackages_linux.cmake
|
||||
dyad_linux.cmake
|
||||
FbxSdk_linux.cmake
|
||||
|
||||
+1
-3
@@ -11,7 +11,6 @@
|
||||
|
||||
# shared by other platforms:
|
||||
ly_associate_package(PACKAGE_NAME zlib-1.2.8-rev2-multiplatform TARGETS zlib PACKAGE_HASH e6f34b8ac16acf881e3d666ef9fd0c1aee94c3f69283fb6524d35d6f858eebbb)
|
||||
ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev3-multiplatform TARGETS Lua PACKAGE_HASH 171dcdd60bd91fb325feaab0e53dd185c9d6e7b701d53e66fc6c2c6ee91d8bff)
|
||||
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)
|
||||
@@ -36,13 +35,12 @@ 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)
|
||||
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-mac TARGETS AWSNativeSDK PACKAGE_HASH 21920372e90355407578b45ac19580df1463a39a25a867bcd0ffd8b385c8254a)
|
||||
ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev5-mac TARGETS Lua PACKAGE_HASH d63357a73f9f8f297cf770fa4b92dca1fdd5761d4a2215e38f6e96fa274b28aa)
|
||||
ly_associate_package(PACKAGE_NAME PhysX-4.1.0.25992954-rev1-mac TARGETS PhysX PACKAGE_HASH 149f5e9b44bd27291b1c4772f5e89a1e0efa88eef73c7e0b188935ed4d0c4a70)
|
||||
ly_associate_package(PACKAGE_NAME etc2comp-9cd0f9cae0-rev1-mac TARGETS etc2comp PACKAGE_HASH 1966ab101c89db7ecf30984917e0a48c0d02ee0e4d65b798743842b9469c0818)
|
||||
ly_associate_package(PACKAGE_NAME mikkelsen-1.0.0.4-mac TARGETS mikkelsen PACKAGE_HASH 83af99ca8bee123684ad254263add556f0cf49486c0b3e32e6d303535714e505)
|
||||
|
||||
@@ -1,16 +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(DIRECTXSHADERCOMPILER_BINARY_BASE_PATH ${BASE_PATH}/bin/darwin_x64/$<IF:$<CONFIG:Debug>,debug,release>)
|
||||
|
||||
set(DIRECTXSHADERCOMPILER_DXCGL_RUNTIME_DEPENDENCIES ${DIRECTXSHADERCOMPILER_BINARY_BASE_PATH}/dxcGL\nCompiler/LLVMGL/$<IF:$<CONFIG:Debug>,debug,release>)
|
||||
|
||||
set(DIRECTXSHADERCOMPILER_DXCMETAL_RUNTIME_DEPENDENCIES ${DIRECTXSHADERCOMPILER_BINARY_BASE_PATH}/dxcMetal\nCompiler/LLVMMETAL/$<IF:$<CONFIG:Debug>,debug,release>)
|
||||
@@ -11,7 +11,6 @@
|
||||
|
||||
set(FILES
|
||||
BuiltInPackages_mac.cmake
|
||||
DirectXShaderCompiler_mac.cmake
|
||||
FbxSdk_mac.cmake
|
||||
OpenGLInterface_mac.cmake
|
||||
OpenSSL_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()
|
||||
@@ -11,7 +11,6 @@
|
||||
|
||||
# shared by other platforms:
|
||||
ly_associate_package(PACKAGE_NAME zlib-1.2.8-rev2-multiplatform TARGETS zlib PACKAGE_HASH e6f34b8ac16acf881e3d666ef9fd0c1aee94c3f69283fb6524d35d6f858eebbb)
|
||||
ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev3-multiplatform TARGETS Lua PACKAGE_HASH 171dcdd60bd91fb325feaab0e53dd185c9d6e7b701d53e66fc6c2c6ee91d8bff)
|
||||
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)
|
||||
@@ -37,14 +36,13 @@ 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)
|
||||
ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev5-windows TARGETS Lua PACKAGE_HASH 136faccf1f73891e3fa3b95f908523187792e56f5b92c63c6a6d7e72d1158d40)
|
||||
ly_associate_package(PACKAGE_NAME PhysX-4.1.0.25992954-rev1-windows TARGETS PhysX PACKAGE_HASH 198bed89d1aae7caaf5dadba24cee56235fe41725d004b64040d4e50d0f3aa1a)
|
||||
ly_associate_package(PACKAGE_NAME etc2comp-9cd0f9cae0-rev1-windows TARGETS etc2comp PACKAGE_HASH fc9ae937b2ec0d42d5e7d0e9e8c80e5e4d257673fb33bc9b7d6db76002117123)
|
||||
ly_associate_package(PACKAGE_NAME mikkelsen-1.0.0.4-windows TARGETS mikkelsen PACKAGE_HASH 872c4d245a1c86139aa929f2b465b63ea4ea55b04ced50309135dd4597457a4e)
|
||||
|
||||
@@ -1,16 +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(DIRECTXSHADERCOMPILER_BINARY_BASE_PATH "${BASE_PATH}/bin/win_x64/$<IF:$<CONFIG:Debug>,debug,release>/")
|
||||
|
||||
set(DIRECTXSHADERCOMPILER_DXCGL_RUNTIME_DEPENDENCIES "${DIRECTXSHADERCOMPILER_BINARY_BASE_PATH}/dxcGL.exe\nCompiler/LLVMGL/$<IF:$<CONFIG:Debug>,debug,release>")
|
||||
|
||||
set(DIRECTXSHADERCOMPILER_DXCMETAL_RUNTIME_DEPENDENCIES "${DIRECTXSHADERCOMPILER_BINARY_BASE_PATH}/dxcMetal.exe\nCompiler/LLVMMETAL/$<IF:$<CONFIG:Debug>,debug,release>")
|
||||
@@ -10,10 +10,8 @@
|
||||
#
|
||||
|
||||
set(FILES
|
||||
AWSGameLiftServerSDK_windows.cmake
|
||||
BuiltInPackages_windows.cmake
|
||||
Crashpad_windows.cmake
|
||||
DirectXShaderCompiler_windows.cmake
|
||||
dyad_windows.cmake
|
||||
FbxSdk_windows.cmake
|
||||
libav_windows.cmake
|
||||
|
||||
+1
-1
@@ -11,7 +11,6 @@
|
||||
|
||||
# shared by other platforms:
|
||||
ly_associate_package(PACKAGE_NAME zlib-1.2.8-rev2-multiplatform TARGETS zlib PACKAGE_HASH e6f34b8ac16acf881e3d666ef9fd0c1aee94c3f69283fb6524d35d6f858eebbb)
|
||||
ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev3-multiplatform TARGETS Lua PACKAGE_HASH 171dcdd60bd91fb325feaab0e53dd185c9d6e7b701d53e66fc6c2c6ee91d8bff)
|
||||
ly_associate_package(PACKAGE_NAME md5-2.0-multiplatform TARGETS md5 PACKAGE_HASH 29e52ad22c78051551f78a40c2709594f0378762ae03b417adca3f4b700affdf)
|
||||
ly_associate_package(PACKAGE_NAME RapidJSON-1.1.0-multiplatform TARGETS RapidJSON PACKAGE_HASH 18b0aef4e6e849389916ff6de6682ab9c591ebe15af6ea6017014453c1119ea1)
|
||||
ly_associate_package(PACKAGE_NAME RapidXML-1.13-multiplatform TARGETS RapidXML PACKAGE_HASH 510b3c12f8872c54b34733e34f2f69dd21837feafa55bfefa445c98318d96ebf)
|
||||
@@ -26,6 +25,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 Lua-5.3.5-rev5-ios TARGETS Lua PACKAGE_HASH c2d3c4e67046c293049292317a7d60fdb8f23effeea7136aefaef667163e5ffe)
|
||||
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)
|
||||
|
||||
Vendored
-2
@@ -11,9 +11,7 @@
|
||||
|
||||
set(FILES
|
||||
BuiltInPackages.cmake
|
||||
FindAWSGameLiftServerSDK.cmake
|
||||
FindClang.cmake
|
||||
FindDirectXShaderCompiler.cmake
|
||||
Finddyad.cmake
|
||||
FindFbxSdk.cmake
|
||||
Findlibav.cmake
|
||||
|
||||
@@ -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
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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})`")
|
||||
|
||||
@@ -9,14 +9,8 @@
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
#
|
||||
|
||||
ly_add_external_target(
|
||||
NAME dxcGL
|
||||
PACKAGE DirectXShaderCompiler
|
||||
VERSION 1.0.1-az.1
|
||||
)
|
||||
|
||||
ly_add_external_target(
|
||||
NAME dxcMetal
|
||||
PACKAGE DirectXShaderCompiler
|
||||
VERSION 1.0.1-az.1
|
||||
)
|
||||
# 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
-4
@@ -63,10 +63,12 @@ function(ly_get_absolute_pal_filename out_name in_name)
|
||||
set(full_name ${in_name})
|
||||
if (NOT EXISTS ${full_name})
|
||||
string(REGEX MATCH "${repo_dir}/(.*)/Platform/([^/]*)/?(.*)$" match ${full_name})
|
||||
if(${CMAKE_MATCH_2} IN_LIST PAL_RESTRICTED_PLATFORMS)
|
||||
set(full_name ${repo_dir}/restricted/${CMAKE_MATCH_2}/${CMAKE_MATCH_1})
|
||||
if(NOT "${CMAKE_MATCH_3}" STREQUAL "")
|
||||
string(APPEND full_name "/" ${CMAKE_MATCH_3})
|
||||
if(PAL_RESTRICTED_PLATFORMS)
|
||||
if("${CMAKE_MATCH_2}" IN_LIST PAL_RESTRICTED_PLATFORMS)
|
||||
set(full_name ${repo_dir}/restricted/${CMAKE_MATCH_2}/${CMAKE_MATCH_1})
|
||||
if(NOT "${CMAKE_MATCH_3}" STREQUAL "")
|
||||
string(APPEND full_name "/" ${CMAKE_MATCH_3})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -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,23 +259,55 @@ 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
|
||||
REGEX "runtime" EXCLUDE
|
||||
)
|
||||
|
||||
# Registry
|
||||
install(DIRECTORY
|
||||
${CMAKE_CURRENT_BINARY_DIR}/bin/$<CONFIG>/Registry
|
||||
DESTINATION ./bin/$<CONFIG>
|
||||
)
|
||||
install(DIRECTORY
|
||||
# This one will change soon, Engine/Registry files will be relocated to Registry
|
||||
${CMAKE_SOURCE_DIR}/Engine/Registry
|
||||
DESTINATION ./Engine
|
||||
)
|
||||
install(FILES
|
||||
${CMAKE_SOURCE_DIR}/AssetProcessorPlatformConfig.setreg
|
||||
DESTINATION ./Registry
|
||||
)
|
||||
|
||||
# Qt Binaries
|
||||
set(QT_BIN_DIRS bearer iconengines imageformats platforms styles translations)
|
||||
foreach(qt_dir ${QT_BIN_DIRS})
|
||||
install(DIRECTORY
|
||||
${CMAKE_CURRENT_BINARY_DIR}/bin/$<CONFIG>/${qt_dir}
|
||||
DESTINATION ./bin/$<CONFIG>
|
||||
)
|
||||
endforeach()
|
||||
|
||||
# Templates
|
||||
install(DIRECTORY
|
||||
${CMAKE_SOURCE_DIR}/Templates
|
||||
DESTINATION .
|
||||
)
|
||||
|
||||
# Misc
|
||||
install(FILES
|
||||
${CMAKE_SOURCE_DIR}/ctest_pytest.ini
|
||||
${CMAKE_SOURCE_DIR}/LICENSE.txt
|
||||
${CMAKE_SOURCE_DIR}/README.md
|
||||
DESTINATION .
|
||||
)
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user