Revision: 75743
          http://sourceforge.net/p/brlcad/code/75743
Author:   starseeker
Date:     2020-05-07 20:53:04 +0000 (Thu, 07 May 2020)
Log Message:
-----------
Quick stab at a header checking target.  To use:  cmake .. 
-DBRLCAD_HDR_CHECK=ON && make check-headers (or to test all in spite of 
failures: make check-headers -k)

Modified Paths:
--------------
    brlcad/trunk/include/CMakeLists.txt
    brlcad/trunk/include/analyze/CMakeLists.txt
    brlcad/trunk/include/bg/CMakeLists.txt
    brlcad/trunk/include/bn/CMakeLists.txt
    brlcad/trunk/include/brep/CMakeLists.txt
    brlcad/trunk/include/bu/CMakeLists.txt
    brlcad/trunk/include/dm/CMakeLists.txt
    brlcad/trunk/include/fb/CMakeLists.txt
    brlcad/trunk/include/gcv/CMakeLists.txt
    brlcad/trunk/include/ged/CMakeLists.txt
    brlcad/trunk/include/icv/CMakeLists.txt
    brlcad/trunk/include/nmg/CMakeLists.txt
    brlcad/trunk/include/optical/CMakeLists.txt
    brlcad/trunk/include/rt/CMakeLists.txt
    brlcad/trunk/misc/CMake/BRLCAD_Targets.cmake

Property Changed:
----------------
    brlcad/trunk/
    brlcad/trunk/include/

Index: brlcad/trunk
===================================================================
--- brlcad/trunk        2020-05-07 20:51:27 UTC (rev 75742)
+++ brlcad/trunk        2020-05-07 20:53:04 UTC (rev 75743)

Property changes on: brlcad/trunk
___________________________________________________________________
Modified: svn:mergeinfo
## -1,5 +1,5 ##
 
/brlcad/branches/RELEASE:57439,57447-57860,69901-69913,70323-70333,71915-72242,72525-72534,72826-72858,74376-74454,74964-75140,75682-75685
-/brlcad/branches/bioh:75720-75736
+/brlcad/branches/bioh:75720-75736,75740-75742
 
/brlcad/branches/brep-debug:61373,61375,61404,61427,61429,61470,61544,61567,61576,61999,62018,62094,62098,62107,62117,62406,62416-62519,62521-62584,62593-62614,62623,62658,62660-62674,62681-62771,62876,62901,62907,62910,62925,62928,62931-63025,63027,63051,63054-63056,63069,63071-63073,63122,63160-63161,63165,63171,63184,63187,63189-63190,63193-63196,63200,63202,63205-63210,63213,63219-63225,63232-63233,63236,63238,63338,63350-63353,63481,63618,63669,64173-64174,64176-64177,64229-64233,64242,64244,64360-64362,65165,65245,65249,65334,65833-65834,66370-66375,66931-66932,66934,67012-67015,67018-67019,67021-67022,67406,67740,67746-67748,67950,67952,68144-68145,68636,68640-68643,68820,69081,69109,69168,69206,69289,69346,69460-69461,69582-69583,69719-69721,69857-69859,69927,69995-69996,70148-70149,70347-70349,70377,70526-70527,71006-71007,71009-71022,71046-71047,71049,71096-71100
 /brlcad/branches/bullet:62518
 /brlcad/branches/cmake:43219
Index: brlcad/trunk/include
===================================================================
--- brlcad/trunk/include        2020-05-07 20:51:27 UTC (rev 75742)
+++ brlcad/trunk/include        2020-05-07 20:53:04 UTC (rev 75743)

Property changes on: brlcad/trunk/include
___________________________________________________________________
Modified: svn:mergeinfo
## -1,5 +1,5 ##
 
/brlcad/branches/RELEASE/include:57439,57447-57860,69901-69913,71915-72242,72525-72534,72826-72858,74376-74454,74964-75140
-/brlcad/branches/bioh/include:75720-75736
+/brlcad/branches/bioh/include:75720-75736,75740-75742
 
