Add whole program optimization for Clang.
Also reorder the way CERES_CXX_FLAGS is being used for clarity.
Change-Id: I2bbb90e770d30dd18ecae72939ea03b7fa11e6ae
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0b6e829..f5aaeed 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -612,9 +612,13 @@
ENDIF (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
ENDIF (${BUILD_ANDROID})
ENDIF (CMAKE_COMPILER_IS_GNUCXX)
- SET (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CERES_CXX_FLAGS}")
+ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ SET(CERES_CXX_FLAGS "${CERES_CXX_FLAGS} -O4")
+ ENDIF()
ENDIF (CMAKE_BUILD_TYPE STREQUAL "Release")
+SET (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CERES_CXX_FLAGS}")
+
# After the tweaks for the compile settings, disable some warnings on MSVC.
IF (MSVC)
# Disable signed/unsigned int conversion warnings.