diff --git a/cmake/DuneUtils.cmake b/cmake/DuneUtils.cmake index 2a31ae08601607f152e9e9686a28ff8d62d5f199..53f889a4986a17752780aa3049a2cb6265b97360 100644 --- a/cmake/DuneUtils.cmake +++ b/cmake/DuneUtils.cmake @@ -103,4 +103,15 @@ FIND_PACKAGE( PkgConfig ) pkg_check_modules( CCGNU REQUIRED libccgnu2 ) ADD_CXX_FLAGS( "${CCGNU_CFLAGS}" ) INCLUDE_SYS_DIR(${Boost_INCLUDE_DIR}) + +#try to enable link-time-optimisation +if (CMAKE_COMPILER_IS_GNUCC) + execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) + if (GCC_VERSION VERSION_GREATER 4.5 OR GCC_VERSION VERSION_EQUAL 4.5) + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -flto") + set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -flto") + set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -flto") + endif() +endif() + ENABLE_TESTING() \ No newline at end of file