diff --git a/capture/CMakeLists.txt b/capture/CMakeLists.txt index ed7efd21..a593ade0 100644 --- a/capture/CMakeLists.txt +++ b/capture/CMakeLists.txt @@ -3,6 +3,8 @@ project(capture C CXX ASM) set(CMAKE_CXX_STANDARD 17) +set(TRACY_NO_STATISTICS ON) + include(${CMAKE_CURRENT_LIST_DIR}/../cmake/vendor.cmake) include(${CMAKE_CURRENT_LIST_DIR}/../cmake/server.cmake) @@ -12,4 +14,4 @@ set(CAPTURE_SOURCE add_executable(capture ${CAPTURE_SOURCE}) target_include_directories(capture PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src) -target_link_libraries(capture PRIVATE TracyServer) \ No newline at end of file +target_link_libraries(capture PRIVATE TracyServer TracyGetOpt) \ No newline at end of file diff --git a/cmake/server.cmake b/cmake/server.cmake index b6ef2ec4..78729c10 100644 --- a/cmake/server.cmake +++ b/cmake/server.cmake @@ -1,16 +1,24 @@ +set(TRACY_CLIENT_DIR ${CMAKE_CURRENT_LIST_DIR}/../public) set(TRACY_CLIENT_SOURCES - ${CMAKE_CURRENT_LIST_DIR}/../public/TracyClient.cpp - ${CMAKE_CURRENT_LIST_DIR}/../public/common/TracyStackFrames.cpp + ${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) -target_compile_definitions(TracyClient PUBLIC TRACY_ENABLE) 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 @@ -72,9 +80,26 @@ set(SERVER_SOURCES TracyView_Options.cpp ) -list(TRANSFORM SERVER_SOURCES PREPEND ${CMAKE_CURRENT_SOURCE_DIR}/../server/) +set(TRACY_NO_STATS_SOURCE + TracyPrint.cpp + TracyWorker.cpp + TracyThreadCompress.cpp + TracyMemory.cpp + TracyTextureCompression.cpp + TracyTaskDispatch.cpp + TracyMmap.cpp +) -add_library(TracyServer STATIC ${SERVER_SOURCES}) +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) target_link_libraries(TracyServer PUBLIC TracyImGui TracyCapstone TracyZstd TracyClient) @@ -84,11 +109,6 @@ if (NOT NO_TBB) target_link_libraries(TracyServer PUBLIC TracyTbb) endif() -if (TRACY_NO_STATISTICS) - message(STATUS "Disabling server statistics") - target_compile_definitions(TracyServer PUBLIC TRACY_NO_STATISTICS) -endif() - if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") if (CMAKE_LINKER MATCHES "ld.mold") set(LDFLAGS "-fuse-ld=mold") diff --git a/csvexport/CMakeLists.txt b/csvexport/CMakeLists.txt index 90f9d993..5c3198f5 100644 --- a/csvexport/CMakeLists.txt +++ b/csvexport/CMakeLists.txt @@ -12,4 +12,4 @@ set(CSVEXPORT_SRC add_executable(csvexport ${CSVEXPORT_SRC}) target_include_directories(csvexport PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src) -target_link_libraries(csvexport PRIVATE TracyServer) \ No newline at end of file +target_link_libraries(csvexport PRIVATE TracyServer TracyGetOpt) \ No newline at end of file diff --git a/import-chrome/CMakeLists.txt b/import-chrome/CMakeLists.txt index b9f54708..5dc120ed 100644 --- a/import-chrome/CMakeLists.txt +++ b/import-chrome/CMakeLists.txt @@ -3,6 +3,8 @@ project(import-chrome C CXX ASM) set(CMAKE_CXX_STANDARD 17) +set(TRACY_NO_STATISTICS ON) + include(${CMAKE_CURRENT_LIST_DIR}/../cmake/vendor.cmake) include(${CMAKE_CURRENT_LIST_DIR}/../cmake/server.cmake) @@ -12,4 +14,4 @@ set(SOURCES add_executable(import-chrome ${SOURCES}) target_include_directories(import-chrome PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src) -target_link_libraries(import-chrome PRIVATE TracyServer) \ No newline at end of file +target_link_libraries(import-chrome PRIVATE TracyServer TracyGetOpt) \ No newline at end of file diff --git a/import-fuchsia/CMakeLists.txt b/import-fuchsia/CMakeLists.txt index bf76d6e3..e72cf5df 100644 --- a/import-fuchsia/CMakeLists.txt +++ b/import-fuchsia/CMakeLists.txt @@ -3,6 +3,8 @@ project(import-fuchsia C CXX ASM) set(CMAKE_CXX_STANDARD 17) +set(TRACY_NO_STATISTICS ON) + include(${CMAKE_CURRENT_LIST_DIR}/../cmake/vendor.cmake) include(${CMAKE_CURRENT_LIST_DIR}/../cmake/server.cmake) @@ -12,4 +14,4 @@ set(SOURCES add_executable(import-fuchsia ${SOURCES}) target_include_directories(import-fuchsia PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src) -target_link_libraries(import-fuchsia PRIVATE TracyServer) \ No newline at end of file +target_link_libraries(import-fuchsia PRIVATE TracyServer TracyGetOpt) \ No newline at end of file diff --git a/update/CMakeLists.txt b/update/CMakeLists.txt index 568c605a..9f87f1a3 100644 --- a/update/CMakeLists.txt +++ b/update/CMakeLists.txt @@ -3,6 +3,8 @@ project(update C CXX ASM) set(CMAKE_CXX_STANDARD 17) +set(TRACY_NO_STATISTICS ON) + include(${CMAKE_CURRENT_LIST_DIR}/../cmake/vendor.cmake) include(${CMAKE_CURRENT_LIST_DIR}/../cmake/server.cmake) @@ -15,4 +17,4 @@ set(UPDATE_SOURCE add_executable(update ${UPDATE_SOURCE}) target_include_directories(update PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src) -target_link_libraries(update PRIVATE TracyServer) \ No newline at end of file +target_link_libraries(update PRIVATE TracyServer TracyGetOpt) \ No newline at end of file