From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx> Add a option to the Makefile called "BUILD_TYPE" that is passed to the CMake commonds to change how kernelshark is built. The current options are: make BUILD_TYPE=Debug gui - for "-g" option make BUILD_TYPE=Release gui - for "-O3" option make BUILD_TYPE=RelWithDebInfo gui - for "-g -O2" option (default) make BUILD_TYPE=MinSizeRel gui - for "-Os" option By default, BUILD_TYPE is set to RelWithDebInfo. Also change the CMakeLists.txt to use RelWithDebInfo as the default instead of just Debug. Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> --- Makefile | 5 ++++- kernel-shark/CMakeLists.txt | 2 +- kernel-shark/README | 6 +++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index c9679d42fdbd..ad74a969249f 100644 --- a/Makefile +++ b/Makefile @@ -252,8 +252,11 @@ all_cmd: $(CMD_TARGETS) CMAKE_COMMAND = /usr/bin/cmake +# Build with "BUILD_TYPE=Release" to remove cmake debug info +BUILD_TYPE ?= RelWithDebInfo + $(kshark-dir)/build/Makefile: $(kshark-dir)/CMakeLists.txt - $(Q) cd $(kshark-dir)/build && $(CMAKE_COMMAND) -D_INSTALL_PREFIX=$(prefix) .. + $(Q) cd $(kshark-dir)/build && $(CMAKE_COMMAND) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -D_INSTALL_PREFIX=$(prefix) .. 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 d932c396e4a6..58a3c3b84309 100644 --- a/kernel-shark/CMakeLists.txt +++ b/kernel-shark/CMakeLists.txt @@ -37,7 +37,7 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -pthread -fPIC") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11 -pthread -fPIC") if (NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE Debug) + set(CMAKE_BUILD_TYPE RelWithDebInfo) endif (NOT CMAKE_BUILD_TYPE) message("\n Build type: ${CMAKE_BUILD_TYPE}") diff --git a/kernel-shark/README b/kernel-shark/README index 4fb13698261b..15d6fbab36fd 100644 --- a/kernel-shark/README +++ b/kernel-shark/README @@ -59,9 +59,13 @@ CMAKE_XXXX_FLAGS_PACKAGE Command-Line options (see the example below). Note that when built as a "Package" the RPATH-s of the executables are set directly to _INSTALL_PREFIX/lib/kernelshark/ -If no build types is specified, the type will be "Debug". +If no build types is specified, the type will be "RelWithDebInfo". Examples: + make BUILD_TYPE=Release + + or directly with cmake in the kernel-shark/build directory: + cmake -D_DOXYGEN_DOC=1 -D_INSTALL_PREFIX=/usr ../ cmake -DCMAKE_BUILD_TYPE=Package -DCMAKE_C_FLAGS_PACKAGE="-O3 -pedantic" ../ -- 2.20.1