ENDIF(NOT CMAKE_BUILD_TYPE)
# Compiler flags
-SET(EXTRA_FLAGS "-fvisibility=hidden -flto -Wall -Wextra")
-SET(CMAKE_C_FLAGS_PROFILING "-O2 ${EXTRA_FLAGS}")
-SET(CMAKE_CXX_FLAGS_PROFILING "-O2 -std=c++11 ${EXTRA_FLAGS}")
+SET(EXTRA_FLAGS "-fvisibility=hidden -Wall -Wextra")
+SET(CMAKE_C_FLAGS_PROFILING "-O2 -flto ${EXTRA_FLAGS}")
+SET(CMAKE_CXX_FLAGS_PROFILING "-O2 -flto -std=c++11 ${EXTRA_FLAGS}")
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g ${EXTRA_FLAGS}")
SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -std=c++11 -g ${EXTRA_FLAGS}")
-SET(CMAKE_C_FLAGS_RELEASE "-O2 -g ${EXTRA_FLAGS}")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -std=c++11 -g ${EXTRA_FLAGS}")
+SET(CMAKE_C_FLAGS_RELEASE "-O2 -flto -g ${EXTRA_FLAGS}")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -flto -std=c++11 -g ${EXTRA_FLAGS}")
SET(CMAKE_CXX_FLAGS_CCOV "-O0 -std=c++11 -g --coverage ${EXTRA_FLAGS}")
# Linker flags