vcpkg/ports/tracy/add-install.patch
Arsen Tufankjian 89ed213031
Fixing Tracy Port (#22510)
* Adding tracy port

* Formatting tracy port

* Tidying up the port

* Formatting again

* Making sure git-tree is correct

* Adding correct vcpkg dependencies

* Newline at file end again

* Update version database

* Making sure to mark tracy as not supporting x86 at all

* Updating version again

* Responding to feedback and double checking which builds will work

* Updating versions

* Tidying up some loose ends

* Updating port version again

* Removing port-version 1

* Removing tracy from ci baseline

* Removing unnecessary include copy

* Updating version

* Resolving feedback

* Updating version and formatting

* Version for the version god

* tweaking tracy supports

* Formatting and version

* Version

* Adding pthreads dependency to tracy for non-windows platforms

* Version

* Fixing tracy port

* Fixing version

* TRACY_IMPORTS should be an INTERFACE define

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
2022-01-13 10:49:26 -08:00

85 lines
3.7 KiB
Diff

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9fd34587..2a42c862 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,7 +6,9 @@ find_package(Threads REQUIRED)
add_library(TracyClient TracyClient.cpp)
target_compile_features(TracyClient PUBLIC cxx_std_11)
-target_include_directories(TracyClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(TracyClient PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ $<INSTALL_INTERFACE:include>)
target_link_libraries(
TracyClient
PUBLIC
@@ -43,3 +45,68 @@ set_option(TRACY_NO_FRAME_IMAGE "Disable capture of frame images" OFF)
set_option(TRACE_NO_SAMPLING "Disable call stack sampling" OFF)
set_option(TRACY_NO_VERIFY "Disable zone validation for C API" OFF)
set_option(TRACY_NO_VSYNC_CAPTURE "Disable capture of hardware Vsync events" OFF)
+
+if(BUILD_SHARED_LIBS)
+ target_compile_definitions(TracyClient PRIVATE TRACY_EXPORTS)
+ target_compile_definitions(TracyClient INTERFACE TRACY_IMPORTS)
+endif()
+
+include(CMakePackageConfigHelpers)
+include(GNUInstallDirs)
+
+set(includes
+ ${CMAKE_CURRENT_LIST_DIR}/TracyC.h
+ ${CMAKE_CURRENT_LIST_DIR}/Tracy.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/TracyD3D11.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/TracyD3D12.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/TracyLua.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/TracyOpenCL.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/TracyOpenGL.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/TracyVulkan.hpp)
+set(client_includes
+ ${CMAKE_CURRENT_LIST_DIR}/client/tracy_concurrentqueue.h
+ ${CMAKE_CURRENT_LIST_DIR}/client/tracy_rpmalloc.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/client/TracyArmCpuTable.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/client/TracyCallstack.h
+ ${CMAKE_CURRENT_LIST_DIR}/client/TracyCallstack.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/client/TracyDebug.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/client/TracyDxt1.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/client/TracyFastVector.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/client/TracyLock.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/client/TracyProfiler.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/client/TracyRingBuffer.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/client/TracyScoped.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/client/TracySysTime.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/client/TracySysTrace.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/client/TracyThread.hpp)
+set(common_includes
+ ${CMAKE_CURRENT_LIST_DIR}/common/tracy_lz4.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/common/tracy_lz4hc.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/common/TracyAlign.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/common/TracyAlign.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/common/TracyAlloc.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/common/TracyApi.h
+ ${CMAKE_CURRENT_LIST_DIR}/common/TracyColor.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/common/TracyForceInline.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/common/TracyMutex.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/common/TracyProtocol.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/common/TracyQueue.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/common/TracySocket.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/common/TracyStackFrames.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/common/TracySystem.hpp
+ ${CMAKE_CURRENT_LIST_DIR}/common/TracyYield.hpp)
+
+install(TARGETS TracyClient
+ EXPORT TracyConfig
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install(FILES ${includes}
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+install(FILES ${client_includes}
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/client)
+install(FILES ${common_includes}
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/common)
+install(EXPORT TracyConfig
+ FILE TracyConfig.cmake
+ DESTINATION share/Tracy)