From 4bd6afcca5854f6f0d706f226ca8ddf825349b76 Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Fri, 28 May 2010 10:59:55 -0300 Subject: Disabled GCC optimization flags by default. Reviewer: Luciano Wolf , Marcelo Lira --- CMakeLists.txt | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 87744eead..258e7d1c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,11 +7,25 @@ find_package(ApiExtractor REQUIRED) option(BUILD_TESTS "Build tests." TRUE) -if (MSVC) +if(MSVC) set(CMAKE_CXX_FLAGS "/DWIN32 /D_WINDOWS /w /EHsc- /GS- /GR- /DGENRUNNER_BUILD -D_SCL_SECURE_NO_WARNINGS") -else (MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fvisibility=hidden") -endif(MSVC) +elseif(CMAKE_HOST_UNIX) + option(ENABLE_GCC_OPTIMIZATION "Enable specific GCC flags to optimize 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() +endif() + +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Release) +endif() + set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" ) set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE) -- cgit v1.2.3