From abf04db97b9bac5ba1d669201fb5402d682f8460 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Fri, 7 Jul 2023 14:49:05 +0200 Subject: [PATCH] Allow to use cmake to generate T tracer programs - Add CMakeLists.txt to build all T tracer user tools - Previous Makefiles are retained in common/utils/T: you can do $ cd common/utils/T/tracer $ make # all executables are there or also $ mkdir build && cd build $ cmake .. -GNinja $ ninja T_tools # all executables are in build/common/utils/T/tracer --- common/utils/T/CMakeLists.txt | 4 ++ common/utils/T/tracer/CMakeLists.txt | 73 +++++++++++++++++++++ common/utils/T/tracer/filter/CMakeLists.txt | 2 + common/utils/T/tracer/gui/CMakeLists.txt | 10 +++ common/utils/T/tracer/gui/x_defs.h | 2 +- common/utils/T/tracer/logger/CMakeLists.txt | 5 ++ common/utils/T/tracer/view/CMakeLists.txt | 5 ++ 7 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 common/utils/T/tracer/CMakeLists.txt create mode 100644 common/utils/T/tracer/filter/CMakeLists.txt create mode 100644 common/utils/T/tracer/gui/CMakeLists.txt create mode 100644 common/utils/T/tracer/logger/CMakeLists.txt create mode 100644 common/utils/T/tracer/view/CMakeLists.txt diff --git a/common/utils/T/CMakeLists.txt b/common/utils/T/CMakeLists.txt index 15558b9dd2..19aed0440e 100644 --- a/common/utils/T/CMakeLists.txt +++ b/common/utils/T/CMakeLists.txt @@ -1,4 +1,5 @@ add_executable(genids genids.c) +set_target_properties(genids PROPERTIES RUNTIME_OUTPUT_DIRECTORY .) add_custom_command(OUTPUT T_IDs.h COMMAND ./genids ${CMAKE_CURRENT_SOURCE_DIR}/T_messages.txt T_IDs.h @@ -17,6 +18,7 @@ target_include_directories(_check_vcd PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_options(_check_vcd PRIVATE -Wall) target_link_libraries(_check_vcd PRIVATE m pthread) +set_target_properties(_check_vcd PROPERTIES RUNTIME_OUTPUT_DIRECTORY .) add_custom_target(check_vcd COMMAND _check_vcd ${CMAKE_CURRENT_SOURCE_DIR}/T_messages.txt ${CMAKE_CURRENT_SOURCE_DIR}/../LOG/vcd_signal_dumper.h @@ -43,4 +45,6 @@ if(T_TRACER) add_library(T STATIC T.c local_tracer.c T_IDs.h T_messages.txt.h) target_link_libraries(T PUBLIC rt) target_link_libraries(T PRIVATE CONFIG_LIB T_headers) + + add_subdirectory(tracer) endif() diff --git a/common/utils/T/tracer/CMakeLists.txt b/common/utils/T/tracer/CMakeLists.txt new file mode 100644 index 0000000000..6f66c2f4ee --- /dev/null +++ b/common/utils/T/tracer/CMakeLists.txt @@ -0,0 +1,73 @@ +add_library(tracer_utils OBJECT config.c database.c event.c handler.c utils.c) +target_link_libraries(tracer_utils PUBLIC m pthread) + +add_library(tracer_events OBJECT event_selector.c) + +add_executable(record record.c) +target_link_libraries(record PRIVATE tracer_utils) + +add_executable(replay replay.c) +target_link_libraries(replay PRIVATE tracer_utils) + +add_executable(extract_config extract_config.c) +target_link_libraries(extract_config PRIVATE tracer_utils) + +add_executable(extract_input_subframe extract_input_subframe.c) +target_link_libraries(extract_input_subframe PRIVATE tracer_utils) + +add_executable(extract_output_subframe extract_output_subframe.c) +target_link_libraries(extract_output_subframe PRIVATE tracer_utils) + +add_executable(extract extract.c) +target_link_libraries(extract PRIVATE tracer_utils) + +add_executable(textlog textlog.c) +target_link_libraries(textlog PRIVATE tracer_utils tracer_filter tracer_gui + tracer_logger tracer_view tracer_events) + + +find_library(png png REQUIRED) +add_executable(enb enb.c) +target_link_libraries(enb PRIVATE tracer_utils tracer_filter tracer_gui + tracer_logger tracer_view tracer_events) +target_link_libraries(enb PRIVATE png) + +add_executable(ue ue.c) +target_link_libraries(ue PRIVATE tracer_utils tracer_filter tracer_gui + tracer_logger tracer_view tracer_events) +target_link_libraries(ue PRIVATE png) + +add_executable(vcd vcd.c) +target_link_libraries(vcd PRIVATE tracer_utils tracer_filter tracer_gui + tracer_logger tracer_view tracer_events) + +add_executable(to_vcd to_vcd.c) +target_link_libraries(to_vcd PRIVATE tracer_utils tracer_filter tracer_gui + tracer_logger tracer_view tracer_events) + +add_executable(macpdu2wireshark macpdu2wireshark.c) +target_link_libraries(macpdu2wireshark PRIVATE tracer_utils) + +add_executable(multi multi.c) +target_link_libraries(multi PRIVATE tracer_utils T) +target_include_directories(multi PRIVATE ..) + +add_executable(gnb gnb.c) +target_link_libraries(gnb PRIVATE tracer_utils tracer_filter tracer_gui + tracer_logger tracer_view tracer_events) +target_link_libraries(gnb PRIVATE png) + +add_subdirectory(filter) +add_subdirectory(gui) +add_subdirectory(logger) +add_subdirectory(view) + +add_custom_target(T_tools) +add_dependencies(T_tools + record replay extract_config textlog enb ue vcd macpdu2wireshark + extract_input_subframe extract_output_subframe to_vcd extract multi + gnb) +add_dependencies(nr-softmodem T_tools) +add_dependencies(nr-uesoftmodem T_tools) +add_dependencies(lte-softmodem T_tools) +add_dependencies(lte-uesoftmodem T_tools) diff --git a/common/utils/T/tracer/filter/CMakeLists.txt b/common/utils/T/tracer/filter/CMakeLists.txt new file mode 100644 index 0000000000..828f1bc40b --- /dev/null +++ b/common/utils/T/tracer/filter/CMakeLists.txt @@ -0,0 +1,2 @@ +add_library(tracer_filter STATIC filter.c) +target_include_directories(tracer_filter PRIVATE ..) diff --git a/common/utils/T/tracer/gui/CMakeLists.txt b/common/utils/T/tracer/gui/CMakeLists.txt new file mode 100644 index 0000000000..f1485be484 --- /dev/null +++ b/common/utils/T/tracer/gui/CMakeLists.txt @@ -0,0 +1,10 @@ +include(FindPkgConfig) +pkg_check_modules(xft REQUIRED xft) +find_library(X11 X11 REQUIRED) +add_library(tracer_gui STATIC + init.c loop.c toplevel_window.c x.c container.c widget.c + gui.c label.c textarea.c event.c xy_plot.c textlist.c notify.c + positioner.c timeline.c space.c image.c) + +target_link_libraries(tracer_gui PRIVATE pthread m ${xft_LIBRARIES} X11) +target_include_directories(tracer_gui PRIVATE ${xft_INCLUDE_DIRS}) diff --git a/common/utils/T/tracer/gui/x_defs.h b/common/utils/T/tracer/gui/x_defs.h index d0595ef51d..d117a63e2e 100644 --- a/common/utils/T/tracer/gui/x_defs.h +++ b/common/utils/T/tracer/gui/x_defs.h @@ -2,7 +2,7 @@ #define _X_DEFS_H_ #include -#include +#include struct x_connection { Display *d; diff --git a/common/utils/T/tracer/logger/CMakeLists.txt b/common/utils/T/tracer/logger/CMakeLists.txt new file mode 100644 index 0000000000..72a207b50c --- /dev/null +++ b/common/utils/T/tracer/logger/CMakeLists.txt @@ -0,0 +1,5 @@ +add_library(tracer_logger STATIC + logger.c textlog.c framelog.c ttilog.c timelog.c ticklog.c iqlog.c + iqdotlog.c ticked_ttilog.c throughputlog.c) +target_link_libraries(tracer_logger PRIVATE pthread tracer_filter) +target_include_directories(tracer_logger PRIVATE ..) diff --git a/common/utils/T/tracer/view/CMakeLists.txt b/common/utils/T/tracer/view/CMakeLists.txt new file mode 100644 index 0000000000..f0bf1abae0 --- /dev/null +++ b/common/utils/T/tracer/view/CMakeLists.txt @@ -0,0 +1,5 @@ +add_library(tracer_view STATIC + stdout.c textlist.c xy.c tti.c time.c ticktime.c scrolltti.c) +target_link_libraries(tracer_view PRIVATE pthread) +target_include_directories(tracer_view PRIVATE ../logger) +target_include_directories(tracer_view PUBLIC ..)