From 0eb416d487ae381a78fe99498a5217e9f24d7413 Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Fri, 28 May 2010 11:04:48 -0300 Subject: Disabled GCC optimization flags by default. Reviewer: Luciano Wolf , Marcelo Lira --- CMakeLists.txt | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 02ac03655..fed56f6d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,25 +4,31 @@ project(pysidebindings) cmake_minimum_required(VERSION 2.6) -set(CMAKE_CXX_FLAGS_RELEASE "-Wall -DNDEBUG -Os -Wno-strict-aliasing -fvisibility=hidden") -set(CMAKE_CXX_FLAGS_DEBUG "-g -fno-common -Wall -fno-strict-aliasing -fvisibility=hidden") - -if (CMAKE_HOST_UNIX) - if (CMAKE_HOST_APPLE) - if (NOT QT_INCLUDE_DIR) - set(QT_INCLUDE_DIR "/Library/Frameworks") - endif () - else () - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wl,-O1 -Wl,--hash-style=gnu") - endif () -endif () +if(CMAKE_HOST_UNIX) + option(ENABLE_GCC_OPTIMIZATION "Enable specific GCC flags to optimization library size and performance. Only available on Release Mode" 0) + set(CMAKE_CXX_FLAGS "-Wall -fvisibility=hidden") + set(CMAKE_CXX_FLAGS_DEBUG "-g") + if(ENABLE_GCC_OPTIMIZATION) + set(CMAKE_BUILD_TYPE Release) + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -DNDEBUG -Os -Wno-strict-aliasing -Wl,-O1") + if(NOT CMAKE_HOST_APPLE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--hash-style=gnu") + endif() + endif() -if (NOT CMAKE_BUILD_TYPE) + if(CMAKE_HOST_APPLE) + if (NOT QT_INCLUDE_DIR) + set(QT_INCLUDE_DIR "/Library/Frameworks") + endif() + endif() +endif() + +if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() option(AVOID_PROTECTED_HACK "Avoid protected hack on generated bindings." FALSE) -if (AVOID_PROTECTED_HACK OR WIN32) +if(AVOID_PROTECTED_HACK OR WIN32) add_definitions(-DAVOID_PROTECTED_HACK) message(STATUS "Avoiding protected hack!") endif() -- cgit v1.2.3