123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #
- # 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
- #
- #
- set(SUPERLUMINAL_API_PATH "C:/Program Files/Superluminal/Performance/API" CACHE PATH "Path to the Superluminal 3rd party profiler API folder.")
- list(APPEND CMAKE_MODULE_PATH ${SUPERLUMINAL_API_PATH})
- if (NOT EXISTS ${SUPERLUMINAL_API_PATH})
- message(FATAL_ERROR "Superluminal profiler not found. Either update SUPERLUMINAL_API_PATH cmake variable or download Superluminal from https://superluminal.eu/")
- else()
- message(STATUS "SuperluminalProfiler Gem uses ${SUPERLUMINAL_API_PATH} (License: Commercial)")
- endif()
- find_package(SuperluminalAPI REQUIRED)
- ly_add_target(
- NAME ${gem_name}.Static STATIC
- NAMESPACE Gem
- FILES_CMAKE
- superluminalprofiler_files.cmake
- INCLUDE_DIRECTORIES
- PUBLIC
- Include
- PRIVATE
- Source
- ${SuperluminalAPI_INCLUDE_DIRS}
- BUILD_DEPENDENCIES
- PUBLIC
- AZ::AzCore
- AZ::AzFramework
- PRIVATE
- ${SuperluminalAPI_LIBS_RELEASE}
- )
- ly_add_target(
- NAME ${gem_name} ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
- NAMESPACE Gem
- FILES_CMAKE
- superluminalprofiler_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})
|