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