/brlcad/branches/brep-debug/include:61373,61375,61404,61427,61429,61470,61544,61567,61576,61999,62018,62094,62098,62107,62117,62406,62416-62519,62521-62584,62593-62614,62623,62658,62660-62674,62681-62771,62876,62901,62907,62910,62925,62928,62931-63025,63027,63051,63054-63056,63069,63071-63073,63122,63160-63161,63165,63171,63184,63187,63189-63190,63193-63196,63200,63202,63205-63210,63213,63219-63225,63232-63233,63236,63238,63338,63350-63353,63481,63618,63669,64173-64174,64176-64177,64229-64233,64242,64244,64360-64362,65165,65245,65249,65334,65833-65834,66370-66375,66931-66932,66934,67012-67015,67018-67019,67021-67022,67406,67740,67746-67748,67950,67952,68144-68145,68636,68640-68643,68820,69081,69109,69206,69289,69346,69460-69461,69582-69583,69719-69721,69857-69859,69927
 /brlcad/branches/bullet/include:62518
 /brlcad/branches/cmake/include:43219
Modified: brlcad/trunk/include/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/CMakeLists.txt 2020-05-07 20:51:27 UTC (rev 75742)
+++ brlcad/trunk/include/CMakeLists.txt 2020-05-07 20:53:04 UTC (rev 75743)
@@ -48,6 +48,8 @@
   )
 BRLCAD_MANAGE_FILES("${public_hdrs}" ${INCLUDE_DIR}/brlcad)
 
+BRLCAD_CHECK_HDRS(public_headers)
+
 BUILD_CFG_HDR(brlcad_ident.h.in ${INCLUDE_DIR}/brlcad)
 BUILD_CFG_HDR(brlcad_version.h.in ${INCLUDE_DIR}/brlcad)
 

Modified: brlcad/trunk/include/analyze/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/analyze/CMakeLists.txt 2020-05-07 20:51:27 UTC (rev 
75742)
+++ brlcad/trunk/include/analyze/CMakeLists.txt 2020-05-07 20:53:04 UTC (rev 
75743)
@@ -13,6 +13,9 @@
   worker.h
   )
 BRLCAD_MANAGE_FILES(analyze_headers ${INCLUDE_DIR}/brlcad/analyze)
+
+BRLCAD_CHECK_HDRS(analyze_headers)
+
 CMAKEFILES(CMakeLists.txt)
 
 # Local Variables:

Modified: brlcad/trunk/include/bg/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/bg/CMakeLists.txt      2020-05-07 20:51:27 UTC (rev 
75742)
+++ brlcad/trunk/include/bg/CMakeLists.txt      2020-05-07 20:53:04 UTC (rev 
75743)
@@ -13,6 +13,8 @@
   )
 BRLCAD_MANAGE_FILES(bg_headers ${INCLUDE_DIR}/brlcad/bg)
 
+BRLCAD_CHECK_HDRS(bg_headers)
+
 CMAKEFILES(pointgen.h)
 CMAKEFILES(CMakeLists.txt)
 

Modified: brlcad/trunk/include/bn/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/bn/CMakeLists.txt      2020-05-07 20:51:27 UTC (rev 
75742)
+++ brlcad/trunk/include/bn/CMakeLists.txt      2020-05-07 20:53:04 UTC (rev 
75743)
@@ -30,6 +30,8 @@
   )
 BRLCAD_MANAGE_FILES(bn_headers ${INCLUDE_DIR}/brlcad/bn)
 
+BRLCAD_CHECK_HDRS(bn_headers)
+
 CMAKEFILES(numgen.h)
 CMAKEFILES(CMakeLists.txt)
 

Modified: brlcad/trunk/include/brep/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/brep/CMakeLists.txt    2020-05-07 20:51:27 UTC (rev 
75742)
+++ brlcad/trunk/include/brep/CMakeLists.txt    2020-05-07 20:53:04 UTC (rev 
75743)
@@ -13,6 +13,9 @@
   util.h
   )
 BRLCAD_MANAGE_FILES(brep_headers ${INCLUDE_DIR}/brlcad/brep)
+
+BRLCAD_CHECK_HDRS(brep_headers)
+
 CMAKEFILES(CMakeLists.txt)
 CMAKEFILES(cdt2.h)
 

Modified: brlcad/trunk/include/bu/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/bu/CMakeLists.txt      2020-05-07 20:51:27 UTC (rev 
75742)
+++ brlcad/trunk/include/bu/CMakeLists.txt      2020-05-07 20:53:04 UTC (rev 
75743)
@@ -46,6 +46,9 @@
   vls.h
   )
 BRLCAD_MANAGE_FILES(bu_headers ${INCLUDE_DIR}/brlcad/bu)
