Revision: 40603
          http://brlcad.svn.sourceforge.net/brlcad/?rev=40603&view=rev
Author:   starseeker
Date:     2010-09-17 19:22:52 +0000 (Fri, 17 Sep 2010)

Log Message:
-----------
Move some files, more compiler flag updates.

Modified Paths:
--------------
    brlcad/branches/cmake/misc/CMake/CompilerFlags.cmake

Added Paths:
-----------
    brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake
    brlcad/branches/cmake/misc/CMake/FindShellDeps.cmake

Removed Paths:
-------------
    brlcad/branches/cmake/misc/CMake/BRLCAD_ConfigFile.cmake
    brlcad/branches/cmake/misc/CMake/FindSH.cmake

Added: brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake
===================================================================
--- brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake                
                (rev 0)
+++ brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake        
2010-09-17 19:22:52 UTC (rev 40603)
@@ -0,0 +1,35 @@
+# Automate putting variables from tests into a config.h.in file
+
+INCLUDE(CheckFunctionExists)
+INCLUDE(CheckIncludeFiles)
+INCLUDE(CheckIncludeFileCXX)
+INCLUDE(CheckTypeSize)
+
+MACRO(BRLCAD_FUNCTION_EXISTS function var)
+  CHECK_FUNCTION_EXISTS(${function} ${var})
+  if(CONFIG_H_FILE)
+     FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
+  endif(CONFIG_H_FILE)
+ENDMACRO(BRLCAD_FUNCTION_EXISTS)
+
+MACRO(BRLCAD_INCLUDE_FILE filename var)
+  CHECK_INCLUDE_FILE(${filename} ${var})
+  if(CONFIG_H_FILE)
+     FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
+  endif(CONFIG_H_FILE)
+ENDMACRO(BRLCAD_INCLUDE_FILE)
+
+MACRO(BRLCAD_INCLUDE_FILE_CXX filename var)
+  CHECK_INCLUDE_FILE_CXX(${filename} ${var})
+  if(CONFIG_H_FILE)
+     FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
+  endif(CONFIG_H_FILE)
+ENDMACRO(BRLCAD_INCLUDE_FILE_CXX)
+
+MACRO(BRLCAD_TYPE_SIZE typename var)
+  CHECK_TYPE_SIZE(${typename} ${var})
+  if(CONFIG_H_FILE)
+     FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_${var} 1\n")
+  endif(CONFIG_H_FILE)
+ENDMACRO(BRLCAD_TYPE_SIZE)
+


Property changes on: 
brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake
___________________________________________________________________
Added: svn:mime-type
   + text/native
Added: svn:eol-style
   + native

Deleted: brlcad/branches/cmake/misc/CMake/BRLCAD_ConfigFile.cmake
===================================================================
--- brlcad/branches/cmake/misc/CMake/BRLCAD_ConfigFile.cmake    2010-09-17 
15:38:36 UTC (rev 40602)
+++ brlcad/branches/cmake/misc/CMake/BRLCAD_ConfigFile.cmake    2010-09-17 
19:22:52 UTC (rev 40603)
@@ -1,35 +0,0 @@
-# Automate putting variables from tests into a config.h.in file
-
-INCLUDE(CheckFunctionExists)
-INCLUDE(CheckIncludeFiles)
-INCLUDE(CheckIncludeFileCXX)
-INCLUDE(CheckTypeSize)
-
-MACRO(BRLCAD_FUNCTION_EXISTS function var)
-  CHECK_FUNCTION_EXISTS(${function} ${var})
-  if(CONFIG_H_FILE)
-     FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
-  endif(CONFIG_H_FILE)
-ENDMACRO(BRLCAD_FUNCTION_EXISTS)
-
-MACRO(BRLCAD_INCLUDE_FILE filename var)
-  CHECK_INCLUDE_FILE(${filename} ${var})
-  if(CONFIG_H_FILE)
-     FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
-  endif(CONFIG_H_FILE)
-ENDMACRO(BRLCAD_INCLUDE_FILE)
-
-MACRO(BRLCAD_INCLUDE_FILE_CXX filename var)
-  CHECK_INCLUDE_FILE_CXX(${filename} ${var})
-  if(CONFIG_H_FILE)
-     FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
-  endif(CONFIG_H_FILE)
-ENDMACRO(BRLCAD_INCLUDE_FILE_CXX)
-
-MACRO(BRLCAD_TYPE_SIZE typename var)
-  CHECK_TYPE_SIZE(${typename} ${var})
-  if(CONFIG_H_FILE)
-     FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_${var} 1\n")
-  endif(CONFIG_H_FILE)
-ENDMACRO(BRLCAD_TYPE_SIZE)
-

