Revision: 45763
          http://brlcad.svn.sourceforge.net/brlcad/?rev=45763&view=rev
Author:   starseeker
Date:     2011-08-02 19:14:55 +0000 (Tue, 02 Aug 2011)

Log Message:
-----------
More refinement of the compiler flags logic.  May have to go one step further 
for MSVC project files...

Modified Paths:
--------------
    brlcad/trunk/CMakeLists.txt
    brlcad/trunk/misc/CMake/CompilerFlags.cmake

Modified: brlcad/trunk/CMakeLists.txt
===================================================================
--- brlcad/trunk/CMakeLists.txt 2011-08-02 18:27:55 UTC (rev 45762)
+++ brlcad/trunk/CMakeLists.txt 2011-08-02 19:14:55 UTC (rev 45763)
@@ -376,7 +376,7 @@
    MESSAGE("* To use optimized settings intended for a package or system 
install,")
        MESSAGE("  specify a Release build (on the command line, 
-DCMAKE_BUILD_TYPE=Release).")
        MESSAGE("* To force CMake to not set build type, specify 
-DCMAKE_BUILD_TYPE=NONE")
-       SET(CMAKE_BUILD_TYPE Debug)
+       SET(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build Type" FORCE)
        SET(CMAKE_BUILD_TYPE_MSG TRUE CACHE INTERNAL "Printed build type info 
message")
 ENDIF(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_BUILD_TYPE_MSG)
 
@@ -702,6 +702,14 @@
        FILE(APPEND  ${CONFIG_H_FILE} "#define NO_DEBUG_CHECKING 1\n")
 ENDIF(NOT BRLCAD-ENABLE_RUNTIME_DEBUG)
 
+# Enable debug flags during compilation
+IF ("${CMAKE_BUILD_TYPE}" MATCHES "Release")
+       OPTION(BRLCAD-ENABLE_DEBUG_FLAGS "Use compiler warning flags" OFF)
+ELSE("${CMAKE_BUILD_TYPE}" MATCHES "Release")
+       OPTION(BRLCAD-ENABLE_DEBUG_FLAGS "Use compiler warning flags" ON)
+ENDIF ("${CMAKE_BUILD_TYPE}" MATCHES "Release")
+
+
 # Build with compiler warning flags
 OPTION(BRLCAD-ENABLE_COMPILER_WARNINGS "Use compiler warning flags" ON)
 MARK_AS_ADVANCED(BRLCAD-ENABLE_COMPILER_WARNINGS)
@@ -1230,9 +1238,11 @@
        IF(NOT BUILD_TYPE)
                SET(CMAKE_ALL_C_FLAGS "${CMAKE_C_FLAGS}")
                SET(CMAKE_ALL_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+               SET(CMAKE_ALL_SHARED_LINKER_FLAGS 
"${CMAKE_SHARED_LINKER_FLAGS}")
        ELSE(NOT BUILD_TYPE)
                SET(CMAKE_ALL_C_FLAGS "${CMAKE_C_FLAGS_${BUILD_TYPE}}")
                SET(CMAKE_ALL_CXX_FLAGS "${CMAKE_CXX_FLAGS_${BUILD_TYPE}}")
+               SET(CMAKE_ALL_SHARED_LINKER_FLAGS 
"${CMAKE_SHARED_LINKER_FLAGS_${BUILD_TYPE}}")
        ENDIF(NOT BUILD_TYPE)
 
        # Compiler settings - in this case there are additional "special case" 
flags that get
@@ -1242,8 +1252,8 @@
        SET(CMAKE_CXX_COMPILER_LABEL "CXX")
        SET(CMAKE_ALL_C_FLAGS_LABEL "CFLAGS")
        SET(CMAKE_ALL_CXX_FLAGS_LABEL "CXXFLAGS")
-       SET(CMAKE_SHARED_LINKER_FLAGS_LABEL "LDFLAGS")
-       SET(SETTINGLABELS CMAKE_C_COMPILER CMAKE_CXX_COMPILER CMAKE_ALL_C_FLAGS 
CMAKE_ALL_CXX_FLAGS CMAKE_SHARED_LINKER_FLAGS)
+       SET(CMAKE_ALL_SHARED_LINKER_FLAGS_LABEL "LDFLAGS")
+       SET(SETTINGLABELS CMAKE_C_COMPILER CMAKE_CXX_COMPILER CMAKE_ALL_C_FLAGS 
CMAKE_ALL_CXX_FLAGS CMAKE_ALL_SHARED_LINKER_FLAGS)
        SET(SETTING_LABEL_LENGTH 0)
        FOREACH(setting_label ${SETTINGLABELS})
                STRING(LENGTH ${${setting_label}_LABEL} CURRENT_LENGTH)
@@ -1262,12 +1272,6 @@
        ENDFOREACH()
        MESSAGE("")
 
-       IF ("${CMAKE_BUILD_TYPE}" MATCHES "Release")
-               SET(BRLCAD-ENABLE_DEBUG_BUILD OFF)
-       ELSE("${CMAKE_BUILD_TYPE}" MATCHES "Release")
-               SET(BRLCAD-ENABLE_DEBUG_BUILD ON)
-       ENDIF ("${CMAKE_BUILD_TYPE}" MATCHES "Release")
-
        # Build options
        SET(BRLCAD_BUILD_LOCAL_TCL_LABEL "Build Tcl ")
        SET(BRLCAD_BUILD_LOCAL_TK_LABEL "Build Tk ")
@@ -1297,7 +1301,7 @@
        endif (BRLCAD-ENABLE_64BIT)
        SET(BRLCAD_ARCH_BITSETTING_LABEL "Build 64-bit release ")
        SET(BRLCAD-ENABLE_OPTIMIZED_BUILD_LABEL "Build optimized release ")
-       SET(BRLCAD-ENABLE_DEBUG_BUILD_LABEL "Build debug release ")
+       SET(BRLCAD-ENABLE_DEBUG_FLAGS_LABEL "Build with debug flags")
        SET(BRLCAD-ENABLE_PROFILING_LABEL "Build profile release ")
        SET(BRLCAD-ENABLE_SMP_LABEL "Build SMP-capable release ")
        SET(BUILD_STATIC_LIBS_LABEL "Build static libraries ")
@@ -1318,7 +1322,8 @@
 
        SET(SETTINGLIST1 BRLCAD_BUILD_LOCAL_TCL BRLCAD_BUILD_LOCAL_TK 
BRLCAD_BUILD_LOCAL_INCRTCL BRLCAD_BUILD_LOCAL_IWIDGETS 
BRLCAD_BUILD_LOCAL_TKHTML BRLCAD_BUILD_LOCAL_TKPNG BRLCAD_BUILD_LOCAL_TKTABLE 
BRLCAD_BUILD_LOCAL_PNG BRLCAD_BUILD_LOCAL_REGEX BRLCAD_BUILD_LOCAL_ZLIB 
BRLCAD_BUILD_LOCAL_TERMLIB BRLCAD_BUILD_LOCAL_UTAHRLE 
BRLCAD_BUILD_LOCAL_OPENNURBS BRLCAD_BUILD_LOCAL_SCL)
        SET(SETTINGLIST2 BRLCAD-ENABLE_X11 BRLCAD-ENABLE_OPENGL 
BRLCAD-ENABLE_RTSERVER BRLCAD-ENABLE_RUNTIME_DEBUG )
-       SET(SETTINGLIST3 BRLCAD_ARCH_BITSETTING BRLCAD-ENABLE_OPTIMIZED_BUILD 
BRLCAD-ENABLE_DEBUG_BUILD BRLCAD-ENABLE_PROFILING BRLCAD-ENABLE_SMP 
BUILD_STATIC_LIBS BUILD_SHARED_LIBS BRLCAD-ENABLE_COMPILER_WARNINGS 
BRLCAD-ENABLE_VERBOSE_PROGRESS BRLCAD-INSTALL_EXAMPLE_GEOMETRY 
BRLCAD-BUILD_DOCBUILD_MSG)
+       SET(SETTINGLIST3 BRLCAD_ARCH_BITSETTING BRLCAD-ENABLE_OPTIMIZED_BUILD
+               BRLCAD-ENABLE_DEBUG_FLAGS BRLCAD-ENABLE_PROFILING 
BRLCAD-ENABLE_SMP BUILD_STATIC_LIBS BUILD_SHARED_LIBS 
BRLCAD-ENABLE_COMPILER_WARNINGS BRLCAD-ENABLE_VERBOSE_PROGRESS 
BRLCAD-INSTALL_EXAMPLE_GEOMETRY BRLCAD-BUILD_DOCBUILD_MSG)
        SET(ARRAYLIST SETTINGLIST1 SETTINGLIST2 SETTINGLIST3)
        SET(SETTING_LABEL_LENGTH 0)
        FOREACH(setting_array ${ARRAYLIST})

Modified: brlcad/trunk/misc/CMake/CompilerFlags.cmake
===================================================================
--- brlcad/trunk/misc/CMake/CompilerFlags.cmake 2011-08-02 18:27:55 UTC (rev 
45762)
+++ brlcad/trunk/misc/CMake/CompilerFlags.cmake 2011-08-02 19:14:55 UTC (rev 
45763)
@@ -1,13 +1,21 @@
 INCLUDE(CheckCCompilerFlag)
 INCLUDE(CheckCXXCompilerFlag)
 
+# To reduce verbosity in this file, determine up front which
+# build configuration type (if any) we are using and stash
+# the variables we want to assign flags to into a common
+# variable that will be used for all routines.
 STRING(TOUPPER "${CMAKE_BUILD_TYPE}" BUILD_TYPE)
 IF(BUILD_TYPE)
        SET(C_FLAGS CMAKE_C_FLAGS_${BUILD_TYPE})
        SET(CXX_FLAGS CMAKE_CXX_FLAGS_${BUILD_TYPE})
+       SET(LD_FLAGS CMAKE_SHARED_LINKER_FLAGS_${BUILD_TYPE})
+       SET(EXE_FLAGS CMAKE_EXE_LINKER_FLAGS_${BUILD_TYPE})
 ELSE(BUILD_TYPE)
        SET(C_FLAGS CMAKE_C_FLAGS)
        SET(CXX_FLAGS CMAKE_CXX_FLAGS)
+       SET(LD_FLAGS CMAKE_SHARED_LINKER_FLAGS)
+       SET(EXE_FLAGS CMAKE_EXE_LINKER_FLAGS)
 ENDIF(BUILD_TYPE)
 
 MACRO(CHECK_C_FLAG flag)
@@ -119,8 +127,8 @@
        CHECK_C_FLAG(q64 64BIT_FLAG)
        SET(${C_FLAGS} "${${C_FLAGS}} ${64BIT_FLAG}")
        SET(${CXX_FLAGS} "${${CXX_FLAGS}} ${64BIT_FLAG}")
-       SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m64")
-       SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m64")
+       SET(${LD_FLAGS} "${${LD_FLAGS}} ${64BIT_FLAG}")
+       SET(${EXE_FLAGS} "${${EXE_FLAGS}} ${64BIT_FLAG}")
 ENDIF(BRLCAD-ENABLE_64BIT)
 
 # Forced 32 bit compilation flags
@@ -132,12 +140,11 @@
        CHECK_C_FLAG(q32 32BIT_FLAG)
        SET(${C_FLAGS} "${${C_FLAGS}} ${32BIT_FLAG}")
        SET(${CXX_FLAGS} "${${CXX_FLAGS}} ${32BIT_FLAG}")
-       SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m32")
-       SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m32")
+       SET(${LD_FLAGS} "${${LD_FLAGS}} ${32BIT_FLAG}")
+       SET(${EXE_FLAGS} "${${EXE_FLAGS}} ${32BIT_FLAG}")
 ENDIF(NOT BRLCAD-ENABLE_64BIT AND ${CMAKE_SIZEOF_VOID_P} MATCHES "^8$")
 
 
-
 IF(BRLCAD-ENABLE_PROFILING)
        CHECK_C_FLAG(pg PROFILE_FLAG)
        CHECK_C_FLAG(p PROFILE_FLAG)
@@ -152,7 +159,7 @@
 ENDIF(BRLCAD-ENABLE_PROFILING)
 
 # Debugging flags
-IF(BRLCAD-ENABLE_DEBUG_BUILD)
+IF(BRLCAD-ENABLE_DEBUG_FLAGS)
        IF(APPLE)
                EXEC_PROGRAM(sw_vers ARGS -productVersion OUTPUT_VARIABLE 
MACOSX_VERSION)
                IF(${MACOSX_VERSION} VERSION_LESS "10.5")
@@ -172,11 +179,10 @@
        CHECK_C_FLAG_GATHER("D_FORTIFY_SOURCE=2" DEBUG_FLAG)
        SET(${C_FLAGS} "${${C_FLAGS}} ${DEBUG_FLAG}")
        SET(${CXX_FLAGS} "${${CXX_FLAGS}} ${DEBUG_FLAG}")
-       SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${DEBUG_FLAG}")
-       SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} 
${DEBUG_FLAG}")
-       SET(CMAKE_SHARED_LINKER_FLAGS_${CFG_TYPE} 
"${CMAKE_SHARED_LINKER_FLAGS_${CFG_TYPE}} ${DEBUG_FLAG}")
+       SET(${LD_FLAGS} "${${LD_FLAGS}} ${DEBUG_FLAG}")
+       SET(${EXE_FLAGS} "${${EXE_FLAGS}} ${DEBUG_FLAG}")
        MARK_AS_ADVANCED(DEBUG_FLAG)
-ENDIF(BRLCAD-ENABLE_DEBUG_BUILD)
+ENDIF(BRLCAD-ENABLE_DEBUG_FLAGS)
 
 # -fast provokes a stack corruption in the shadow computations because
 # of strict aliasing getting enabled.  we _require_


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to