Revision: 40591
http://brlcad.svn.sourceforge.net/brlcad/?rev=40591&view=rev
Author: starseeker
Date: 2010-09-16 21:16:38 +0000 (Thu, 16 Sep 2010)
Log Message:
-----------
More compiler flag stuff, most of it not working yet.
Modified Paths:
--------------
brlcad/branches/cmake/CMakeLists.txt
brlcad/branches/cmake/misc/CMake/CompilerFlags.cmake
Modified: brlcad/branches/cmake/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/CMakeLists.txt 2010-09-16 20:16:26 UTC (rev
40590)
+++ brlcad/branches/cmake/CMakeLists.txt 2010-09-16 21:16:38 UTC (rev
40591)
@@ -491,8 +491,6 @@
MARK_AS_ADVANCED(BRLCAD-ENABLE_STRICT)
if (BRLCAD-ENABLE_STRICT)
FILE(APPEND ${CONFIG_H_FILE} "#define STRICT_FLAGS 1\n")
- # TODO move this to CompilerFlags.cmake
- SET(STRICT_FLAGS "-pedantic -W -Wall -Werror -Wno-long-long" CACHE
STRING "strict compiler flags")
endif (BRLCAD-ENABLE_STRICT)
# Build with O3 compiler optimization
Modified: brlcad/branches/cmake/misc/CMake/CompilerFlags.cmake
===================================================================
--- brlcad/branches/cmake/misc/CMake/CompilerFlags.cmake 2010-09-16
20:16:26 UTC (rev 40590)
+++ brlcad/branches/cmake/misc/CMake/CompilerFlags.cmake 2010-09-16
21:16:38 UTC (rev 40591)
@@ -6,18 +6,28 @@
IF(${ARGC} LESS 2)
CHECK_C_COMPILER_FLAG(-${flag} ${UPPER_FLAG}_FLAG)
ENDIF(${ARGC} LESS 2)
- IF(NOT ${ARGV1})
+ IF(NOT ARGV1)
CHECK_C_COMPILER_FLAG(-${flag} ${UPPER_FLAG}_FLAG)
- ENDIF(NOT ${ARGV1})
+ ENDIF(NOT ARGV1)
IF(${UPPER_FLAG}_FLAG)
SET(${UPPER_FLAG}_FLAG "-${flag}")
- IF(${ARGC} GREATER 1)
+ IF(${ARGC} GREATER 1 AND NOT ${ARGV1})
MESSAGE("Found - setting ${ARGV1} to -${flag}")
SET(${ARGV1} "-${flag}" CACHE STRING "${ARGV1}" FORCE)
- ENDIF(${ARGC} GREATER 1)
+ ENDIF(${ARGC} GREATER 1 AND NOT ${ARGV1})
ENDIF(${UPPER_FLAG}_FLAG)
ENDMACRO()
+MACRO(CHECK_C_FLAG_GATHER flag FLAGS)
+ STRING(TOUPPER ${flag} UPPER_FLAG)
+ STRING(REGEX REPLACE " " "_" UPPER_FLAG ${UPPER_FLAG})
+ CHECK_C_COMPILER_FLAG(-${flag} ${UPPER_FLAG}_FLAG)
+ IF(${UPPER_FLAG}_FLAG)
+ SET(${FLAGS} "${${FLAGS}} -${flag}")
+ ENDIF(${UPPER_FLAG}_FLAG)
+ENDMACRO()
+
+
# try to use -pipe to speed up the compiles
CHECK_C_FLAG(pipe)
@@ -72,3 +82,40 @@
SET(BRLCAD-ENABLE_PROFILING OFF)
ENDIF(NOT PROFILE_FLAG)
ENDIF(BRLCAD-ENABLE_PROFILING)
+
+CHECK_C_FLAG(ggdb3 DEBUG_FLAG)
+CHECK_C_FLAG(g DEBUG_FLAG)
+CHECK_C_FLAG(debug DEBUG_FLAG)
+SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${DEBUG_FLAG}")
+SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${DEBUG_FLAG}")
+
+IF(BRLCAD-ENABLE_OPTIMIZED_BUILD)
+ CHECK_C_FLAG(O3)
+ CHECK_C_FLAG(ffast-math)
+ CHECK_C_FLAG(fstrength-reduce)
+ CHECK_C_FLAG(fexpensive-optimizations)
+ CHECK_C_FLAG(finline-functions)
+ #Think about how these are to be set
+ENDIF(BRLCAD-ENABLE_OPTIMIZED_BUILD)
+
+IF(BRLCAD-ENABLE_COMPILER_WARNINGS)
+ # also of interest:
+ # -Wunreachable-code -Wmissing-declarations -Wmissing-prototypes
-Wstrict-prototypes -ansi
+ # -Wformat=2 (after bu_fopen_uniq() is obsolete)
+ CHECK_C_FLAG(w)
+ CHECK_C_FLAG(W)
+ CHECK_C_FLAG(Wall)
+ CHECK_C_FLAG(Wundef)
+ CHECK_C_FLAG(Wfloat-equal)
+ CHECK_C_FLAG(Wshadow)
+ CHECK_C_FLAG(Winline)
+ENDIF(BRLCAD-ENABLE_COMPILER_WARNINGS)
+
+IF(BRLCAD-ENABLE_STRICT)
+ CHECK_C_FLAG_GATHER(pedantic STRICT_FLAGS)
+ CHECK_C_FLAG_GATHER(W STRICT_FLAGS)
+ CHECK_C_FLAG_GATHER(Wall STRICT_FLAGS)
+ CHECK_C_FLAG_GATHER(Werror STRICT_FLAGS)
+ CHECK_C_FLAG_GATHER(Wno-long-long STRICT_FLAGS)
+ MESSAGE("STRICT FLAGS: ${STRICT_FLAGS}")
+ENDIF(BRLCAD-ENABLE_STRICT)
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits