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