mirror of
https://github.com/wolfpld/tracy.git
synced 2025-03-20 07:40:02 +08:00
129 lines
3.7 KiB
CMake
129 lines
3.7 KiB
CMake
set(TRACY_CLIENT_DIR ${CMAKE_CURRENT_LIST_DIR}/../public)
|
|
|
|
set(TRACY_CLIENT_SOURCES
|
|
${TRACY_CLIENT_DIR}/common/tracy_lz4.cpp
|
|
${TRACY_CLIENT_DIR}/common/tracy_lz4hc.cpp
|
|
${TRACY_CLIENT_DIR}/common/TracySocket.cpp
|
|
${TRACY_CLIENT_DIR}/common/TracyStackFrames.cpp
|
|
${TRACY_CLIENT_DIR}/common/TracySystem.cpp
|
|
)
|
|
|
|
add_library(TracyClient STATIC ${TRACY_CLIENT_SOURCES})
|
|
target_include_directories(TracyClient PUBLIC ${CMAKE_CURRENT_LIST_DIR}/../public)
|
|
if (TRACY_NO_STATISTICS)
|
|
target_compile_definitions(TracyClient PUBLIC TRACY_NO_STATISTICS)
|
|
endif()
|
|
|
|
# Public dependency on some libraries required when using Mingw
|
|
if(WIN32)
|
|
target_link_libraries(TracyClient PUBLIC wsock32 ws2_32 dbghelp)
|
|
endif()
|
|
|
|
set(SERVER_SOURCES
|
|
TracyEventDebug.cpp
|
|
TracyTimelineController.cpp
|
|
TracyView_Playback.cpp
|
|
TracyTexture.cpp
|
|
TracyView_Locks.cpp
|
|
TracyView_Memory.cpp
|
|
TracyFileselector.cpp
|
|
TracyView_Compare.cpp
|
|
TracyView_ZoneInfo.cpp
|
|
TracyView_Callstack.cpp
|
|
TracySourceContents.cpp
|
|
TracyPrint.cpp
|
|
TracyStorage.cpp
|
|
TracyTextureCompression.cpp
|
|
TracySourceView.cpp
|
|
TracyView_ContextSwitch.cpp
|
|
TracyUserData.cpp
|
|
TracySourceTokenizer.cpp
|
|
TracyView_Statistics.cpp
|
|
TracyView_Timeline.cpp
|
|
TracyUtility.cpp
|
|
TracyTimelineItemCpuData.cpp
|
|
TracyView_FrameTree.cpp
|
|
TracyMicroArchitecture.cpp
|
|
TracyView_Ranges.cpp
|
|
TracyView.cpp
|
|
TracyMemory.cpp
|
|
TracyView_ConnectionState.cpp
|
|
TracyView_Navigation.cpp
|
|
TracyView_Utility.cpp
|
|
TracyView_Plots.cpp
|
|
TracyProtoHistory.cpp
|
|
TracyView_FrameTimeline.cpp
|
|
TracyView_FindZone.cpp
|
|
TracyThreadCompress.cpp
|
|
TracyImGui.cpp
|
|
TracyView_GpuTimeline.cpp
|
|
TracyTaskDispatch.cpp
|
|
TracyTimelineItemThread.cpp
|
|
TracyTimelineItemPlot.cpp
|
|
TracyWeb.cpp
|
|
TracyTimelineItem.cpp
|
|
TracyColor.cpp
|
|
TracyWorker.cpp
|
|
TracyView_FrameOverview.cpp
|
|
TracyView_Samples.cpp
|
|
TracyMouse.cpp
|
|
TracyView_Messages.cpp
|
|
TracyMmap.cpp
|
|
TracyView_ZoneTimeline.cpp
|
|
TracyView_Annotations.cpp
|
|
TracyFilesystem.cpp
|
|
TracyView_TraceInfo.cpp
|
|
TracyView_NotificationArea.cpp
|
|
TracyTimelineItemGpu.cpp
|
|
TracyView_CpuData.cpp
|
|
TracyBadVersion.cpp
|
|
TracyView_Options.cpp
|
|
)
|
|
|
|
set(TRACY_NO_STATS_SOURCE
|
|
TracyPrint.cpp
|
|
TracyWorker.cpp
|
|
TracyThreadCompress.cpp
|
|
TracyMemory.cpp
|
|
TracyTextureCompression.cpp
|
|
TracyTaskDispatch.cpp
|
|
TracyMmap.cpp
|
|
)
|
|
|
|
if (TRACY_NO_STATISTICS)
|
|
message(STATUS "Building TracyServer without statistics")
|
|
list(TRANSFORM TRACY_NO_STATS_SOURCE PREPEND ${CMAKE_CURRENT_SOURCE_DIR}/../server/)
|
|
set(SOURCES ${TRACY_NO_STATS_SOURCE})
|
|
else()
|
|
list(TRANSFORM SERVER_SOURCES PREPEND ${CMAKE_CURRENT_SOURCE_DIR}/../server/)
|
|
set(SOURCES ${SERVER_SOURCES})
|
|
endif()
|
|
|
|
add_library(TracyServer STATIC ${SOURCES})
|
|
target_include_directories(TracyServer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../server)
|
|
|
|
if (TRACY_NO_STATISTICS)
|
|
target_link_libraries(TracyServer PUBLIC TracyCapstone TracyZstd TracyClient)
|
|
else()
|
|
target_link_libraries(TracyServer PUBLIC TracyImGui TracyCapstone TracyZstd TracyClient)
|
|
endif()
|
|
|
|
target_compile_definitions(TracyServer PUBLIC NOMINMAX) # Windows.h defines min and max macros which conflict with std::min and std::max
|
|
|
|
if (NOT NO_TBB)
|
|
target_link_libraries(TracyServer PUBLIC TracyTbb)
|
|
endif()
|
|
|
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
if (CMAKE_LINKER MATCHES "ld.mold")
|
|
set(LDFLAGS "-fuse-ld=mold")
|
|
endif()
|
|
endif()
|
|
|
|
if (NOT TRACY_NO_ISA_EXTENSIONS)
|
|
if (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=native")
|
|
elseif(UNIX)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
|
|
endif()
|
|
endif() |