From 3dbe2e27b8e664d8e6da96f8129895c599e8821a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Oskar=20=C5=9Awitalski?= Date: Wed, 22 Jul 2015 13:10:53 +0200 Subject: [PATCH] Add debug compilation mode To build in chosen mode -DCMAKE_BUILD_TYPE= should be added to CMake command. Available modes are: RELEASE, DEBUG, CCOV, PROFILING. Change-Id: I7cf54f43014a18e1871575b86495dfbc7ae01102 --- CMakeLists.txt | 12 ++++++++++++ packaging/nice-lad.spec | 6 +++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ffbe771..0ec72ea 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,6 +14,7 @@ # # @file CMakeLists.txt # @author Aleksander Zdyb +# @author Oskar Świtalski # CMAKE_MINIMUM_REQUIRED(VERSION 2.8.3) @@ -21,6 +22,13 @@ PROJECT(nice-lad) OPTION(WITH_TESTS "Build tests" ON) +############################# compiler flags ################################## + +SET(CMAKE_CXX_FLAGS_PROFILING "-O0 -g -pg") +SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb") +SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -g") +SET(CMAKE_CXX_FLAGS_CCOV "-O2 -g --coverage") + # Check for C++11 support and enable proper compilation flags INCLUDE(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) @@ -35,6 +43,10 @@ ELSE() ENDIF() ENDIF() +IF (CMAKE_BUILD_TYPE MATCHES "DEBUG") + ADD_DEFINITIONS("-DBUILD_TYPE_DEBUG") +ENDIF (CMAKE_BUILD_TYPE MATCHES "DEBUG") + SET(BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH diff --git a/packaging/nice-lad.spec b/packaging/nice-lad.spec index 473911c..596d8d9 100644 --- a/packaging/nice-lad.spec +++ b/packaging/nice-lad.spec @@ -41,10 +41,14 @@ cp -a %{SOURCE1001} . cp -a %{SOURCE1002} . %build -%if 0%{?sec_build_binary_debug_enable} +%if 0%{?sec_build_binary_debug_enable:1} export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE" %endif +%if 0%{!?build_type:1} +%define build_type RELEASE +%endif + %if %{?build_type} == "DEBUG" export CXXFLAGS="$CXXFLAGS -Wp,-U_FORTIFY_SOURCE" %endif -- 2.7.4