+
+BRLCAD_CHECK_HDRS(bu_headers)
+
 CMAKEFILES(CMakeLists.txt)
 CMAKEFILES(column.h)
 CMAKEFILES(tbl.h)

Modified: brlcad/trunk/include/dm/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/dm/CMakeLists.txt      2020-05-07 20:51:27 UTC (rev 
75742)
+++ brlcad/trunk/include/dm/CMakeLists.txt      2020-05-07 20:53:04 UTC (rev 
75743)
@@ -5,6 +5,8 @@
   )
 BRLCAD_MANAGE_FILES(dm_headers ${INCLUDE_DIR}/brlcad/dm)
 
+BRLCAD_CHECK_HDRS(dm_headers)
+
 CMAKEFILES(dm-design.h)
 CMAKEFILES(CMakeLists.txt)
 

Modified: brlcad/trunk/include/fb/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/fb/CMakeLists.txt      2020-05-07 20:51:27 UTC (rev 
75742)
+++ brlcad/trunk/include/fb/CMakeLists.txt      2020-05-07 20:53:04 UTC (rev 
75743)
@@ -6,6 +6,8 @@
   fb_X.h
   )
 
+BRLCAD_CHECK_HDRS(fb_headers)
+
 CMAKEFILES(${fb_noinstall_headers})
 CMAKEFILES(CMakeLists.txt)
 

Modified: brlcad/trunk/include/gcv/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/gcv/CMakeLists.txt     2020-05-07 20:51:27 UTC (rev 
75742)
+++ brlcad/trunk/include/gcv/CMakeLists.txt     2020-05-07 20:53:04 UTC (rev 
75743)
@@ -4,6 +4,9 @@
   util.h
   )
 BRLCAD_MANAGE_FILES(gcv_headers ${INCLUDE_DIR}/brlcad/gcv)
+
+BRLCAD_CHECK_HDRS(gcv_headers)
+
 CMAKEFILES(CMakeLists.txt)
 
 # Local Variables:

Modified: brlcad/trunk/include/ged/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/ged/CMakeLists.txt     2020-05-07 20:51:27 UTC (rev 
75742)
+++ brlcad/trunk/include/ged/CMakeLists.txt     2020-05-07 20:53:04 UTC (rev 
75743)
@@ -12,6 +12,9 @@
   view.h
   )
 BRLCAD_MANAGE_FILES(ged_headers ${INCLUDE_DIR}/brlcad/ged)
+
+BRLCAD_CHECK_HDRS(ged_headers)
+
 CMAKEFILES(CMakeLists.txt)
 
 # Local Variables:

Modified: brlcad/trunk/include/icv/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/icv/CMakeLists.txt     2020-05-07 20:51:27 UTC (rev 
75742)
+++ brlcad/trunk/include/icv/CMakeLists.txt     2020-05-07 20:53:04 UTC (rev 
75743)
@@ -8,6 +8,9 @@
   stat.h
   )
 BRLCAD_MANAGE_FILES(icv_headers ${INCLUDE_DIR}/brlcad/icv)
+
+BRLCAD_CHECK_HDRS(icv_headers)
+
 CMAKEFILES(CMakeLists.txt)
 
 # Local Variables:

Modified: brlcad/trunk/include/nmg/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/nmg/CMakeLists.txt     2020-05-07 20:51:27 UTC (rev 
75742)
+++ brlcad/trunk/include/nmg/CMakeLists.txt     2020-05-07 20:53:04 UTC (rev 
75743)
@@ -2,6 +2,9 @@
   debug.h
   )
 BRLCAD_MANAGE_FILES(nmg_headers ${INCLUDE_DIR}/brlcad/nmg)
+
+BRLCAD_CHECK_HDRS(nmg_headers)
+
 CMAKEFILES(CMakeLists.txt)
 
 # Local Variables:

