Revision: 40587
          http://brlcad.svn.sourceforge.net/brlcad/?rev=40587&view=rev
Author:   starseeker
Date:     2010-09-16 15:40:22 +0000 (Thu, 16 Sep 2010)

Log Message:
-----------
OK, here's how we'll handle BRL-CAD specific CFlags without roping in src/other 
libraries - make the strict flags an 'opt-in' option on a per-library basis in 
the BRLCAD_ADDLIB macro, and add the extra STRICT option to library targets 
that are supposed to support it.

Modified Paths:
--------------
    brlcad/branches/cmake/CMakeLists.txt
    brlcad/branches/cmake/misc/CMake/BRLCAD_Util.cmake
    brlcad/branches/cmake/src/libbn/CMakeLists.txt
    brlcad/branches/cmake/src/libbu/CMakeLists.txt

Modified: brlcad/branches/cmake/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/CMakeLists.txt        2010-09-16 12:10:45 UTC (rev 
40586)
+++ brlcad/branches/cmake/CMakeLists.txt        2010-09-16 15:40:22 UTC (rev 
40587)
@@ -470,7 +470,7 @@
 ENDIF(NOT BRLCAD-ENABLE_RUNTIME_DEBUG)
 
 # Enable/disable strict compiler settings
-OPTION(BRLCAD-ENABLE_STRICT "Use strict compiler settings" OFF)
+OPTION(BRLCAD-ENABLE_STRICT "Use strict compiler settings on libraries that 
support them" ON)
 MARK_AS_ADVANCED(BRLCAD-ENABLE_STRICT)
 
 # Build with O3 compiler optimization
@@ -777,8 +777,7 @@
 # Now that we're done running tests, we can enable strict flags if turned on
 if (BRLCAD-ENABLE_STRICT)
        FILE(APPEND  ${CONFIG_H_FILE} "#define STRICT_FLAGS 1\n")
-       SET(CMAKE_C_FLAGS "-pedantic -W -Wall -Werror -Wno-long-long")
-       SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}")
+       SET(STRICT_FLAGS "-pedantic -W -Wall -Werror -Wno-long-long" CACHE 
STRING "strict compiler flags")
 endif (BRLCAD-ENABLE_STRICT)
 
 

Modified: brlcad/branches/cmake/misc/CMake/BRLCAD_Util.cmake
===================================================================
--- brlcad/branches/cmake/misc/CMake/BRLCAD_Util.cmake  2010-09-16 12:10:45 UTC 
(rev 40586)
+++ brlcad/branches/cmake/misc/CMake/BRLCAD_Util.cmake  2010-09-16 15:40:22 UTC 
(rev 40587)
@@ -46,4 +46,21 @@
          ENDIF(WIN32)
          INSTALL(TARGETS ${libname}-static DESTINATION 
${BRLCAD_INSTALL_LIB_DIR})
   ENDIF(BUILD_STATIC_LIBS)
+
+  # Enable extra compiler flags if local libraries and/or global options 
dictate
+  SET(LOCAL_COMPILE_FLAGS "")
+  FOREACH(extraarg ${ARGN})
+         IF(${extraarg} MATCHES "STRICT" AND BRLCAD-ENABLE_STRICT)
+                 SET(LOCAL_COMPILE_FLAGS "${LOCAL_COMPILE_FLAGS} 
${STRICT_FLAGS}")
+         ENDIF(${extraarg} MATCHES "STRICT" AND BRLCAD-ENABLE_STRICT)
+  ENDFOREACH(extraarg ${ARGN})
+  IF(LOCAL_COMPILE_FLAGS)
+         IF(BUILD_SHARED_LIBS)
+                 SET_TARGET_PROPERTIES(${libname} PROPERTIES COMPILE_FLAGS 
${LOCAL_COMPILE_FLAGS})
+         ENDIF(BUILD_SHARED_LIBS)
+         IF(BUILD_STATIC_LIBS)
+                 SET_TARGET_PROPERTIES(${libname}-static PROPERTIES 
COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
+         ENDIF(BUILD_STATIC_LIBS)
+  ENDIF(LOCAL_COMPILE_FLAGS)
+
 ENDMACRO(BRLCAD_ADDLIB libname srcs libs)

Modified: brlcad/branches/cmake/src/libbn/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/src/libbn/CMakeLists.txt      2010-09-16 12:10:45 UTC 
(rev 40586)
+++ brlcad/branches/cmake/src/libbn/CMakeLists.txt      2010-09-16 15:40:22 UTC 
(rev 40587)
@@ -34,7 +34,7 @@
     wavelet.c
 )
 
-BRLCAD_ADDLIB(libbn "${LIBBN_SOURCES}" libbu)
+BRLCAD_ADDLIB(libbn "${LIBBN_SOURCES}" libbu STRICT)
 SET_TARGET_PROPERTIES(libbn PROPERTIES VERSION 19.0.1 SOVERSION 19)
 
 install(FILES libplot3.3 DESTINATION ${MAN_DIR}/man3)

Modified: brlcad/branches/cmake/src/libbu/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/src/libbu/CMakeLists.txt      2010-09-16 12:10:45 UTC 
(rev 40586)
+++ brlcad/branches/cmake/src/libbu/CMakeLists.txt      2010-09-16 15:40:22 UTC 
(rev 40587)
@@ -79,7 +79,7 @@
     xdr.c
 )
 
-BRLCAD_ADDLIB(libbu "${LIBBU_SOURCES}" "${CMAKE_THREAD_LIBS_INIT} 
${PNG_LIBRARY} ${TCL_LIBRARY}")
+BRLCAD_ADDLIB(libbu "${LIBBU_SOURCES}" "${CMAKE_THREAD_LIBS_INIT} 
${PNG_LIBRARY} ${TCL_LIBRARY}" STRICT)
 SET_TARGET_PROPERTIES(libbu PROPERTIES VERSION 19.0.1 SOVERSION 19)
 
 add_executable(htester htester.c)


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