Modified: brlcad/branches/cmake/misc/CMake/CompilerFlags.cmake
===================================================================
--- brlcad/branches/cmake/misc/CMake/CompilerFlags.cmake        2010-09-17 
15:38:36 UTC (rev 40602)
+++ brlcad/branches/cmake/misc/CMake/CompilerFlags.cmake        2010-09-17 
19:22:52 UTC (rev 40603)
@@ -7,7 +7,6 @@
                CHECK_C_COMPILER_FLAG(-${flag} ${UPPER_FLAG}_COMPILER_FLAG)
        ELSE(${ARGC} LESS 2)
                IF(NOT ${ARGV1})
-                       MESSAGE("argv1: ${${ARGV1}}")
                        CHECK_C_COMPILER_FLAG(-${flag} 
${UPPER_FLAG}_COMPILER_FLAG)
                        IF(${UPPER_FLAG}_COMPILER_FLAG)
                                MESSAGE("Found - setting ${ARGV1} to -${flag}")
@@ -82,42 +81,72 @@
        IF(NOT PROFILE_FLAG)
                MESSAGE("Warning - profiling requested, but don't know how to 
profile with this compiler - disabling.")
                SET(BRLCAD-ENABLE_PROFILING OFF)
+       ELSE(NOT PROFILE_FLAG)
+               SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${PROFILE_FLAG}")
+               SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PROFILE_FLAG}")
        ENDIF(NOT PROFILE_FLAG)
 ENDIF(BRLCAD-ENABLE_PROFILING)
 
+# Debugging flags
 CHECK_C_FLAG(ggdb3 DEBUG_FLAG)
 CHECK_C_FLAG(g DEBUG_FLAG)
 CHECK_C_FLAG(debug DEBUG_FLAG)
+# add -D_FORTIFY_SOURCE=2 to flags. provides compile-time
+# best-practice error checking on certain libc functions
+# (e.g., memcpy), and provides run-time checks on buffer
+# lengths and memory regions.
+CHECK_C_FLAG_GATHER("D_FORTIFY_SOURCE=2" 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(NOT ${CMAKE_BUILD_TYPE} MATCHES "^Debug$")
+       IF(BRLCAD-ENABLE_DEBUG)
+               SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${DEBUG_FLAG}")
+               SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DEBUG_FLAG}")
+       ENDIF(BRLCAD-ENABLE_DEBUG)
+ENDIF(NOT ${CMAKE_BUILD_TYPE} MATCHES "^Debug$")
 
+# -fast provokes a stack corruption in the shadow computations because
+# of strict aliasing getting enabled.  we _require_
+# -fno-strict-aliasing until someone changes how lists are managed.
 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