Modified: brlcad/trunk/include/optical/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/optical/CMakeLists.txt 2020-05-07 20:51:27 UTC (rev 
75742)
+++ brlcad/trunk/include/optical/CMakeLists.txt 2020-05-07 20:53:04 UTC (rev 
75743)
@@ -7,6 +7,9 @@
   shadefuncs.h
   )
 BRLCAD_MANAGE_FILES(optical_headers ${INCLUDE_DIR}/brlcad/optical)
+
+BRLCAD_CHECK_HDRS(optical_headers)
+
 CMAKEFILES(CMakeLists.txt)
 
 # Local Variables:

Modified: brlcad/trunk/include/rt/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/rt/CMakeLists.txt      2020-05-07 20:51:27 UTC (rev 
75742)
+++ brlcad/trunk/include/rt/CMakeLists.txt      2020-05-07 20:53:04 UTC (rev 
75743)
@@ -12,7 +12,6 @@
   db4.h
   db5.h
   db_attr.h
-  db_attr.h
   db_diff.h
   db_fullpath.h
   db_instance.h
@@ -61,6 +60,9 @@
   xray.h
   )
 BRLCAD_MANAGE_FILES(rt_headers ${INCLUDE_DIR}/brlcad/rt)
+
+BRLCAD_CHECK_HDRS(rt_headers)
+
 CMAKEFILES(CMakeLists.txt)
 CMAKEFILES(db_fp.h)
 

Modified: brlcad/trunk/misc/CMake/BRLCAD_Targets.cmake
===================================================================
--- brlcad/trunk/misc/CMake/BRLCAD_Targets.cmake        2020-05-07 20:51:27 UTC 
(rev 75742)
+++ brlcad/trunk/misc/CMake/BRLCAD_Targets.cmake        2020-05-07 20:53:04 UTC 
(rev 75743)
@@ -536,6 +536,47 @@
 endfunction(BRLCAD_ADDLIB libname srcslist libslist)
 
 #-----------------------------------------------------------------------------
+# Compile test for isolated header files, to check that they are self contained
+if (DEFINED BRLCAD_HDR_CHECK)
+  add_custom_target(check-headers ALL)
+  set_target_properties(check-headers PROPERTIES FOLDER "BRL-CAD Header 
Checks")
+endif (DEFINED BRLCAD_HDR_CHECK)
+
+function(BRLCAD_CHECK_HDRS hdrfiles)
+
+  if (DEFINED BRLCAD_HDR_CHECK)
+    if (MSVC)
+      # Don't know how to do this on Windows
+      return()
+    endif()
+
+    get_filename_component(SRCDIR "${CMAKE_CURRENT_SOURCE_DIR}" NAME)
+
+    foreach(hdrfile ${${hdrfiles}})
+
+      string(REPLACE "-" "_" STMPFILE "${SRCDIR}_${hdrfile}")
+      string(REPLACE "." "_" STMPFILE "${STMPFILE}")
+      string(REPLACE "/" "_" STMPFILE "${STMPFILE}")
+
+      add_custom_command(
+       OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${STMPFILE}.stamp
+       COMMAND ${CMAKE_CXX_COMPILER} -I${CMAKE_SOURCE_DIR}/include 
-I${CMAKE_SOURCE_DIR}/src/other/openNURBS
+       -I${CMAKE_SOURCE_DIR}/src/other/tcl/generic -fsyntax-only -Wall -Wextra 
-Wno-deprecated
+       ${CMAKE_CURRENT_SOURCE_DIR}/${hdrfile}
+       COMMAND ${CMAKE_COMMAND} -E touch 
${CMAKE_CURRENT_BINARY_DIR}/${hdrfile}.stamp
+       DEPENDS ${hdrfile}
+       )
+      add_custom_target(${STMPFILE}-check DEPENDS 
${CMAKE_CURRENT_BINARY_DIR}/${STMPFILE}.stamp)
+      set_target_properties(${STMPFILE}-check PROPERTIES FOLDER "BRL-CAD 
Header Checks")
+
+      add_dependencies(check-headers ${STMPFILE}-check)
+
+    endforeach(hdrfile ${${hdrfiles}})
+  endif (DEFINED BRLCAD_HDR_CHECK)
+
+endfunction()
+
+#-----------------------------------------------------------------------------
 # For situations when a local 3rd party library (say, zlib) has been chosen in
 # preference to a system version of that library, it is important to ensure
 # that the local header(s) get included before the system headers.  Normally

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



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to