By default the "Last session" configuration file will be saved in ${HOME}/.cache/kernelshark After applying this patch you may need to clean the CMAKE cache. This can be done by: cd kernel-shark/build/;./cmake_clean.sh; cd - make gui Suggested-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> Signed-off-by: Yordan Karadzhov <ykaradzhov@xxxxxxxxxx> --- Makefile | 2 +- kernel-shark/CMakeLists.txt | 13 ++++++++----- kernel-shark/build/deff.h.cmake | 4 ++-- kernel-shark/src/KsMainWindow.cpp | 4 ++-- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index b780718..4cebd00 100644 --- a/Makefile +++ b/Makefile @@ -254,7 +254,7 @@ all_cmd: $(CMD_TARGETS) CMAKE_COMMAND = /usr/bin/cmake $(kshark-dir)/build/Makefile: $(kshark-dir)/CMakeLists.txt - $(Q) cd $(kshark-dir)/build && $(CMAKE_COMMAND) .. + $(Q) cd $(kshark-dir)/build && $(CMAKE_COMMAND) -DKS_CACHE_DIR=$(HOME)/.cache/kernelshark .. gui: force $(CMD_TARGETS) $(kshark-dir)/build/Makefile $(Q)$(MAKE) $(S) -C $(kshark-dir)/build diff --git a/kernel-shark/CMakeLists.txt b/kernel-shark/CMakeLists.txt index 20ced14..c3743b4 100644 --- a/kernel-shark/CMakeLists.txt +++ b/kernel-shark/CMakeLists.txt @@ -12,10 +12,12 @@ message("\n project: Kernel Shark: (version: ${KS_VERSION_STRING})\n") set(KS_DIR ${CMAKE_SOURCE_DIR}) -# Make a directory to hold configuration files. To change this do: -# cmake .. -DKS_CONF_DIR=/your/preferred/path -set(KS_CONF_DIR "${KS_DIR}/.ksconf" CACHE STRING "Directory for configuration files.") -file(MAKE_DIRECTORY ${KS_CONF_DIR}) +# Make a directory to hold cached configuration files. To change this do: +# cmake .. -DKS_CACHE_DIR=/your/preferred/path +set(KS_CACHE_DIR "$ENV{HOME}/.cache/kernelshark" + CACHE STRING "Directory for cached configuration files.") + +file(MAKE_DIRECTORY ${KS_CACHE_DIR}) include(${KS_DIR}/build/FindTraceCmd.cmake) include(${KS_DIR}/build/FindJSONC.cmake) @@ -59,7 +61,8 @@ include_directories(${KS_DIR}/src/ message("") message(STATUS "C flags : " ${CMAKE_C_FLAGS}) message(STATUS "CXX flags : " ${CMAKE_CXX_FLAGS}) -message(STATUS "Linker flags : " ${CMAKE_EXE_LINKER_FLAGS}) +message(STATUS "Linker flags : " ${CMAKE_EXE_LINKER_FLAGS}\n) +message(STATUS "config. files saved in ${KS_CACHE_DIR}") add_subdirectory(${KS_DIR}/src) add_subdirectory(${KS_DIR}/examples) diff --git a/kernel-shark/build/deff.h.cmake b/kernel-shark/build/deff.h.cmake index 80d624c..56b37da 100644 --- a/kernel-shark/build/deff.h.cmake +++ b/kernel-shark/build/deff.h.cmake @@ -14,8 +14,8 @@ /** KernelShark source code path. */ #cmakedefine KS_DIR "@KS_DIR@" -/** KernelShark configuration directory path. */ -#cmakedefine KS_CONF_DIR "@KS_CONF_DIR@" +/** KernelShark cache directory path. */ +#cmakedefine KS_CACHE_DIR "@KS_CACHE_DIR@" /** Location of the trace-cmd executable. */ #cmakedefine TRACECMD_BIN_DIR "@TRACECMD_BIN_DIR@" diff --git a/kernel-shark/src/KsMainWindow.cpp b/kernel-shark/src/KsMainWindow.cpp index 8ac19a7..d832f3f 100644 --- a/kernel-shark/src/KsMainWindow.cpp +++ b/kernel-shark/src/KsMainWindow.cpp @@ -133,7 +133,7 @@ KsMainWindow::KsMainWindow(QWidget *parent) KsMainWindow::~KsMainWindow() { kshark_context *kshark_ctx(nullptr); - QString file = KS_CONF_DIR; + QString file = KS_CACHE_DIR; file += "/lastsession.json"; @@ -370,7 +370,7 @@ void KsMainWindow::_open() void KsMainWindow::_restorSession() { - QString file = KS_CONF_DIR; + QString file = KS_CACHE_DIR; file += "/lastsession.json"; loadSession(file); -- 2.19.1