+       CHECK_C_FLAG_GATHER(O3 OPTIMIZE_FLAGS)
+       CHECK_C_FLAG_GATHER(ffast-math OPTIMIZE_FLAGS)
+       CHECK_C_FLAG_GATHER(fstrength-reduce OPTIMIZE_FLAGS)
+       CHECK_C_FLAG_GATHER(fexpensive-optimizations OPTIMIZE_FLAGS)
+       CHECK_C_FLAG_GATHER(finline-functions OPTIMIZE_FLAGS)
+       IF(NOT ${CMAKE_BUILD_TYPE} MATCHES "^Debug$" AND NOT 
BRLCAD-ENABLE_DEBUG)
+               CHECK_C_FLAG_GATHER(fomit-frame-pointer OPTIMIZE_FLAGS)
+       ELSE(NOT ${CMAKE_BUILD_TYPE} MATCHES "^Debug$" AND NOT 
BRLCAD-ENABLE_DEBUG)
+               CHECK_C_FLAG_GATHER(fno-omit-frame-pointer OPTIMIZE_FLAGS)
+       ENDIF(NOT ${CMAKE_BUILD_TYPE} MATCHES "^Debug$" AND NOT 
BRLCAD-ENABLE_DEBUG)
+       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OPTIMIZE_FLAGS}")
+       SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OPTIMIZE_FLAGS}")
 ENDIF(BRLCAD-ENABLE_OPTIMIZED_BUILD)
 
+# verbose warning flags
 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)
+       CHECK_C_FLAG_GATHER(w WARNING_FLAGS)
+       CHECK_C_FLAG_GATHER(W WARNING_FLAGS)
+       CHECK_C_FLAG_GATHER(Wall WARNING_FLAGS)
+       CHECK_C_FLAG_GATHER(Wundef WARNING_FLAGS)
+       CHECK_C_FLAG_GATHER(Wfloat-equal WARNING_FLAGS)
+       CHECK_C_FLAG_GATHER(Wshadow WARNING_FLAGS)
+       CHECK_C_FLAG_GATHER(Winline WARNING_FLAGS)
+       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS}")
+       SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS}")
 ENDIF(BRLCAD-ENABLE_COMPILER_WARNINGS)
 
+# Unlike other flags, the STRICT flags are managed on a per-library
+# basis and do not need to be added to any CMAKE_*_FLAGS variable
 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)
+
+

Deleted: brlcad/branches/cmake/misc/CMake/FindSH.cmake
===================================================================
--- brlcad/branches/cmake/misc/CMake/FindSH.cmake       2010-09-17 15:38:36 UTC 
(rev 40602)
+++ brlcad/branches/cmake/misc/CMake/FindSH.cmake       2010-09-17 19:22:52 UTC 
(rev 40603)
@@ -1,10 +0,0 @@
-# - Find Bourne Shell or compatible
-
-# The following variables are set:
-#
-# SH_EXEC 
-
-FIND_PROGRAM(SH_EXEC NAMES sh dash bash DOC "path to shell executable")
-
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SH DEFAULT_MSG SH_EXEC)

Added: brlcad/branches/cmake/misc/CMake/FindShellDeps.cmake
===================================================================
--- brlcad/branches/cmake/misc/CMake/FindShellDeps.cmake                        
        (rev 0)
+++ brlcad/branches/cmake/misc/CMake/FindShellDeps.cmake        2010-09-17 
19:22:52 UTC (rev 40603)
@@ -0,0 +1,16 @@
+# - Find Programs needed to run .sh scripts.
+
+# The following variables are set:
+#
+# SH_EXEC 
+# CP_EXEC
+# MV_EXEC
+# RM_EXEC
+
+FIND_PROGRAM(SH_EXEC NAMES sh dash bash DOC "path to shell executable")
+FIND_PROGRAM(MV_EXEC NAMES mv DOC "path to move executable")
+FIND_PROGRAM(CP_EXEC NAMES cp DOC "path to copy executable")
+FIND_PROGRAM(RM_EXEC NAMES rm DOC "path to remove executable")
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SHELL_SUPPORTED DEFAULT_MSG SH_EXEC CP_EXEC 
MV_EXEC RM_EXEC)


Property changes on: brlcad/branches/cmake/misc/CMake/FindShellDeps.cmake
___________________________________________________________________
Added: svn:mime-type
   + text/native
Added: svn:eol-style
   + native


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

Reply via email to