1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #
- # Copyright (c) Contributors to the Open 3D Engine Project.
- # For complete copyright and license terms please see the LICENSE at the root of this distribution.
- #
- # SPDX-License-Identifier: Apache-2.0 OR MIT
- #
- #
- # Expose some internal of Optick for better integration with 03DE
- set(OPTICK_GIT_PATCH "${CMAKE_CURRENT_SOURCE_DIR}/optick.patch")
- # Add Optick dependency using FetchContent
- include(FetchContent)
- FetchContent_Declare(
- Optick
- GIT_REPOSITORY "https://github.com/bombomby/optick.git"
- GIT_TAG "8abd28dee1a4034c973a3d32cd1777118e72df7e" # version 1.4.0+
- PATCH_COMMAND cmake -P "${LY_ROOT_FOLDER}/cmake/PatchIfNotAlreadyPatched.cmake" ${OPTICK_GIT_PATCH}
- )
- set(OPTICK_ENABLED ON)
- set(OPTICK_BUILD_GUI_APP OFF)
- set(OPTICK_INSTALL_TARGETS OFF)
- message(STATUS "OptickProfiler Gem uses https://github.com/bombomby/optick.git version 1.4.0 (License: MIT)")
- message(STATUS " With patch: ${OPTICK_GIT_PATCH}")
- FetchContent_MakeAvailable(Optick)
- # Let's not clutter the root of any IDE folder structure with 3rd party dependencies
- # Setting the FOLDER makes it show up there in the solution build in VS and similarly
- # any other IDEs that organize in folders.
- set_target_properties(
- OptickCore
- PROPERTIES
- FOLDER "3rdParty Dependencies"
- )
- ly_add_target(
- NAME ${gem_name}.Static STATIC
- NAMESPACE Gem
- FILES_CMAKE
- optickprofiler_files.cmake
- INCLUDE_DIRECTORIES
- PUBLIC
- Include
- PRIVATE
- Source
- BUILD_DEPENDENCIES
- PUBLIC
- AZ::AzCore
- AZ::AzFramework
- OptickCore
- )
- ly_add_target(
- NAME ${gem_name} ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
- NAMESPACE Gem
- FILES_CMAKE
- optickprofiler_shared_files.cmake
- INCLUDE_DIRECTORIES
- PUBLIC
- Include
- PRIVATE
- Source
- BUILD_DEPENDENCIES
- PRIVATE
- Gem::${gem_name}.Static
- )
- ly_add_source_properties(
- SOURCES
- Source/ProfilerModule.cpp
- PROPERTY COMPILE_DEFINITIONS
- VALUES
- O3DE_GEM_NAME=${gem_name}
- O3DE_GEM_VERSION=${gem_version})
- ly_create_alias(NAME ${gem_name}.Servers NAMESPACE Gem TARGETS Gem::${gem_name})
- ly_create_alias(NAME ${gem_name}.Builders NAMESPACE Gem TARGETS Gem::${gem_name})
- ly_create_alias(NAME ${gem_name}.Clients NAMESPACE Gem TARGETS Gem::${gem_name})
- ly_create_alias(NAME ${gem_name}.Unified NAMESPACE Gem TARGETS Gem::${gem_name})
- ly_create_alias(NAME ${gem_name}.Tools NAMESPACE Gem TARGETS Gem::${gem_name})
|