Add link time optimization of available
authorHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Mon, 23 Jan 2012 07:28:00 +0000 (08:28 +0100)
committerHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Mon, 23 Jan 2012 07:28:00 +0000 (08:28 +0100)
CMake.config
CMake.flags
CMakeLists.txt

index 8209d18..0e3d1bf 100644 (file)
@@ -1,13 +1,13 @@
 # set CMAKE build type (Debug, Release, MinSizeRel)
 # set CMAKE build type (Debug, Release, MinSizeRel)
-set (CMAKE_BUILD_TYPE Debug)
+set (CMAKE_BUILD_TYPE MinSizeRel)
 
 # set name of program the executable and library prefix
 set (OONF_APP Olsrd)
 set (OONF_EXE olsrd)
 set (OONF_LIBPREFIX olsrd)
 
 
 # set name of program the executable and library prefix
 set (OONF_APP Olsrd)
 set (OONF_EXE olsrd)
 set (OONF_LIBPREFIX olsrd)
 
-# set default configuration file, default will be '/etc/<OONF_APP>.conf'
-# on linux/bsd/osx and '<OONF_APP>.conf' on windows (both in lowercase)
+# set default configuration file, if not set it will be '/etc/<OONF_APP>.conf'
+# on linux/bsd/osx and '<OONF_EXE>.conf' (replaced .exe with .conf)
 
 # set (OONF_DEFAULT_CONF "/etc/olsrd.conf")
 
 
 # set (OONF_DEFAULT_CONF "/etc/olsrd.conf")
 
index 600f929..920b001 100644 (file)
@@ -51,9 +51,8 @@ IF (NOT EXISTS ${OONF_DEFAULT_CONF})
     string(REPLACE ".exe" ".conf" OONF_DEFAULT_CONF "${OONF_EXE}")
   ELSE(WIN32)
     # unix default config file is /etc/<executable-name>.conf
     string(REPLACE ".exe" ".conf" OONF_DEFAULT_CONF "${OONF_EXE}")
   ELSE(WIN32)
     # unix default config file is /etc/<executable-name>.conf
-    set (OONF_DEFAULT_CONF "/etc/${OONF_APP}.conf")
+    set (OONF_DEFAULT_CONF "/etc/${OONF_EXE}.conf")
   ENDIF(WIN32)
   ENDIF(WIN32)
-    STRING(TOLOWER ${OONF_DEFAULT_CONF} OONF_DEFAULT_CONF)
 ENDIF()
 
 # add some necessary additions for win32
 ENDIF()
 
 # add some necessary additions for win32
@@ -97,3 +96,11 @@ add_compiler_flag(-Winline)
 add_compiler_flag(-Wdisabled-optimization)
 add_compiler_flag(-Wformat)
 add_compiler_flag(-Wformat-security)
 add_compiler_flag(-Wdisabled-optimization)
 add_compiler_flag(-Wformat)
 add_compiler_flag(-Wformat-security)
+
+# check for link time optimization
+check_c_compiler_flag("-flto" test_lto)
+if (${test_lto})
+    ADD_DEFINITIONS(-flto -fuse-linker-plugin)
+    SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -flto")
+    SET(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} -flto")
+endif()
index 9aca1dc..0b991bb 100644 (file)
@@ -11,7 +11,7 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
 
 # set release specific compiler options
 set(CMAKE_C_FLAGS_DEBUG "-g")
 
 # set release specific compiler options
 set(CMAKE_C_FLAGS_DEBUG "-g")
-set(CMAKE_C_FLAGS_RELEASE "-O2 -g0 -DNDEBUG")
+set(CMAKE_C_FLAGS_RELEASE "-O3 -g0 -DNDEBUG")
 set(CMAKE_C_FLAGS_MINSIZEREL "-Os -g0 -DNDEBUG")
 
 # add generic compiler options
 set(CMAKE_C_FLAGS_MINSIZEREL "-Os -g0 -DNDEBUG")
 
 # add generic compiler options